WordPress

Ubuntu 22.04 + Vultr 가상서버에 워드프레스 설치 방법

itsdev 2025. 5. 6. 06:19

 
 
Vultr 가상서버에서 Ubuntu 22.04, Nginx, PHP-FPM, MySQL, WordPress를 설치하는 과정을 정리했다.

 

🛠️ 환경 구성 개요

서버: Vultr VPS (Ubuntu 22.04)

 

SSD VPS Servers, Cloud Servers and Cloud Hosting

Vultr Global Cloud Hosting - Brilliantly Fast SSD VPS Cloud Servers. 100% KVM Virtualization

www.vultr.com

Vultr 계정 (추천 링크로 가입 시 일반 가입시 받는 크레딧 $250보다 $50 더 많은 $300 크레딧 제공)

※ 참고: 이 링크는 제휴 마케팅 링크이며, 이를 통해 가입 시 저에게 소정의 커미션이 발생할 수 있습니다.

 

스택: LEMP (Linux + Nginx + MySQL + PHP)

CMS: WordPress (설치형, Astra 테마 적용)

 

👉 서버를 아직 구매하지 않았다면, 이 링크를 통해 Vultr에 가입하세요 또는 이 링크를 사용해 크레딧 혜택과 함께 추천 프로그램에 참여하실 수 있습니다.
 

https://www.vultr.com 접속

1. 시스템 업데이트

sudo apt update && sudo apt upgrade -y

2. PHP 8.4 설치

PHP 8.4와 워드프레스에 필요한 주요 확장 모듈을 설치한다.

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.4 php8.4-fpm php8.4-mysql php8.4-cli php8.4-curl php8.4-gd php8.4-mbstring php8.4-xml php8.4-zip php8.4-soap php8.4-intl php8.4-imagick -y

3. MySQL 설치 및 설정

sudo apt install mysql-server -y
sudo mysql_secure_installation

MySQL 접속 후 워드프레스용 데이터베이스와 사용자 계정을 생성한다.

sudo mysql -u root -p
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
FLUSH PRIVILEGES;
EXIT;

MySQL 외부 접속 허용

MySQL의 외부 접속을 허용하려면 설정 파일을 수정한다.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address 항목을 0.0.0.0으로 변경한다.

bind-address = 0.0.0.0

방화벽도 열어야 한다.

sudo ufw allow 3306/tcp
sudo systemctl restart mysql

4. Nginx 설치

sudo apt install nginx -y
sudo ufw allow 'Nginx Full'

5. 워드프레스 다운로드 및 배포

cd /var/www/
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mkdir -p /var/www/{your_project_folder}
sudo mv wordpress /var/www/{your_project_folder}/

디렉토리 권한 설정

sudo chown -R www-data:www-data /var/www/{your_project_folder}
sudo find /var/www/{your_project_folder} -type d -exec chmod 755 {} \;
sudo find /var/www/{your_project_folder} -type f -exec chmod 644 {} \;

6. Nginx 서버 블록 설정

sudo nano /etc/nginx/sites-available/{your_project_folder}

 

아래와 같이 설정하며, root 경로는 /var/www/{your_project_folder}/wordpress로 설정해야 한다.

server {
    listen 80;
    server_name {your.domain www.your.domain};

    root /var/www/{your_project_folder}/wordpress;
    index index.php index.html;

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

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

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

기존 default.conf 설정이 충돌을 일으킬 수 있으므로 비활성화한다.

sudo unlink /etc/nginx/sites-enabled/default

새 서버 블록을 활성화한다.

sudo ln -s /etc/nginx/sites-available/{your_project} /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

7. wp-config 설정

cd /var/www/{your_project_folder}/wordpress
cp wp-config-sample.php wp-config.php
nano wp-config.php

아래 항목을 수정한다.

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'strongpassword' );
define( 'DB_HOST', 'localhost' );

wp-config.php
wp-config.php

8. 워드프레스 설치 마무리

브라우저에서 http://{your_project_folder}에 접속하여 워드프레스 설치 마법사를 완료한다.

워드프레스 설치 마법사
워드프레스 설치 마법사

 

보안 및 추가 설정

  • Let's Encrypt SSL 적용: sudo apt install certbot python3-certbot-nginx
  • fail2ban 설치 및 SSH 보안 강화
  • 워드프레스 캐시 플러그인 설치 (LiteSpeed Cache, WP Super Cache 등)

이 과정을 마치면 Vultr 서버에서 완전한 워드프레스 환경이 구축된다.

 

Let's Encrypt SSL 적용 관련글: Nginx 웹서버 보안 강화-SSL 인증서 발급

 

Nginx 웹서버 보안 강화-SSL 인증서 발급

앞서 PHP 설정 단계에서는 php.ini에서 disable_functions 등을 통해 PHP 수준에서 보안을 강화했었다.이번에는 웹 서버 레벨에서의 보안 설정을 해보자. 특히 HTTPS 적용과 UFW 방화벽 설정을 통해 외부 공

itsdev.tistory.com

 

728x90
반응형
이 포스팅은 제휴마케팅 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.