SW/리눅스

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어

얇은생각 2021. 3. 23. 07:30
반응형

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

CentOS 7에 WordPress를 설치하는 방법에 대해 설명합니다. 이 프로세스는 완료하는 데 10분도 걸리지 않는 매우 간단한 프로세스입니다.

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

 

 

 

전제조건

계속 진행하기 전에 다음 전제 조건이 충족되는지 확인하십시오. 

- 도메인 이름이 서버 공용 IP 주소를 가리킵니다. 이 튜토리얼에서는 example.com을 사용합니다.

- sudo 권한을 가진 사용자로 로그인합니다.

- 이전 포스팅에 따라, Nginx를 설치합니다.

- 도메인에 대한 SSL 인증서가 설치되어 있습니다. 이전 포스팅에 따라, SSL을 암호화할 수 있는 무료 Let's Encrypt 인증서를 생성할 수 있습니다.

 

 

 

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;

 

 

 

PHP 7.2 설치

CentOS 7은 PHP 버전 5.4와 함께 제공됩니다. WordPress의 권장 PHP 버전은 PHP 7.2입니다.

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

sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php72
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl

 

 

Nginx를 웹 서버로 사용할 예정이기 때문에 PHP FPM을 설치했습니다.

기본적으로 PHP FPM은 포트 9000에서 사용자 apache로 실행됩니다. 사용자를 nginx로 변경하고 TCP 소켓에서 Unix 소켓으로 전환합니다. 이렇게 하려면 /etc/php-fpm.d/www.conf 파일을 여십시오. 노란색으로 강조 표시된 줄을 편집하십시오.

# /etc/php-fpm.d/www.conf

...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx

 

 

다음 chown 명령을 사용하여 /var/lib/php 디렉토리의 소유권이 올바른지 확인합니다.

sudo chown -R root:nginx /var/lib/php

 

 

변경했으면 PHP FPM 서비스를 활성화하고 시작합니다.

sudo systemctl enable php-fpm
sudo systemctl start php-fpm 

 

 

 

워드프레스 다운로드

WordPress 아카이브를 다운로드하기 전에 먼저 WordPress 파일을 저장할 디렉토리를 생성합니다.

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

 

 

다음 단계는 WordPress 다운로드 페이지에서 다음 wget 명령을 사용하여 최신 버전의 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/

 

 

웹 서버가 사이트의 파일 및 디렉터리에 대한 전체 액세스 권한을 가질 수 있도록 올바른 권한을 설정하십시오.

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

 

 

 

Nginx 구성

이 튜토리얼의 사전 요구 사항을 확인하지 않은 경우 시스템에 SSL 인증서가 설치되어 있는 Nginx가 이미 설치되어 있어야 합니다. 

WordPress 인스턴스에 대한 새로운 서버 블록을 만들기 위해 우리는 공식 Nginx 사이트에서 Nginx 레시피를 사용할 것입니다.

텍스트 편집기를 열고 새 nginx 서버 블록을 만듭니다.

다음 행을 추가합니다.

# /etc/nginx/conf.d/example.com.conf

# 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$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

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

}

 

 

 

WordPress 도메인으로 example.com을 바꾸고 SSL 인증서 파일에 대한 올바른 경로를 설정하는 것을 잊지 마십시오. 모든 HTTP 요청은 HTTPS로 리디렉션됩니다. 이 구성에 사용된 코드 조각은 이 안내서에 작성됩니다.

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가 다운로드되고 서버 구성이 완료되었으므로 웹 인터페이스를 통해 설치를 완료할 수 있습니다. 

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

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 1

 

 

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

그런 다음 다음 정보 페이지가 표시됩니다. Let's go! 버튼을 클릭합니다.

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 2

 

 

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

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 3

 

 

Run the Installation(설치 실행) 버튼을 클릭하여 WordPress 설치를 시작합니다.

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 4

 

 

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

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

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

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 5

 

 

WordPress 설치를 클릭하면 설치가 완료되면 WordPress가 설치되었음을 알리는 페이지로 이동됩니다. 

WordPress 로그인 페이지에 액세스하려면 Login 버튼을 클릭합니다.

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 6

 

 

사용자 이름과 암호를 입력합니다.

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 7

 

 

WordPress 관리 대시보드로 리디렉션됩니다.

CentOS 7 : WordPress with Nginx 설치 방법, 예제, 명령어 8

 

 

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

반응형