WordPress(워드 프레스)는 가장 인기 있는 오픈 소스 블로그 시스템이자 웹CMS이다. PHP와 MySQL을 기반으로 하고 있으며, 수천개의 무료 플러그인과 테마로 기능을 확장 할 수 있다. 이 글에서는 Ubuntu 서버에 WordPress를 설치하는 방법에 대해 알아본다.
패키지 설치
WordPress를 설치하기 위해 필요한 패키지들을 설치한다.
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
WordPress 설치
Ubuntu 아카이브의 apt
패키지 대신 WordPress.org의 릴리즈를 설치하려고 한다. 이는 WordPress에서 선호하는 방벙이기 때문이다.
WordPress.org 에서 최신 파일을 다운로드 받아 웹서비스를 할 디렉토리에 위치 시킨다.
curl https://wordpress.org/latest.tar.gz | sudo tar zx -C /var/www/
WordPress용 Apache 구성
WordPress용 Apache 사이트를 만든다. /etc/apache2/sites-available/wordpress.conf
파일을 생성하고 아래와 같이 구성한다.
<VirtualHost *:80>
DocumentRoot /var/www/wordpress
<Directory /var/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
Require all granted
</Directory>
<Directory /var/www/wordpress/wp-content>
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
WordPress 사이트를 활성화 한다.
sudo a2ensite wordpress
URL 재작성(rewrite)를 활성화 한다.
sudo a2enmod rewrite
기본 conf를 비활성화 한다.
sudo a2dissite 000-default
apache2 를 다시 로드한다.
sudo systemctl restart apache2
localhost 로 접속해 본다. 아래와 같이 나오면 일단 WordPress는 웹호스팅이 되는 것으로 다음 데이터베이스 설정으로 넘어간다.

Ubuntu에서 Apache 설치는 아래글을 참조하기 바란다.
데이터베이스 구성
WordPress를 구성하려면 MySQL 데이터베이스를 생성해야 한다. “sudo mysql -u root
” 를 수행하여 아래와 같이 입력하여 MySQL을 활성화 한다.
$ sudo mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.34-0ubuntu0.22.04.1 (Ubuntu)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.49 sec)
mysql> CREATE USER wordpress@localhost IDENTIFIED BY '<your-password>';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
-> ON wordpress.*
-> TO wordpress@localhost;
Query OK, 0 rows affected (0.52 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
입력을 완료했으면, MySQL 서비스를 시작한다.
sudo systemctl start mysql
데이터베이스를 사용하도록 WordPress 구성
데이터베이스를 사용하도록 WordPress를 구성한다. 먼저 샘플 구성 파일(wp-config.php
)을 WordPress 홈 디렉토리에 위치 시킨다.
sudo cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
wp-config.php 파일에서 아래 명령을 하여 database_name_here
/username_here
대신에 wordpress
, password_here
대신에 <your-password>
를 입력한다.
sudo sed -i 's/database_name_here/wordpress/' /var/www/wordpress/wp-config.php
sudo sed -i 's/username_here/wordpress/' /var/www/wordpress/wp-config.php
sudo sed -i 's/password_here/<your-password>/' /var/www/wordpress/wp-config.php
그 다음 아래 문구들을 찾아 삭제하고, https://api.wordpress.org/secret-key/1.1/salt/ 내용으로 바꾼다.
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
WordPress구성
브라우저에서 http://localhost 을 열어보자.아래와 같이 http://localhost/wp-admin/install.php 가 열리면, 새 사이트의 제목(Site Title), 사용자 이름(Username), 비밀번호(Password), 이메일 주소(Your Email)를 입력한다. 사이트가 검색 엔진에 의해 색인화되도록 할지 여부를 선택할 수 있다.

입력을 완료하고 나면 아래와 같이 성공(Success!) 페이지가 로딩된다.

Log In 을 클릭하면 http://localhost/wp-login.php 가 로딩되고 로그인할 수 있다. 위 install.php 에서 설정한 Username과 Password로 로그인한다.

로그인을 하면 아래와 같이 admin 페이지가 로딩된다.

Blog 글 작성 및 게시
블로그 글을 하나 작성하여 게시해 보자. Posts
메뉴를 선택하고 Add New
를 Click하여 빈 페이지를 생성한다.

빈페이지가 생성됐으면 아래와 같이 간단히 내용을 작성하고, Save draft
를 클릭하여 임시로 저장하고, Preview in new tab
을 클릭한다.

new tab
으로 이동하여 작성한 페이지 내용을 확인한다.

내용을 모두 작성한 후에 Pulish
를 클릭하여 글을 게시한다.