2026-04-11

Vagrant — Ubuntu에 WordPress 구축하기

실습 목표

Ubuntu VM에 LAMP 스택(Apache2, MySQL, PHP)을 설치하고, WordPress를 배포하는 과정이다.


VM 생성

mkdir wordpress cd wordpress vagrant init bento/ubuntu-22.04

Vagrantfile에서 메모리를 넉넉하게 설정한다. WordPress + MySQL + PHP를 함께 돌려야 하기 때문이다.

config.vm.provider "vmware_desktop" do |wm| wm.memory = 1600 end
vagrant up

hostname 설정

VM 접속 후 호스트 이름을 설정한다. 여러 VM을 운영할 때 터미널 프롬프트에서 어떤 서버인지 구분하기 위한 과정이다.

vagrant ssh sudo -i echo "wordpress" > /etc/hostname logout

재접속하면 프롬프트에 wordpress가 표시된다.


1. 의존성 설치

sudo apt update sudo apt install apache2 \ ghostscript \ libapache2-mod-php \ mysql-server \ php \ php-bcmath \ php-curl \ php-imagick \ php-intl \ php-json \ php-mbstring \ php-mysql \ php-xml \ php-zip -y

2. WordPress 설치

sudo mkdir -p /srv/www sudo chown www-data: /srv/www curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /srv/www

/srv/www/wordpress/에 파일이 배치된다.


3. Apache 설정

WordPress용 가상 호스트 설정 파일을 생성한다.

sudo vi /etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80> DocumentRoot /srv/www/wordpress <Directory /srv/www/wordpress> Options FollowSymLinks AllowOverride Limit Options FileInfo DirectoryIndex index.php Require all granted </Directory> <Directory /srv/www/wordpress/wp-content> Options FollowSymLinks Require all granted </Directory> </VirtualHost>

설정을 적용한다.

sudo a2ensite wordpress # WordPress 사이트 활성화 sudo a2enmod rewrite # URL 재작성 모듈 활성화 sudo a2dissite 000-default # 기본 사이트 비활성화 sudo service apache2 reload

4. 데이터베이스 설정

MySQL에 접속해 WordPress용 데이터베이스와 사용자를 생성한다.

sudo mysql -u root
CREATE DATABASE wordpress; CREATE USER wordpress@localhost IDENTIFIED BY '<your-password>'; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON wordpress.* TO wordpress@localhost; FLUSH PRIVILEGES; quit

<your-password> 부분을 실제 비밀번호로 바꿔야 한다. 이 비밀번호는 다음 단계의 wp-config.php 설정과 일치해야 한다.


5. WordPress - DB 연결 설정

설정 파일을 복사한다.

sudo -u www-data cp /srv/www/wordpress/wp-config-sample.php /srv/www/wordpress/wp-config.php

DB 접속 정보를 입력한다.

sudo -u www-data sed -i 's/database_name_here/wordpress/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/username_here/wordpress/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/password_here/<your-password>/' /srv/www/wordpress/wp-config.php

Salt 키 설정

wp-config.php를 열어 put your unique phrase here로 되어있는 8줄을 삭제하고, 아래 URL에서 생성된 고유 값으로 대체한다.

https://api.wordpress.org/secret-key/1.1/salt/

가이드의 샘플 값을 그대로 사용하면 안 된다. 반드시 위 URL에서 새로 생성해야 한다.


6. WordPress 초기 설정

브라우저에서 VM의 IP로 접속하면 WordPress 설정 화면이 나타난다. 사이트 제목, 관리자 계정 등을 설정하면 완료다.