우분투 20.04 LTS LEMP nginx MariaDB PHP7.4 설치하기2

설치형 워드프레스 만들기 1탄 : AWS 아마존 웹 서비스 가입, 도메인 구입 방법
설치형 워드프레스 만들기 2탄 : AWS Lightsail 우분투 Ubuntu 20.04 LTS 인스턴스 생성
설치형 워드프레스 만들기 3탄 : Putty 다운로드 SSH 접속 환경 세팅 방법
설치형 워드프레스 만들기 4탄 : AWS 우분투 Ubuntu 20.04 LTS 인스턴스에 도메인 연결하기
설치형 워드프레스 만들기 5탄 : 우분투 20.04 LTS LEMP nginx MariaDB PHP7.4 설치하기

이어서 워드프레스 만들기 6탄 시작합니다.  이번 6탄에선 MariaDB설치, PHP설치, SSL인증서 발급까지 알아보도록 하고 나머지 내용은 다음 포스팅에서 안내하도록 하겠습니다.

※ Putty에 붙여넣기 하는 방법은 shift + insert 입니다. ※

MariaDB 설치하기

데이터 베이스는 MySQL, MariaDB, Oracle 등이 있지만 그 중 MariaDB를 깔아보도록 하겠습니다.

MariaDB의 서버와 클라이언트를 다운 받도록 하겠습니다. 밑에 글을 복사해서 입력해주세요.

sudo apt install mariadb-server mariadb-client
Y/n 이라는 표시가 나오면 Y를 입력해줍니다. 

다운이 완료되었으면, MariaDB를 설정하도록 하겠습니다. 밑에 글을 복사해서 입력해주세요.

sudo mysql_secure_installation
MariaDB
위와 같은 화면이 나오면 엔터(Enter)를 눌러줍니다.

MariaDB
엔터를 누르면 위와 같은 화면이 나오고 Y를 누르고 root의 비밀번호를 입력합니다.
root의 비밀번호는 꼭 기억하셔야 합니다.

비밀번호 설정을 하고 나서 나오는 항목들에 모두 Y를 눌러주세요.

mariadb
모든 과정을 마치면 위 사진처럼 화면이 나옵니다. 그렇다면 Maria DB 설정이 완료 된 것 입니다.

 

MariaDB 접속하기

밑에 글은 MariaDB에 접속하는 명령어 입니다.

sudo mysql -u root -p

MaridaDB에서 나가는 명력어는 exit; 입니다. 마지막에 ;를 꼭 붙여 주셔야합니다.

exit;

 

MariaDB DB 생성하기

아래 명령어를 통해 MariaDB에 접속합니다.

sudo mysql -u root -p

아래 명령어를 통해 wpdb 라는 데이터베이스(DB)를 생성합니다.

CREATE DATABASE wpdb;

 

아래 명령어를 통해 wpdbuser 라는 MariaDB의 유저를 생성하고 그 비밀번호를 password로 합니다.
따라서 wpdbuser 와 password 에는 본인이 원하는 아이디(이름)과 비밀번호를 입력하시면 됩니다. 그리고 반드시 기억하고 있어야 합니다. 

CREATE USER ‘wpdbuser‘@’localhost’ IDENTIFIED BY ‘password‘;

 

아래 명령어를 통해 wpdbuser에게 wpdb라는 DB의 모든 권한을 갖게 합니다. 

GRANT ALL ON wpdb.* TO ‘wpdbuser‘@’localhost’ WITH GRANT OPTION;

 

설정이 끝났으면 아래 명령어를 통해 빠져나오도록 합니다.

FLUSH PRIVILEGES;
EXIT;

업데이트와 업그레이드 하기

PHP 설치 시작 전 업데이트와 업그레이드 진행하도록 하겠습니다.

  1. 업데이트 리스트 확인하기 (아래 글을 복사해서 입력해주세요.)
    sudo apt update
  2. 업데이트 된 리스트를 업그레이드하기 (아래 글을 복사해서 입력해주세요.)
    sudo apt upgrade
    Y/n 이라는 표시가 나오면 Y를 입력해줍니다. 

 

PHP 7.4 설치하기

아래 명령어를 통해 PHP7.4 설치에 필요한 패키지를 설치하도록 하겠습니다.

sudo apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip zip unzip
Y/n 이라는 표시가 나오면 Y를 입력해줍니다. 

 

아래 명령어를 통해 재부팅 시 PHP가 자동으로 실행 되도록 합니다.

sudo systemctl enable php7.4-fpm

 

아래 명령어를 통해 php7.4를 실행합니다.

sudo systemctl start php7.4-fpm

 

PHP의 설정을 바꿔야 합니다. 아래 명령어를 입력합니다.

sudo nano /etc/php/7.4/fpm/php.ini
아주 많은 내용이 적혀있습니다.

Ctrl+W를 누르면 검색을 할 수 있습니다. 아래 항목들을 검색해서 바꿔줍니다.

short_open_tag = On
memory_limit = 256M
max_input_vars = 5000
max_input_time = 360
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
post_max_size = 101M
max_execution_time = 360
date.timezone = Asia/Seoul

※주의사항※
문자 앞에 ;이 붙어있으면 주석 처리 됩니다. 
예시1) cgi.fix_pathinfo를 검색해보면 아마도 ;cgi.fix_pathinfo=1 으로 나와있습니다. 앞에 ; 은 주석으로 처리한다는 의미로 이것도 빼야합니다.
;cgi.fix_pathinfo=1  →    cgi.fix_pathinfo = 0

예시2) ;max_input_vars = 1000  →   max_input_vars = 5000

예시3) ;date.timezone =   →  date.timezone = Asia/Seoul

설정이 완료되었다면 Ctrl+X 입력 후 Y 입력 후 엔터를 눌러서 빠져나온다.

 

아래 명령어를 입력해 PHP7.4를 재 시작하여 변경된 내용을 적용시킵니다.

sudo systemctl reload php7.4-fpm

 

워드프레스 설치하기

이제 워드프레스를 설치 할 시간입니다. 아래 4가지 명령어를 통해 워드프레스의 최신 버전을 다운로드하고 압축을 풀고 /var/www/wordpress 에 위치하도록 만듭니다.
파일 위치는 원하는 곳이 있다면 바꿔도 됩니다. 하지만 앞으로 쓸 글들은 이 방법을 기준으로 설명 할 것이기 때문에 바꾸지 않는 것을 추천드립니다.

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xvzf latest.tar.gz
sudo mv wordpress /var/www/wordpress

 

아래 명령어를 통해 해당 폴더의 소유권을 www-data에게 주고, 권한을 755로 주도록 합니다.

sudo chown -R www-data:www-data /var/www/wordpress/
sudo chmod -R 755 /var/www/wordpress/

 

Nginx 서버 설정 파일을 만들기 위해 아래 명령어를 입력 합니다.

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

 

빈 공간에 아래 내용을 복사해서 붙여 넣기 합니다. 주의사항으로 밑에 내용 중 www.example.com과 example.com 의 내용을 본인이 구매한 도메인 주소로 바꿔서 입력해야합니다.   

server {
    listen 80;
    listen [::]:80;
    server_name www.example.com example.com;  # example.com를 자신이 원하는 도메인으로 수정하세요.
    root /var/www/wordpress;
    index index.php ;
    location ~ \.(gif|jpg|png)$ {
        add_header Vary "Accept-Encoding";
        add_header Cache-Control "public, no-transform, max-age=31536000";
    }
    location ~* \.(css|js)$ {
        add_header Cache-Control "public, max-age=604800";
        log_not_found off;
        access_log off;
    }
    location ~*.(mp4|ogg|ogv|svg|svgz|eot|otf|woff|woff2|ttf|rss|atom|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf|cur)$ {
        add_header Cache-Control "max-age=31536000";
        access_log off;
    }
    charset utf-8;
    server_tokens off;
    client_max_body_size 100M;
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
    location ~ /\.ht {
        deny all;
    }
    location ~ \.php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }
}
입력을 완료 했다면 Ctrl+X 입력 후 Y 입력 후 엔터를 눌러서 빠져나온다.

 

이제 차례대로 아래 명령어를 복사해서 입력해주세요.

파일 활성화 하기

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

기존 활성화된 default 서버 링크만 삭제

sudo rm -f /etc/nginx/sites-enabled/default

문법 오류 검사 명령어 sudo nginx -t

sudo nginx -t

mariadb
명령어 sudo nginx -t 를 입력했을 때, 위에 사진과 같은 문구가 나온다면 이상이 없다는 뜻 입니다.

아래 명령어로 nginx를 재시작 합니다.

sudo service nginx restart

 

SSL 인증서

CERTBOT 설치하기

CERTBOT은 SSL 인증서 설치프로그램 입니다. 아래 명령어로 CERTBOT을 설치 합니다.

sudo apt install python3-certbot-nginx
Y/n 이라는 표시가 나오면 Y를 입력해줍니다. 

SSL 인증서 발급받기

아래 명령어로 도메인 + www.도메인에 대한 SSL 인증서를 생성합니다.  밑에 example.com 부분을 내 도메인으로 바꿔주는거 알고 계시죠?

sudo certbot --nginx -d example.com -d www.example.com
MariaDB
위와 같은 화면이 나오면 잘 하신겁니다. 인증서 갱신, 보안 공지 등 메일로 안내를 해준다는 것입니다. 이메일 주소를 입력 후 엔터를 눌러주세요.

SSL
위 화면이 나왔다면 ‘A’를 누르고 엔터를 눌러주세요.

SSL
이메일 주소로 받을건지 아닌지 결정하는겁니다. 원하면 ‘Y’ 거절하고 싶으면 ‘N’을 누르고 엔터를 눌러주세요.

SSL
위 화면이 나왔다면 숫자 ‘2’를 누르고 엔터를 눌러주세요.

MariaDB
마지막으로 위 화면이 나왔다면 SSL인증서 발급이 완료 되었습니다. 축하드립니다.

SSL인증서 확인방법

SSL인증서가 잘 발급이 된 건지 확인을 해봐야겠죠? 밑에 명령어를 복사해서 입력해주세요.

sudo certbot renew --dry-run

SSL
위와 같은 화면이 나왔다면 정상적으로 작동하는것입니다.

이것으로 이번 글은 마치도록 하고 워드프레스 설치와 세부내용 설정은 다음 글에서 함께 알아보도록 하겠습니다.

Leave a Comment