메모

오라클 버츄얼박스(VirtualBox) 가상 컴퓨터 서버설치하기(Apache,PHP,Mysql)

어렵지만 2025. 7. 31. 16:25

사용하던 AWS가 무료 버전이 기한이 다 되어 내 컴퓨터에 가상 컴퓨터를 설치하여 서버를 만들어 AWS 서버를 대체 하기로 했다.

 

서버를 만들면서 글을 작성해야하는데 순전히 다 만들고 기억나는대로 작성하였기 때문에 맥락이 맞지 않을 수도 있습니다.

 

먼저 아래 링크에서 버츄얼 박스를 다운 받는다 필자는 윈도우 임으로 윈도우 버전으로 다운 받았다.

 

https://www.oracle.com/kr/virtualization/technologies/vm/downloads/virtualbox-downloads.html?source=:ow:o:p:nav:mmddyyVirtualBoxHero_kr&intcmp=:ow:o:p:nav:mmddyyVirtualBoxHero_kr

 

 

다음은 ubuntu iso파일을 다운 받는다.

필자는 Ubuntu 24.04.2 LTS으로 다운 받았다.

 

https://ubuntu.com/download/desktop

 

Download Ubuntu Desktop | Ubuntu

Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.

ubuntu.com

 

 

다음은 버추얼박스를 실행하여 가상 컴퓨터를 만들어준다

 

 

컴퓨터 사양은 편할대로 정한다.

 

#포트설정

Apache 연결용 : 외부 PC → 가상서버(웹)으로 접근가능

Vscode 연결용 : vscode → 우분투 SSH 연결 가능

 

다음은 다운받은 iso 파일을 넣어준다.

 

우분투를 설치한다.

 

 

터미널에서 아래의 명령어를 입력합니다.

Apache 설치 

-아래-

# 패키지 목록을 최신 상태로 업데이트합니다.
sudo apt update

# Apache2 설치
sudo apt install apache2 -y

# 방화벽 설정 (Apache 포트 80, 443 허용)
# 'ufw'가 설치되어 있다고 가정합니다. 없다면 'sudo apt install ufw'로 설치하세요.
sudo ufw allow 'Apache Full' ←(꼭 해주세요, 로컬 PC의 웹브라우저에서 가상우분투 서버로 접속하기위한 설정)

# 방화벽 상태 확인
sudo ufw status

 

설치 확인: 웹 브라우저를 열고 서버의 IP 주소나 도메인 이름(http://your_server_ip)으로 접속해보세요. 
Apache의 기본 페이지가 보이면 성공적으로 설치된 것입니다.

 

터미널에서 아래의 명령어를 입력합니다.

Mysql 설치 

 

# MySQL Server 설치
sudo apt install mysql-server -y

 

# MySQL 포트설정(기본포트는 3306)

sudo ufw allow mysql

 

#MySQL 실행

sudo systemctl start mysql

 

#서버 재시작시 MySQL 자동 재시작 설정 방법 (권장사항)

sudo systemctl enable mysql

 

# MySQL 보안 설정 (중요!)
# 이 스크립트는 루트 계정 비밀번호 설정, 익명 사용자 제거, 원격 루트 로그인 비활성화 등을 수행합니다.
sudo mysql_secure_installation

 

  • sudo mysql_secure_installation을 실행하면 몇 가지 질문이 나올 것입니다.
  • VALIDATE PASSWORD COMPONENT: 비밀번호 강도 검증을 사용할지 묻습니다. y를 입력하고 원하는 강도를 선택하세요.
  • New password for root user: MySQL root 계정의 새 비밀번호를 설정합니다. 이 비밀번호를 꼭 기억하세요.
  • Remove anonymous users?: y (예)
  • Disallow root login remotely?: y (예)
  • Remove test database and access to it?: y (예)
  • Reload privilege tables now?: y (예)

#mysql 접속
sudo mysql -u root


#root 계정 비밀번호 설정
ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';

(데이터베이스 사용자 아이디와 비밀번호가 설정이 되지 않음 SSH연결로 DB소프트웨어인 hedisql에 연결할때 어려움이 있음)
 

#변경된 비밀번호 적용하기
FLUSH PRIVILEGES;

 

터미널에서 아래의 명령어를 입력합니다.

PHP 설치 

 

$ sudo apt-get install php

 

#이제 PHP가 Apache에서 올바르게 작동하는지 테스트해봅시다.

sudo nano /var/www/html/info.php

 

파일 내용 작성:
nano 편집기에서 다음 내용을 입력하고 저장합니다 (Ctrl+X, Y, Enter).

<?php
phpinfo();
?>

 

테스트:
웹 브라우저에서 http://your_server_ip/info.php로 접속합니다. PHP 정보 페이지가 나타나면 PHP가 Apache와 함께 성공적으로 작동하는 것입니다.

 

iP주소 확인 하기

sudo apt update
sudo apt install net-tools

ifconfig

 

 

첫번째 inet은 가상 컴퓨터의IP주소입니다.

두번째 inet은 로컬 루브백 인터페이스 입니다 (127.0.0.1)