Tech

AWS 워드프레스 AMI없이 직접 무료 설치하기

AWS 워드프레스 를 설치하면서 이런 저런 시행 착오를 많이 겪고 나서 이 글을 적고 있다. 이대로 하시면 되어요.

Bitnami 와 같은 AMI를 사용하는 것이 아니예요.

Ubuntu 16.04 환경에서 직접 설치합니다.

아래 과정을 유튜브 영상으로 올렸다. 혹시 아래 글에서 혼동되는 부분이 있으면 유튜브 영상을 확인 바랍니다.

AWS 워드프레스 무료 설치

AWS 워드프레스를 선택한 것은 다른 것은 없다. 블로그는 하고 싶고 돈을 안 쓰고 싶어서이다. 왜 워드프레스인지는 다른 글로 포스팅 하려고 한다.

우선 AWS는 1년간 무료이고 워드프레스도 무료이기 때문이다.

직접 설치하는 이유

아마 AWS에 워드프레스를 설치하려고 찾으시면 AMI Market에 있는 Bitnamic 를 사용하는 것에 대한 설명들이 많은 편이다.

다음 이유로 직접 설치하기로 결정하였다.

  • 메일 서비스 설정 필수 (이게 더 어려웠음)
  • 일부 설정 사전 설정 (정확히는 MultiSite를 Sub-directory로 하고 싶었으나 Sub-Domain으로 설정되어 있었음)
  • 실수로 소프트웨어 비용이 유료인 경우 선택 (실수로 무료인 Bitnami말고 다른걸 선택하면서 비용 발생)

인스턴스 만들기

설치 환경은 다음과 같습니다.

  • aws EC2 t2.micro 인스턴스
  • Ubuntu 16.04
  • mysql
  • apache2

그럼 인스턴스를 만들어볼까요? 프리티어 사용이 가능한 다음 인스턴스를 선택하고 t2.micro를 선택합니다. 그래야지 1년간 무료 사용이 가능합니다.

AWS 워드프레스 설치를 위한 Ubuntu 16.04 EC2 인스턴스
AWS EC2 t2.micro

스토리지 설정, 특히 종료시 삭제하지 않기

다음 화면에서 스토리지 편집만 수정해줍니다.

aws 스토리지 편집
aws 스토리지 편집

용량은 30GB까지 무료이므로 최대인 30GB로 설정해줍니다.

종료시삭제는 혹시 실수로 인스턴스를 종료하는 경우가 있을때 종료되면서 바로 스토리지가 삭제되버리는 설정입니다. 공들여 만들어놓은 블로그가 사고로 사라져버리면 너무 가슴이 아플것 같습니다. 그래서 저는 반드시 설정을 해제합니다.

키페어 만들고 Private key 만들기

AWS 인스턴스를 만들때 키페어는 매우 중요하다. 절대 분실하면 안된다. 아래와 같은 화면에서 키 페어를 다운 받는다.

워드프레스 키 페어
wordpress key pair

그리고 다운로드 받은 키페어 (*.pem) 을 를 먼저 Load 한다.

그럼 아래와 같이 Load가 되고 Save private key를 한다. 저장할때 .ppk로 저장이 된다. putty로 Login할때 사용한다.

AWS private key 생성
Private Key 생성

SSH 연결하기

AWS 인스턴스를 선택하면 하단에 다음과 같은 Public DNS가 표시된다.

Putty를 사용하여 AWS 연결할 경우 위와 같이 Host Name 부분과 Connection->SSH->Auth 의 Private key 부분에 앞서 putty keygen 으로 생성했던 private key를 지정해준다.

Apache2 설치

sudo apt-get update
sudo apt-get install apache2
sudo systemctl start apache2

위와 같이 설치하고 나면 browser로 http://IP ADDRESS/ 를 하면 Default 홈페이지가 나와야 할것 같지만 나오지 않는다. 이유는 인바운드가 SSH만 설정되어 있기 때문이다. HTTP, HTTPS를 추가해주자.

그럼 이제 브라우저로 http://IP ADDRESS/ 를 입력하면 기본 Apache2 홈페이지가 나온다. IP ADDRESS는 AWS 인스턴스의 IPv4 Public IP 이다.

MY-SQL과 PHP 설치

sudo apt-get install mysql-server
sudo systemctl start mysql
sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-mbstring php7.0-gd php7.0-xml php7.0-xmlrpc php7.0-intl php7.0-soap php7.0-zip
sudo vi /var/www/html/info.php

그리고 다음은 입력하여 파일을 저장합니다.

<?php
phpinfo();
?>
sudo systemctl restart apache2

위와 같이 apache2를 restart하고 http:// IP ADDRESS/info.php 를 해보면 관련된 정보가 나오는 Page가 나온다.

WordPress 설치하기

cd /var/www/html
sudo wget -c http://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo mysql -u root -p

그리고 아래와 같이 DATABASE Table을 만들어준다. 아래 내용에서 wordpress_user와 PASSWORD는 앞으로 사용할 DB 사용자로써 id와 password를 입력한다.

CREATE DATABASE wordpress_db;
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit;
cd wordpress
sudo mv wp-config-sample.php wp-config.php

그리고 다음과 같이 wp-config.php를 수정해준다.

DB_NAME도 임의로 입력해주면 되고, username과 password는 앞서 database를 만들때 입력했던 username과 password로 입력해준다.

sudo vi wp-config.php
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress_db');

/** MySQL database username */
define('DB_USER', 'wordpress_user');

/** MySQL database password */
define('DB_PASSWORD', 'PASSWORD');

그리고 다음과 같이 DocumentRoot를 수정하고 저장한다.

sudo vi /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/html/wordpress
sudo systemctl restart apache2

Domain이 있을 경우에는 /etc/apache2/sites-available/yourdomain.com.conf를 만들어주고 다음과 같이 해준다.

sudo a2ensite yourdomain.com.conf
sudo ln -s /etc/apache2/sites-available/yourdomain.com.conf /etc/apache2/sites-enabled/
sudo systemctl restart apache2

WordPress Install

다시 브라우저로 http://IP ADDRESS/ 를 해보면 다음과 같이 WordPress 설치 화면이 나온다.

여기까지 AWS에 MySQL+Apache2 Base로 WordPress를 설치하는 방법을 설명하다.

One thought on “AWS 워드프레스 AMI없이 직접 무료 설치하기

Leave a Reply