SW/리눅스

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어

얇은생각 2020. 12. 20. 07:30
반응형

WordPress는 전세계 웹 사이트의 4분의 1을 넘는 가장 인기 있는 오픈 소스 블로그 및 CMS 플랫폼입니다. PHP와 MySQL을 기반으로 하며 무료 및 프리미엄 플러그인과 테마를 통해 확장할 수 있는 다양한 기능을 제공합니다. WordPress는 온라인 상점, 웹 사이트 또는 블로그를 만드는 가장 간단한 방법입니다. 

Ubuntu 18.04 기계에 WordPress를 설치하는 방법을 보여드리겠습니다. 이 프로세스는 완료하는 데 10분도 걸리지 않는 매우 간단한 프로세스입니다.

Nginx가 포함된 LEMP 스택을 웹 서버, SSL 인증서, 최신 PHP 7.2 및 MySQL/MariaDB를 데이터베이스 서버로 사용합니다.

 

 

 

필수 구성 요소

이 튜토리얼을 계속하기 전에 다음 필수 구성 요소를 충족했는지 확인합니다.

- 서버 공용 IP를 가리키는 도메인 이름이 있습니다. example.com을 사용

- sudo 권한을 가진 사용자로 로그인

- Nginx를 설치

도메인에 대해 설치된 SSL 인증서입니다. 다음 지침에 따라 무료 SSL 암호화 인증서를 설치할 수 있습니다.

패키지 인덱스 및 시스템 패키지를 최신 버전으로 업데이트합니다.

sudo apt update
sudo apt upgrade

 

 

 

MySQL 데이터베이스 생성

WordPress는 MySQL 데이터베이스를 사용하여 모든 데이터를 저장합니다. 첫 번째 단계는 MySQL 데이터베이스, MySQL 사용자 계정을 생성하고 데이터베이스에 대한 액세스 권한을 부여하는 것입니다.

Ubuntu 서버에 MySQL 또는 MariaDB가 아직 설치되어 있지 않은 경우 이전 포스팅을 참조하여 따라 설치할 수 있습니다.

다음 명령을 입력하여 MySQL 셸에 로그인하고 메시지가 표시되면 암호를 입력합니다.

mysql -u root -p

 

 

MySQL 셸 내에서 다음 SQL 문을 실행하여 wordpress라는 데이터베이스, wordpressuser라는 사용자 및 사용자에게 필요한 모든 권한을 부여합니다.

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
FLUSH PRIVILEGES;
EXIT;

 

 

위의 명령을 실행하면 WordPress 인스턴스에서 사용할 새 MySQL 데이터베이스와 사용자 계정이 생성됩니다.

 

 

 

PHP 설치

WordPress에는 Ubuntu 18.04의 기본 PHP 버전인 PHP 7.2가 완전히 지원되며 권장됩니다.

PHP 및 필요한 모든 PHP 확장을 설치하려면 다음 명령을 실행합니다.

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

 

 

우리는 Nginx를 웹 서버로 사용하기 때문에 PHP-FPM을 설치했습니다. 

설치 프로세스가 완료되면 PHP-FPM 서비스가 자동으로 시작됩니다.

 

 

 

Wordpress 다운로드

Wordpress 아카이브를 다운로드하기 전에 먼저 WordPress 파일을 저장할 디렉터리를 만듭니다.

sudo mkdir -p /var/www/html/example.com

 

 

다음 단계에서는 다음 wget 명령을 사용하여 WordPress 다운로드 페이지에서 최신 버전의 WordPress를 다운로드합니다. 

cd /tmp
wget https://wordpress.org/latest.tar.gz

 

 

다운로드가 완료되면 WordPress 아카이브의 압축을 풀고 추출된 파일을 도메인의 문서 루트 디렉터리로 이동합니다.

tar xf latest.tar.gz
sudo mv /tmp/wordpress/* /var/www/html/example.com/

 

 

마지막으로 웹 서버가 사이트의 파일 및 디렉토리에 완전히 액세스할 수 있도록 올바른 사용 권한을 설정해야 합니다.

Nginx와 PHP 모두 www-data 사용자 및 그룹으로 실행 중이므로 올바른 소유권을 설정하려면 다음 chown 명령을 실행합니다.

sudo chown -R www-data: /var/www/html/example.com

 

 

 

Nginx 구성

이 튜토리얼의 필수 구성 요소를 확인하지 않으면 시스템에 SSL 인증서가 설치된 Nginx가 이미 설치되어 있어야 합니다.

WordPress 인스턴스에 대한 새 서버 블록을 생성하기 위해 공식 Nginx 사이트의 Nginx Recipe를 사용합니다.

텍스트 편집기를 열고 다음 파일을 만듭니다.

# /etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

 

 

example.com을 Wordpress 도메인으로 교체하고 SSL 인증서 파일의 올바른 경로를 설정해야 합니다. 이 구성에 사용된 스니펫은 이 가이드 에 작성되어 있습니다.

사이트 사용 디렉토리에 대한 심볼 링크를 만들어 서버 차단을 활성화합니다.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

 

 

Nginx 서비스를 다시 시작하기 전에 구문 오류가 없는지 테스트합니다.

sudo nginx -t

 

 

오류가 없는 경우 출력은 다음과 같아야 합니다.

# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful

 

 

다음을 입력하여 Nginx를 다시 시작할 수 있습니다.

sudo systemctl restart nginx

 

 

 

WordPress 설치 완료

Wordpress가 다운로드되고 서버 구성이 완료되었으므로 웹 인터페이스를 통해 설치를 완료할 수 있습니다.

브라우저를 열고 도메인을 입력하면 다음과 유사한 화면이 나타납니다.

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 1

 

 

사용할 언어를 선택하고 계속 버튼을 클릭합니다.

다음으로, 다음 정보 페이지가 나타납니다. 시작! 버튼을 클릭합니다.

 Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 2

 

 

다음 화면에서 설치 마법사가 데이터베이스 연결 세부 정보를 입력하라는 메시지를 표시합니다. 이전에 작성한 MySQL 사용자 및 데이터베이스 세부 정보를 입력합니다.

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 3

 

 

설치 워드프레스 설치 실행을 누릅니다.

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 4

 

 

다음 단계에서는 WordPress 사이트의 이름을 입력하고 사용자 이름을 선택해야 합니다(보안 목적으로 "admin"을 입력하지 않음). 

설치 관리자가 자동으로 강력한 암호를 생성합니다. 이 암호를 저장하는 것을 잊지 마세요. 사용자가 직접 암호를 설정할 수도 있습니다. 

전자 메일 주소를 입력하고 검색 엔진이 사이트를 인덱싱하지 않도록 할지 여부를 선택합니다(권장하지 않음).

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 5

 

 

WordPress 설치를 클릭하면 설치가 완료되면 WordPress가 설치되었음을 알리는 페이지가 표시됩니다. WordPress 로그인 양식에 액세스하려면 로그인 버튼을 클릭합니다.

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 6

 

 

사용자 이름과 암호를 입력하고 로그인 버튼을 클릭합니다.

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 7

 

 

로그인하면 WordPress 관리 대시보드로 리디렉션됩니다.

Ubuntu 18.04 : Nginx로 WordPress 설치하는 방법, 예제, 명령어 8

 

 

여기서 새 테마 및 플러그인을 설치하여 WordPress 설치를 사용자 정의할 수 있습니다.

반응형