Ubuntu WordPress 설치 및 설정

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 를 클릭하여 글을 게시한다.

참고

Ubuntu Apache 웹서버 설치

답글 남기기