Oracle Cloud VM Instance 에 WordPress 설치하기

안녕하세요. 미뇽입니다.

혹시 자신만의 웹사이트나 블로그를 운영하고 싶은데, 어디서부터 시작해야 할지 막막하셨던 경험이 있으신가요? 특히 서버 비용에 대한 부담 때문에 망설이셨던 분들도 계실 겁니다. 오늘은 이러한 고민을 해결해 드릴 수 있는 방법 중 하나로, Oracle Cloud의 무료 VM 인스턴스를 활용하여 전 세계적으로 가장 인기 있는 콘텐츠 관리 시스템(CMS)인 워드프레스(WordPress)를 설치하는 방법을 상세히 안내해 드리고자 합니다.

사전 준비 사항

본격적으로 설치를 시작하기 전에 다음 사항들이 준비되어 있어야 합니다.

  1. Oracle Cloud 계정: 아직 없다면 Oracle Cloud 웹사이트에서 가입하여 무료 등급 계정을 생성해야 합니다.
    >> Oracle Cloud Free Tier 계정 만들기
  2. 실행 중인 VM 인스턴스: Oracle Cloud 콘솔에서 VM 인스턴스를 생성해야 합니다. 이 가이드에서는 Ubuntu 운영체제를 기준으로 설명드리겠습니다. 인스턴스 생성 시 제공되는 SSH 키 페어도 안전하게 보관해야 합니다.
    >> Oracle Cloud VM 인스턴스 생성 가이드
  3. SSH 클라이언트: PuTTY (Windows) 또는 터미널(macOS, Linux)을 사용하여 VM 인스턴스에 접속할 수 있어야 합니다.
    >> SSH Key 완전 정복
  4. VM 인스턴스 생성 시 네트워킹 설정에서 HTTP (포트 80) 및 HTTPS (포트 443) 트래픽을 허용
    >> Oracle Cloud Instance에 수신 규칙 추가하기

준비 사항을 모두 마치면 워드프레스의 설치를 진행해보겠습니다.

워드프레스 설치 단계별 가이드

이제 본격적으로 워드프레스 설치를 시작하겠습니다. 다음 단계를 차근차근 따라오시면 됩니다.

VM 인스턴스에 SSH로 접속

터미널이나 PuTTY를 사용하여 VM 인스턴스에 접속합니다. 일반적으로 다음 명령어를 사용합니다 (YOUR_PRIVATE_KEY_PATH는 개인 키 파일 경로, USERNAME은 VM 사용자 이름(예: ubuntu), YOUR_SERVER_IP는 VM의 공인 IP 주소입니다).

ssh USERNAME@YOUR_SERVER_IP #기본 키를 사용하는 경우
ssh -i YOUR_PRIVATE_KEY_PATH USERNAME@YOUR_SERVER_IP #별도의 키를 사용하는 경우

-i 옵션은 사용할 개인 키 파일을 지정합니다. 개인 키 파일의 권한이 너무 개방적이면 접속이 거부될 수 있으므로, chmod 400 /경로/개인키파일 명령으로 권한을 조정하는 것이 좋습니다(예: chmod 400 ~/.ssh/my-oci-key.pem).

시스템 업데이트 및 필수 패키지 설치

가장 먼저 시스템의 패키지 목록을 업데이트하고 설치된 패키지를 최신 버전으로 업그레이드합니다.

sudo apt update && sudo apt upgrade -y

설치 시 필요한 필수 패캐지들을 추가로 설치합니다.

sudo apt install wget nano unzip git -y

웹 서버 설치 (Apache)

워드프레스를 실행하기 위해서는 웹 서버가 필요합니다. 여기서는 Apache를 설치하겠습니다.

sudo apt install apache2 -y

Apache 서비스를 시작하고, 서버가 재부팅되어도 자동으로 시작되도록 활성화합니다.

sudo systemctl start apache2
sudo systemctl enable apache2

설치가 완료되면 Apache 서비스의 상태를 확인합니다.

sudo systemctl status apache2

Apache가 정상적으로 실행 중이라면, 웹 브라우저에서 http://YOUR_SERVER_IP로 접속했을 때 Apache 기본 페이지가 보여야 합니다. 만약 보이지 않는다면 Oracle Cloud의 VCN 보안 목록에서 포트 80, 443이 열려 있는지 다시 한번 확인하십시오.

데이터베이스 설치 (MariaDB)

워드프레스는 콘텐츠를 저장하기 위해 데이터베이스가 필요합니다. MySQL과 호환되면서도 오픈소스인 MariaDB를 설치하겠습니다.

sudo apt install mariadb-server -y

MariaDB 서비스를 시작하고 자동 실행되도록 활성화합니다.

sudo systemctl start mariadb
sudo systemctl enable mariadb

설치 후, 보안 설정을 진행합니다.

sudo mysql_secure_installation
  • 루트 비밀번호 설정 및 몇 가지 보안 관련 질문에 답변하면 됩니다. 처음 설정 시 루트 비밀번호를 설정하고, 나머지 질문에는 대부분 Y (Yes)를 선택하는 것이 일반적입니다.

WordPress가 사용할 전용 데이터베이스와 사용자를 만듭니다. root 계정을 직접 사용하는 것보다 전용 사용자를 만드는 것이 보안상 더 좋습니다.

sudo mysql -u root # 또는 sudo mysql -u root -p

MariaDB 프롬프트(MariaDB [(none)]>)가 나타나면, 아래 SQL 명령을 실행하여 데이터베이스(wordpress_db)와 사용자(wp_user)를 생성하고 권한을 부여합니다. YourStrongPassword_123! 부분은 여러분만의 강력한 비밀번호로 꼭! 변경해주세요. 보안을 위해 숫자, 대소문자, 특수문자를 조합하는 것이 좋습니다!

CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'YourStrongPassword_123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  • 여기서 설정한 wordpress_db, wp_user, 그리고 방금 만든 비밀번호는 나중에 워드프레스 설정 파일에 똑같이 입력해야 하니 잘 기억해두어야합니다.!

PHP 설치

워드프레스는 PHP로 작성되었으므로 PHP와 관련 모듈들을 설치해야 합니다.

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

설치 후 PHP 버전을 확인하여 정상적으로 설치되었는지 검토합니다.

php -v

PHP 설정을 Apache에 적용하기 위해 Apache를 재시작합니다.

sudo systemctl restart apache2

워드프레스 다운로드 및 구성

이제 워드프레스 파일을 다운로드하고 설정할 차례입니다.

먼저 웹 서버의 루트 디렉토리인 /var/www/html/로 이동합니다.

cd /var/www/html/

기본적으로 있는 Apache의 index.html 파일은 삭제해도 무방합니다 (선택 사항).

sudo rm index.html

워드프레스 최신 버전을 다운로드하고 압축을 해제합니다.

sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz

압축을 풀면 wordpress 디렉토리가 생성됩니다. 이 디렉토리 안의 파일들을 /var/www/html/로 옮깁니다.

sudo mv wordpress/* .

이제 불필요한 빈 wordpress 디렉토리와 압축 파일을 삭제합니다.

sudo rmdir wordpress/
sudo rm latest.tar.gz

워드프레스 설정 파일인 wp-config.php를 생성합니다. 샘플 파일을 복사하여 만듭니다.

sudo cp wp-config-sample.php wp-config.php

생성된 wp-config.php 파일을 편집하여 이전에 생성한 데이터베이스 정보를 입력합니다. nanovim과 같은 편집기를 사용합니다.

sudo nano wp-config.php

파일 내에서 다음 부분을 찾아 수정합니다.

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'your_database_name' ); // 데이터베이스 설치과정에서 설정한 데이터베이스 이름

/** Database username */
define( 'DB_USER', 'your_user_name' ); // 데이터베이스 설치과정에서 설정한 사용자 이름

/** Database password */
define( 'DB_PASSWORD', 'your_password' ); // 데이터베이스 설치과정에서 설정한 비밀번호

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

추가적으로, 보안을 위해 Authentication Unique Keys and Salts 부분을 고유한 값으로 채워 넣는 것이 좋습니다.

define('AUTH_KEY',         '-------------------------');
define('SECURE_AUTH_KEY',  '-------------------------');
define('LOGGED_IN_KEY',    '-------------------------');
define('NONCE_KEY',        '-------------------------');
define('AUTH_SALT',        '-------------------------');
define('SECURE_AUTH_SALT', '-------------------------');
define('LOGGED_IN_SALT',   '-------------------------');
define('NONCE_SALT',       '-------------------------');

워드프레스 비밀 키 생성기에서 키를 발급받아 해당 부분을 교체할 수 있습니다.

파일 권한을 웹 서버(Apache의 경우 www-data 사용자)가 접근할 수 있도록 설정합니다.

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

Apache 설정 및 재시작

워드프레스의 고유 주소(Permalinks) 기능을 제대로 사용하려면 Apache의 mod_rewrite 모듈을 활성화하고, .htaccess 파일을 사용할 수 있도록 설정해야 합니다.

먼저, Apache의 설정을 변경하여 .htaccess 파일이 적용되도록 합니다. /etc/apache2/apache2.conf 파일을 열어 <Directory /var/www/> 섹션의 AllowOverride NoneAllowOverride All로 변경합니다.

sudo nano /etc/apache2/apache2.conf

수정 전:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

수정 후:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

mod_rewrite 모듈을 활성화하고 Apache를 재시작합니다.

sudo a2enmod rewrite
sudo systemctl restart apache2

웹 브라우저를 통해 워드프레스 설치 완료

이제 모든 서버 측 설정이 완료되었습니다. 웹 브라우저를 열고 주소창에 VM 인스턴스의 공인 IP 주소 (http://YOUR_SERVER_IP)를 입력합니다.

워드프레스 설치 화면이 나타나면, 화면의 지시에 따라 사이트 제목, 관리자 사용자 이름, 비밀번호, 이메일 주소 등을 입력하여 설치를 완료합니다.

축하드립니다! 이제 Oracle Cloud VM에 워드프레스 설치가 완료되었습니다.

중요 후속 조치

워드프레스 설치 후 안정적이고 안전한 웹사이트 운영을 위해 다음 사항들을 고려하는 것이 좋습니다.

  1. 도메인 연결: IP 주소 대신 yourdomain.com과 같은 개인 도메인을 사용하고 싶다면, 도메인 등록기관에서 DNS 설정을 변경하여 도메인이 VM의 공인 IP 주소를 가리키도록 설정해야 합니다.
  2. SSL/TLS 인증서 설치 (HTTPS): 보안을 강화하고 SEO에도 긍정적인 영향을 미치기 위해 SSL/TLS 인증서를 설치하여 HTTPS를 활성화하는 것이 필수적입니다. Let’s Encrypt를 사용하면 무료로 SSL 인증서를 발급받아 설정할 수 있습니다. (Certbot 사용 추천)
  3. 보안 강화: 워드프레스는 인기가 많은 만큼 해킹 시도도 잦습니다. 강력한 관리자 비밀번호 사용, 정기적인 워드프레스 코어, 테마, 플러그인 업데이트, 보안 플러그인(예: Wordfence, Sucuri Security) 설치 등의 조치를 취하는 것이 중요합니다.
  4. 백업 설정: 만일의 사태에 대비해 정기적으로 웹사이트 파일과 데이터베이스를 백업하는 것이 매우 중요합니다. 다양한 백업 플러그인을 활용하거나, 서버 레벨에서 스크립트를 작성하여 자동 백업을 구성할 수 있습니다.

마무리

Oracle Cloud의 무료 VM을 활용해 워드프레스를 직접 설치해 보면, 단순히 웹사이트를 하나 만드는 것 이상의 경험을 얻을 수 있다고 생각합니다. 서버 관리의 기초부터 데이터베이스 설정, 웹 서버 구성에 이르기까지 전반적인 웹 호스팅 환경을 이해하는 데 큰 도움이 됩니다. 물론 처음에는 다소 복잡하게 느껴질 수 있지만, 차근차근 단계를 밟아가다 보면 어느새 자신만의 공간이 만들어져 있는 것을 발견하게 될 것입니다.

저도 처음 리눅스 서버에 워드프레스를 설치할 때, 권한 문제나 웹 서버 설정 오류로 인해 화면이 제대로 나오지 않아 애를 먹었던 기억이 있습니다. 하지만 그 과정에서 문제를 해결하며 얻었던 지식들이 지금까지도 큰 자산이 되고 있습니다. 특히 Oracle Cloud의 경우 VCN 보안 규칙 설정이 익숙하지 않으면 초기 접속에 어려움을 겪을 수 있으니, 이 부분을 꼼꼼히 확인하시는 것이 좋습니다.

이 글을 통해 여러분도 자신만의 멋진 워드프레스 사이트를 성공적으로 구축하시기를 바랍니다.

혹시 이 과정에서 어려움을 겪으셨거나, 더 궁금한 점이 있으신가요? 혹은 여러분은 워드프레스로 어떤 웹사이트를 만들어보고 싶으신가요? 댓글로 자유롭게 의견 나눠주시면 감사하겠습니다.

읽어주셔서 감사합니다. 🙂

“Oracle Cloud VM Instance 에 WordPress 설치하기”에 대한 1개의 생각

  1. 핑백: Wordpress 블로그에 SSL 인증서 설치로 https 지원하기 – Tasting Everything

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤