워드프레스는 전 세계에서 가장 널리 사용되는 CMS(콘텐츠 관리 시스템) 중 하나로, 블로그부터 복잡한 웹사이트까지 다양한 용도로 활용됩니다. 이번 글에서는 최신 Ubuntu 24.04 서버에 WordPress를 설치하고, 특히 서브디렉토리에 구성하는 방법에 대해 상세히 알아보겠습니다.
서버 환경 준비하기
우분투 24.04는 2024년 4월에 릴리스된 LTS(장기 지원) 버전으로, 5년간의 보안 업데이트를 제공합니다. 먼저 필요한 패키지를 설치하는 것부터 시작하겠습니다.
sudo apt update
sudo apt upgrade
MySQL 데이터베이스 설정
WordPress는 데이터베이스가 필요합니다. MySQL을 설치하고 WordPress용 데이터베이스를 생성해 봅시다.
sudo apt install mysql-server
설치 후 MySQL에 접속합니다:
sudo mysql
WordPress용 데이터베이스와 사용자를 생성합니다:
CREATE DATABASE wordpress;
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY '강력한_비밀번호';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
웹 서버 설치: Nginx vs Apache
WordPress는 Apache와 Nginx 모두에서 작동합니다. 이 글에서는 더 가볍고 성능이 우수한 Nginx를 사용하겠습니다.
sudo apt install nginx
PHP 및 필요한 확장 기능도 설치합니다:
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
WordPress 다운로드 및 설치
WordPress를 서브디렉토리에 설치하려면 다음과 같이 진행합니다:
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xvf latest.tar.gz
원하는 디렉토리 구조를 생성하고 WordPress 파일을 이동합니다:
sudo mkdir -p /var/www/yourdomain.com/wp
sudo mv wordpress/* /var/www/yourdomain.com/wp/
적절한 권한을 설정합니다:
sudo chown -R www-data:www-data /var/www/yourdomain.com/
sudo chmod -R 755 /var/www/yourdomain.com/
Nginx 구성
서브디렉토리에 WordPress를 설치하는 경우, Nginx 설정이 특히 중요합니다. 다음과 같이 구성 파일을 생성합니다:
sudo vim /etc/nginx/sites-available/yourdomain.com
기본 HTTP 설정:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
# HTTP를 HTTPS로 리디렉션
return 301 https://$host$request_uri;
}
HTTPS 설정:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
# SSL 인증서 설정
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# SSL 보안 설정
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
root /var/www/yourdomain.com;
index index.php index.html index.htm;
# 루트 디렉토리에서 WordPress 서브디렉토리로 리디렉션 (선택 사항)
location = / {
return 301 /wp/;
}
# WordPress 서브디렉토리 설정
location /wp {
try_files $uri $uri/ /wp/index.php?$args;
}
# PHP 처리
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # PHP 버전에 맞게 조정
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
# .htaccess 파일 접근 방지
location ~ /\.ht {
deny all;
}
}
Nginx 설정을 활성화하고 테스트합니다:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
SSL 인증서 설치
Let’s Encrypt를 사용하여 무료 SSL 인증서를 설치할 수 있습니다:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
WordPress 설정 완료
브라우저에서 https://yourdomain.com/wp/
에 접속하여 WordPress 설치를 완료합니다. 설치 과정에서 데이터베이스 정보와 관리자 계정을 설정합니다.
WordPress 설치 후, 설정 페이지에서 URL을 다음과 같이 조정합니다:
- WordPress 주소(URL): https://yourdomain.com/wp
- 사이트 주소(URL): https://yourdomain.com
마이그레이션 시 고려사항
기존 WordPress 사이트에서 이전할 경우, UpdraftPlus와 같은 플러그인을 사용하면 효율적입니다:
- 기존 사이트에서 UpdraftPlus를 설치하고 백업을 생성합니다.
- 새 사이트에도 UpdraftPlus를 설치하고 백업 파일을 업로드하여 복원합니다.
성능 최적화 팁
WordPress 사이트의 성능을 향상시키기 위한 몇 가지 팁:
- Nginx FastCGI 캐시 활성화
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri";
- PHP-FPM 설정 최적화
/etc/php/8.2/fpm/pool.d/www.conf
파일에서 다음 설정을 조정합니다:pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35
- WordPress 캐싱 플러그인 사용 W3 Total Cache, WP Super Cache 또는 LiteSpeed Cache 등의 플러그인을 활용하세요.
보안 강화 방법
WordPress는 인기가 많은 만큼 공격 대상이 되기도 합니다. 다음과 같은 보안 조치를 취하세요:
- WordPress 자동 업데이트 활성화
wp-config.php
파일에 다음 줄을 추가:define('WP_AUTO_UPDATE_CORE', true);
- 보안 플러그인 설치 Wordfence, Sucuri, iThemes Security 등의 플러그인을 고려하세요.
- 브루트 포스 공격 방지 Fail2Ban을 설치하여 로그인 시도 제한:
sudo apt install fail2ban
- WordPress 관리자 페이지 접근 제한 특정 IP에서만 관리자 페이지에 접근하도록 Nginx 설정:
location /wp/wp-admin { allow 123.123.123.123; # 허용할 IP 주소 deny all; }
결론
Ubuntu 24.04에 WordPress를 서브디렉토리에 설치하는 과정을 살펴보았습니다. 이 구성은 메인 도메인에서 다른 서비스를 운영하면서도 WordPress를 효율적으로 관리할 수 있는 장점이 있습니다. 또한 Nginx를 사용함으로써 더 나은 성능과 보안을 확보할 수 있습니다.
서버 관리와 웹사이트 운영에 있어 정기적인 백업과 보안 업데이트는 필수입니다. WordPress의 강력한 생태계와 함께 이러한 관리 방법을 활용하면 안정적이고 효율적인 웹사이트를 운영할 수 있을 것입니다.
답글 남기기