우분투에 워드프레스 설치하기 (Ubuntu + nginx + MariaDB + WordPress) – Nginx, MariaDB, PHP, 워드프레스 설치

Posted by
6 min read

이 글의 순서는 다음과 같습니다.

이전 글에서 인스턴스를 생성하고 서버 설정을 마쳤다면, 이번 글에서는 LEMP스택을 설치할 예정입니다. 이번 연재작의 주제인 LEMP와 워드프레스를 다루는 글이죠.

우선 자신의 서버에 접속한 다음 아래 글을 순서대로 따라합니다.

엔진엑스 설치하기

apt를 통해 설치하려면 다음 커맨드를 입력해줍니다.

sudo apt-get install nginx

설치중 오류가 난다면 apt리스트를 업데이트 해주세요. 오류가 나지 않고 엔진엑스가 돌아가고 있다면 서버의 아이피 주소로 접속해봅니다. 아래처럼 Welcome to Nginx 가 나오면 설치에 성공하고 방화벽을 설치할 필요가 없는 것 입니다.

만약 아래와 같이 연결할 수 없음이 뜬다면, 방화벽을 설정해야합니다.

방화벽 설정은 아래 커맨드를 입력하면 됩니다.

sudo ufw allow 80

PHP 설치하기

워드프레스를 돌리기 위해서는 가장 중요한 것은 워드프레스가 php로 작성되었기에 웹서버가 .php 파일을 해석할 수 있어야합니다. 이전 단계에서 설치했던 nginx는 Apache와 달리 html 같은 기본적인 마크업 언어의 파일만 해석할 수 있을 뿐 php파일은 해석하지 못합니다. 이를위해서 nginx + php 조합에서는 php-fpm 이란 것을 설치해야 엔진엑스에서 워드프레스를 돌릴 수 있습니다.

php는 5.6 에 비해서 7버전의 성능이 월등히 뛰어납니다. 이 글을 쓰고 있는 지금, PHP7.4가 정식 버전이므로 PHP7.4를 설치해 볼것입니다.

먼저, apt에 php7.4를 추가하기 위해서는 아래 커맨드를 입력해야합니다.

sudo add-apt-repository ppa:ondrej/php

만약 아래와 같은 오류가 뜬다면 apt를 이용해 software-properties-common를 설치해줍니다.

apt에 레포지토리를 추가하였다면, 이제 PHP7.4를 설치할 수 있습니다. 다음 커맨드를 입력하여 PHP7.4와 필수 모듈들을 설치합니다.

sudo apt-get install php7.4-fpm php7.4-cli php7.4-curl php7.4-gd php7.4-mysql php7.4-mbstring php7.4-mysql zip unzip

위 작업이 완료되었다면 PHP를 실행합니다.

sudo service php7.4-fpm start

이제 엔진엑스에 PHP를 연결해주어야 합니다. 선호하는 편집기를 이용해 /etc/nginx/sites-available/default 파일을 열어줍니다. 이 글에서는 nano를 사용할 것 입니다.

sudo nano /etc/nginx/sites-available/default

파일을 열었다면, Ctrl+K를 이용해 모든 라인을 지우고 아래 내용을 추가해줍니다.

server {
    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
        try_files $uri $uri/ =404;
       if (!-e $request_filename) {
         rewrite ^.*$ /index.php last;
       }
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
   }
}

Ctrl+s, Ctrl+X 를 차례대로 눌러 파일을 저장하고 nano편집기를 종료합니다. 이제 엔진엑스를 재시작하기 전에 아래 커맨드를 입력하여 설정 파일이 올바른지 확인합니다.

sudo nginx -t

오류가 발생하지 않았다면 아래 커맨드를 이용해 엔진엑스를 재시작합니다.

sudo service nginx restart

PHP가 정상적으로 돌아가는지 확인하기 위해서, /var/www/html 디렉토리에 index.php란 파일을 만들고 아래 내용을 추가해봅니다.

<?php phpinfo(); ?>

브라우저로 서버에 연결했을 때아래와 같이 잘 나온다면 PHP가 정상적으로 돌아가고 있는것입니다.

저번 글에서 서버의 타임존을 변경해놨다고 PHP의 타임존이 변경되지는 않습니다. 아래 커맨드를 실행하여 nano편집기로 php설정파일을 엽니다.

sudo nano /etc/php/7.4/fpm/php.ini

Ctrl+W를 눌러 ;date.timezone을 찾습니다.

date.timezone의 주석을 풀고 Asia/Seoul을 입력합니다.

모두 완료되었다면 아래 커맨드로 php를 재시작합니다.

sudo systemctl restart php7.4-fpm

MariaDB설치하기

apt레포지토리는 실제 릴리즈에 비해 버전이 낮을 수 있으니 직접 apt 레포지토리를 추가해야합니다. MariaDB 다운로드 에서 자신의 우분투 버전 및 쓰고싶은 미러를 클릭하면 나오는 커맨드를 콘솔에 붙여넣습니다.(apt install mariadb-server포함)

만약 설치 중에 루트 비밀번호를 설정하였다면 이 방법을 따라하지 않아도 됩니다. 설치 중에 루트 비밀번호를 설정하지 않았다면 아래 커맨드를 이용해 mariadb를 설정합니다.

sudo mysql_secure_installation

현재 비밀먼호를 물어보면 없으니 엔터, 그후론 물어보는거 잘 답해주면 됩니다.

이제 워드프레스를 위한 데이터베이스를 만들어야합니다. 먼저, DB에 접속해야하니 커맨드를 실행합니다.

sudo mysql -p

비밀번호를 입력하고 DB에 접속 되었다면 데이터베이스를 만들어야합니다. 아래 커맨드를 실행합니다.

CREATE DATABASE 만들고싶은 DB이름;

워드프레스 최신 버전 설치하기

워드프레스는 크게 2가지 방법으로 서버에 설치할 수 있습니다. FTP프로그램이 깔려 있다면 컴퓨터로 워드프레스 다운 후 FTP로 올리는 방법과, 콘솔에서 직접 다운로드 하는 방법이 있습니다. 이 글에서는 콘솔에서 직접 다운로드 하는 방법으로 진행할 예정입니다.

고맙게도, 워드프레스의 최신 버전 다운로드 링크는 정해져 있습니다. 만약 다운로드 중 404 오류가 뜬다면 워드프레스 다운로드 페이지에 가서 다운로드 링크를 복사해주세요.

wget https://wordpress.org/latest.zip

아무런 오류 없이 다운로드가 완료되었다면, 이제 압축을 풀어야합니다. 저번 글에서 unzip을 설치했으니 간단하게 아래 커맨드를 실행합니다. 만약, 저번 글을 따라하지 않았다면 sudo apt install unzip 을 실행하여 unzip을 설치합니다.

unzip latest.zip

압축이 풀렸다면 이제 웹 파일 경로에 압축 푼 파일을 복사해야합니다. 아래처럼 cp커맨드를 이용해 wordpress폴더를 html폴더로 복사합니다.

cp wordpress/. /var/www/html

이제 웹에 들어가봅니다.

워드프레스의 언어를 선택하는 화면이 나온다면, 이번 글은 끝났습니다. 워드프레스에서 물어보는 대로 답하면 워드프레스 설정이 완료됩니다. 다음 글을 보며 SSL인증서를 설치해 SEO순위를 높여보세요.

One comment

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다