카테고리 없음

Iwinv vps 호스팅에서 워드프레스 설치 및 보안 설정 방법 정리

kaver 2026. 1. 15.

파트너스 활동으로 소정의 수수료를 제공 받습니다.

카페24나 일반 웹호스팅 대신 iwinv VPS 호스팅을 선택하면, 성능과 자유도는 높아지지만 직접 서버를 설치·운영해야 한다는 부담도 따라옵니다. 이 글에서는 iwinv VPS를 기준으로 워드프레스 설치부터 필수 보안 설정까지를 한 번에 정리해 보겠습니다. 리눅스 초보라도 순서대로만 따라가면 기본 자사몰·블로그용 워드프레스 서버를 구축할 수 있도록 구성했습니다.

1. 준비 단계 – iwinv VPS 생성 및 서버 접속

1-1. VPS 인스턴스 생성

  • iwinv 콘솔에서 VPS 상품 선택 후 인스턴스를 생성합니다.
  • OS는 Ubuntu 20.04 / 22.04 LTS를 추천합니다. 정보가 많고 안정적입니다.
  • 워드프레스 + 소규모 쇼핑몰 기준으로는 vCPU 2코어 / RAM 2GB 이상이면 무난합니다.

1-2. 서버 IP 확인 & SSH 접속

  • iwinv 관리 콘솔에서 공인 IP 주소를 확인합니다.
  • 로컬 PC(Windows라면 PuTTY, Mac/Linux라면 터미널)에서 SSH 접속:
ssh root@서버_IP주소
# 또는 키를 발급받았다면
ssh -i ~/.ssh/id_rsa root@서버_IP주소

처음 접속 후에는 아래처럼 패키지 업데이트부터 해 줍니다.

apt update && apt upgrade -y

2. 웹 서버 & PHP & DB 설치 (LEMP 예시)

워드프레스는 PHP + DB + 웹서버가 필요합니다. 여기선 Nginx + MariaDB + PHP-FPM(LEMP) 조합을 기준으로 설명합니다. (Apache를 선호한다면 LAMP로 설치해도 무방합니다.)

2-1. Nginx, PHP, MariaDB 설치

apt install nginx mariadb-server php-fpm php-mysql \
php-xml php-mbstring php-gd php-curl php-zip php-cli unzip -y

설치 후 서비스가 잘 올라왔는지 확인합니다.

systemctl status nginx
systemctl status php8.1-fpm  # 버전은 환경에 따라 다를 수 있음
systemctl status mariadb

2-2. DB 보안 기본 설정 & 워드프레스 DB 생성

MariaDB의 기본 보안 설정을 먼저 합니다.

mysql_secure_installation

질문에 따라 root 비밀번호 설정, 익명 사용자 삭제, 테스트 DB 삭제 등을 모두 Yes 쪽으로 답변하면 됩니다.

이제 워드프레스에서 사용할 DB와 계정을 만듭니다.

mysql -u root -p

# MySQL 프롬프트에서
CREATE DATABASE wpdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '강력한비밀번호!';
GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. 워드프레스 다운로드 및 Nginx 설정

3-1. 워드프레스 다운로드 & 권한 설정

cd /var/www
wget https://wordpress.org/latest.zip
unzip latest.zip
mv wordpress mysite   # 원하는 디렉터리 이름으로 변경
cd mysite
cp wp-config-sample.php wp-config.php

wp-config.php 파일을 열어 DB 설정을 맞춰 줍니다.

nano wp-config.php

아래 부분을 방금 만든 DB 정보로 수정합니다.

define( 'DB_NAME', 'wpdb' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', '강력한비밀번호!' );
define( 'DB_HOST', 'localhost' );

보안을 위해 테이블 접두사도 기본 wp_ 대신 다른 값으로 바꿔 주세요.

$table_prefix = 'customwp_';

웹서버가 파일을 읽을 수 있도록 권한을 설정합니다.

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

3-2. Nginx 서버 블록 설정

nano /etc/nginx/sites-available/mysite
server {
    listen 80;
    server_name example.com www.example.com;  # iwinv에서 연결한 도메인으로 변경

    root /var/www/mysite;
    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.1-fpm.sock; # PHP 버전에 맞게 수정
    }

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

    location = /xmlrpc.php {
        deny all;
    }
}

사이트 설정을 활성화하고 Nginx 구문 검사를 한 뒤 재시작합니다.

ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

4. 워드프레스 설치 마법사 진행

브라우저에서 http://도메인또는서버IP로 접속하면 워드프레스 설치 화면이 나타납니다.

  • 언어: 한국어 선택
  • 사이트 제목, 관리자 아이디/비밀번호/이메일 설정
  • 관리자 아이디는 admin 대신 별도의 아이디를 사용하고, 비밀번호는 충분히 강하게 설정

설치가 완료되면 /wp-admin으로 접속해 관리자 대시보드에 로그인할 수 있습니다.

5. HTTPS(SSL) 설정 – Let’s Encrypt로 무료 인증서 적용

로그인 정보와 고객 정보가 오가는 쇼핑몰/회원제 사이트라면 HTTPS는 필수입니다. iwinv VPS에서도 Let’s Encrypt를 이용해 무료 SSL 인증서를 적용할 수 있습니다.

5-1. Certbot 설치

apt install certbot python3-certbot-nginx -y

5-2. 인증서 발급 & Nginx 자동 설정

certbot --nginx -d example.com -d www.example.com
  • 이메일 입력 후 약관 동의
  • HTTP를 HTTPS로 자동 리다이렉트할지 묻는 질문에는 리다이렉트(권장) 선택

인증서는 기본적으로 자동 갱신이 설정되며, 아래 명령으로 점검할 수 있습니다.

systemctl status certbot.timer

6. 서버 보안 기본 설정 (iwinv VPS 공통)

6-1. SSH 보안 강화

  1. /etc/ssh/sshd_config 편집:
nano /etc/ssh/sshd_config
  • Port 22 → 다른 포트(예: 2222)로 변경 (관리 편의를 위해 기록 필수)
  • PermitRootLogin no 설정으로 root SSH 로그인 금지
  • 가능하면 PasswordAuthentication no 로 바꾸고 SSH 키 기반 로그인만 허용
systemctl reload sshd

SSH 포트 변경 후에는 새 포트로 접속 테스트를 꼭 먼저 해보고 기존 세션을 끊는 것이 안전합니다.

6-2. UFW 방화벽 설정

apt install ufw -y

ufw allow 2222/tcp      # 변경한 SSH 포트
ufw allow 'Nginx Full'  # 80, 443
ufw enable
ufw status

추가로, iwinv 콘솔에서 제공하는 보안 그룹/방화벽 설정이 있다면, 외부에서 들어오는 포트를 SSH, HTTP, HTTPS 정도로만 제한해 두면 더 안전합니다.

6-3. 서버 자동 업데이트 & 보안 패치

OS와 패키지 업데이트는 보안의 기본입니다.

apt install unattended-upgrades -y
dpkg-reconfigure unattended-upgrades

이후에는 정기적으로 SSH 접속 후

apt update && apt upgrade

를 실행해 Nginx, PHP, MariaDB, 커널 등을 최신 상태로 유지하는 습관을 들이세요.

7. 워드프레스 내부 보안 설정

7-1. 필수 보안 플러그인 & 기본 설정

  • 대표적인 보안 플러그인 예:
    • Wordfence Security
    • Solid Security(iThemes Security)
  • 로그인 시도 제한(브루트포스 차단) 설정 활성화
  • 관리자 로그인 URL 변경 기능이 있다면 /wp-login.php 대신 다른 경로로 변경 고려

7-2. 관리자 계정 & 파일 수정 제한

  • admin 아이디는 사용하지 않거나, 다른 아이디로 교체
  • 관리자 비밀번호는 주기적으로 변경하고, 2단계 인증 기능이 있다면 사용

wp-config.php에 아래 한 줄을 추가하면 관리자 화면에서 테마/플러그인 파일을 직접 수정할 수 없게 되어, 해킹 시 피해를 조금 줄일 수 있습니다.

define( 'DISALLOW_FILE_EDIT', true );

7-3. 정기 백업

  • 플러그인(예: UpdraftPlus 등)을 사용해 파일 + DB를 주기적으로 다른 스토리지(예: 외부 스토리지, 다른 서버, 구글 드라이브)에 백업
  • iwinv가 제공하는 스냅샷/이미지 백업 기능도 함께 활용하면 장애 복구에 유리

정리

요약하면, iwinv VPS에서 워드프레스를 운영할 때는

  • 1) OS & LEMP 설치 → Nginx + PHP + MariaDB
  • 2) 워드프레스 설치 & Nginx 가상 호스트 설정
  • 3) Let’s Encrypt로 HTTPS 적용
  • 4) SSH·방화벽·자동 업데이트 등 서버 보안 강화
  • 5) 워드프레스 내부 보안 플러그인 + 계정/권한 관리 + 백업

이 5가지만 제대로 해도, 일반적인 웹호스팅보다 훨씬 유연하면서도 안전한 워드프레스 자사몰/블로그 환경을 iwinv VPS 위에 구축할 수 있습니다.

댓글