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

Posted by
5 min read

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

이전 글에 이어 이번 글에선 Nginx의 라우팅을 설정하고, 도메인을 연결하고, SSL인증서를 발급해볼겁니다. 이번 글의 내용을 응용만 한다면 자신이 원하는 주소로 오는 이용자에게 자신이 원하는 페이지를 보여줄 수도 있을 것 이고, 더 간다면 서버 한 개에 워드프레스 2개, 혹은 무한개를 돌릴 수도 있을 것 입니다.

엔진엑스 라우팅, 도메인 설정하기

도메인을 아직 구매하지 않으신 분들이 있을거 같아 말씀드립니다. .KR도메인같은 경우 호스팅케이알(호스팅어 아님)이 제일 싸고, 다른 도메인들은 Namecheap이 상대적으로 저렴합니다. 참고하셔서 도메인 저렴하게 구입해보세요.

URL라우팅?

도메인이 마련되고 DNS에서 도메인을 자신의 서버로 연결시켰다면 이제 웹서버에서 사이트마다 보여줄 페이지를 나누어줘야합니다. 라우팅을 사용하지 않을 경우, 2개의 사이트를 만드려면 서버가 2개가 필요하지만 라우팅을 이용할 경우 서버가 1개만 있으면 됩니다. 예를 몇개 들어보자면 아래와 같습니다.

  • yoru.pe.kr => /var/www/html 로 연결(워드프레스가 설치되어있는 폴더)
  • static.yoru.pe.kr => /var/www/static 으로 연결(정적 파일들이 들어있는 폴더)
  • http를 https로 리다이렉트
  • 특정 중요 파일에 대해선 응답 거부

서론이 길어졌네요. /etc/nginx/sites-available/default파일을 수정하여 라우팅 설정을 해야합니다. 저번 글에서 PHP연결까지 마쳤으니 아래 라인을 root /var/www/html 설정문 아래에 써주세요.

server_name 구매한 도메인;

저번 글부터 지금까지 잘 따라 왔다면 설정 내용은 다음과 같을겁니다.

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 
    root /var/www/html; 
    server_name 구매한 도메인;
    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;
   }
}

설정파일에서 빠진 내용이 있다면 붙여넣어주세요. 위 내용을 엔직엑스에 적용하려면 엔진엑스를 재시작해야합니다. 재시작 전에 설정 파일이 이상한지 체크합니다.

sudo nginx -t 

이상이 없다 하면 엔진엑스를 재시작합니다.

sudo service nginx restart

이제 콘솔에서의 작업은 SSL설치 빼곤 끝난거나 다름 없습니다. 이제 도메인을 이용하여 자신의 사이트에 접속하고, 설정 => 일반으로 이동해주세요. 아래 값을 잘못 바꾸면 자신의 WordPress를 초기화 해야 하거나 귀찮아지니 연두색으로 테두리친 곳 안의 값만 잘 바꿔주셔야합니다. URL을 입력할때는 자신의 도메인을 입력하고, 아직 SSL인증서를 설치하지 않았으니 https대신 http를 입력하셔야합니다..

이제 엔진엑스 설정은 모두 끝났어요. 장담해요.

SSL설치하기

보자마자 어지러워지는 이상한 문법의 설정파일, 이젠 볼 필요 없어요. 이 글에서는 certbot이라는 멋진 소프트웨어를 사용해서 5초만에 SSL설치를 끝내볼거에요. 장담해요. 타자만 빠르다면 5초만에 설치할 수 있어요. 먼저, 아래 커맨드를한줄 한줄 실행하여 certbot을 설치하기 위해 준비해주세요. 물어보면 엔터를 눌러주세요.

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

지금부터는 아래의 커맨드를 입력하여 쉽게 SSL인증서를 설치하실 수 있습니다. 초기 설정시 이메일, 뉴스레터 수신 여부, 약관 동의 여부를 물어봅니다. 초기 설정이 끝났다면 자신이 해당하는 도메인을 선택하시면 됩니다. 도메인을 선택하면, 5초 안에 인증서 발급 및 설정이 끝나게 됩니다. 설치하다가 Redirect여부를 물어볼 수 있는데, Redirect하는것을 추천합니다.

sudo certbot --nginx

사이트에 접속해 보았을 때 안전하지 않음 대신 자물쇠 모양이 표시되나요? 축하해요. 귀찮음을 극복하고 워드프레스를 혼자 힘으로 우분투 VPS에 설치하셨어요

이제 워드프레스의 사용법을 알아보고, SEO를 개선할 플러그인 및 방문자를 추적할 플러그인, 테마를 커스텀해보세요. 테마를 고르는것도 하나의 재미에요. 워드프레스의 많은 글을 작성해보시고, 애드센스 승인을 받아 보시기를 바랄게요.

여담이지만, 플랫폼(네이버블로그, 티스토리등등)을 고려하지 않아도 블로그를 하다 보면 말이 굉장히 많아지게 돼요. 또한 자신의 발전도 가져오고요. 글쓰기 능력라던가 검색능력, 자료 수집 능력같은거 말이에요. 블로그 운영하면서 느낀점들은 이 글에 정리해 둘게요.

떠나가기 전에, 이 연재작을 하나 하나 다시 짚어 보는 것도 좋다고 생각해요.

Leave a Reply

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다