“AWS EC2 서비스에 워드프레스를 위한 웹 서비스 환경 구축 하기” 목차
- 웹 서비스 패키지 설치 하기 (Apache HTTP Server, PHP, MySQL)
- Apache HTTP Server 환경 설정 하기
- 사이트 인증서 발급 받고 HTTPS 사용 하기
워드프레스 설치를 위한 우분투 아파치 웹서버 환경을 설정하는 방법에 대해 알아 보자. 이 포스트에서는 워드프레스를 설치하는 방법에 대해서는 언급하지 않는다. 그리고 아직 우분투에 웹 서비스 환경이 마련되지 않았다면 위 목차에 있는 aws-ec2-우분투에-워드프레스를-위한-웹-서버-설치하기 문서를 참조.
환경 설정 순서는 다음과 같다.
준비 사항
우분투 아파치 웹 서버 환경 설정 전에 아래와 같은 사항이 준비되어야 한다.
- 우분투에 웹 서비스 환경 (아파치 웹 서버, PHP, MySQL)
- 파일질라 FTP 클라이언트 : 다운로드
- 원격 SSH 접속 환경 (putty SSH, vscode SSH, EC2 Connect 등)
사이트 디렉토리 만들고 소유자 변경 하기
우분투 사용자 만들기
adduser chocoding #사용자 삭제 시에는 userdel 사용
사용자를 따로 생성해서 환경을 설정해도 되지만 개인이 사용하는 입장에서는 굳이 사용자를 더 생성할 필요는 없다고 생각 한다. 나중에 문제가 생기게 되면 그 때 가서 해결 방법을 찾아 보도록 하고… 이 포스트에서는 기본 사용자인 ubuntu를 사용할 예정이다
디렉토리 만들기
우분투에 아파치를 설치하면 /var/www/html 디렉토리가 만들어 지는데 이곳에 워드프레스를 업로드 할 디렉토리를 만들도록 한다.
sudo su #관리자 권한 얻기
mkdir /var/www/chocoding #/var/www 디렉토리에 chocoding이라는 디렉토리 생성
위에서 만들어진 폴더는 관리자 권한으로 만들었기 때문에 소유자는 root가 되고 권한은 755가 된다
디렉토리 소유자 바꾸기
ubuntu 사용자로 접속해서 파일을 올릴 수 있어야 하므로 디렉토리의 소유자를 ubuntu로 바꿔 준다
chown ubuntu:ubuntu /var/www/chocoding
사이트 동작 설정
/etc/apache2/apache2.conf 파일은 사이트 디렉토리가 어떻게 동작 해야 하는지 기술하는 곳이다. 기본적으로 기술된 동작은 아래와 같다.
<Directory /var/www/> #웹 사이트 디렉토리 경로
Options Indexes FollowSymLinks #동작 옵션 설정 : 인덱스 허용, 심볼릭 링크 따름
AllowOverride None #접근 허용 방식 결정 None으로 할 경우 개별 사이트에 있는 .htaccess 파일을 참조 하지 않는다
Require all granted #모든 인바운드 허용
</Directory>
<Directory> 설정에 관한 자세한 내용은 여기를 참조.
위 설정에서 Indexes를 허용하면 사이트 디렉토리에 디폴트 페이지 (index.html, index.php 등)가 없을 때 디렉토리 목록을 보여준다. 보안상 좋지 않아 옵션을 없애는 경우가 많다.
Virtual Host (가상 호스트) 설정
가상 호스트를 설정하기 전에 도메인을 연결한다. (도메인 등록 사이트 DNS 레코드 관리에서 A레코드 등록)
아파치에는 /etc/apache2/sites-available/000-default.conf 파일이라는 기본 가상호스트 설정 파일이 있는데 이 건 그대로 두고 새로 만들 사이트의 설정 파일을 따로 만들어 관리 한다. vi 에디터를 이용해서 파일을 만든다
vi /etc/apache2/sites-available/chocoding.conf
아래와 같은 내용을 입력하고 저장
<VirtualHost *:80>
ServerName chocoding.kr #도메인 네임
ServerAlias www.chocoding.kr #별칭 (하위 도메인)
ServerAdmin chocodingit@gmail.com
DocumentRoot /var/www/chocoding #경로
ErrorLog ${APACHE_LOG_DIR}/chocoding-error.log
CustomLog ${APACHE_LOG_DIR}/chcoding-access.log combined
</VirtualHost>
만든 파일이 동작 하도록 한다. (Enabling site)
a2ensite /etc/apache2/sites-available/chocoding.conf
아파치 재시작
systemctl restart apache2
웹 페이지 접속 확인
이제 웹 브라우저로 사이트에 접속이 되는지 확인할 차례다. php 정보를 보여주는 파일을 하나 만들어서 접속이 되는지 확인해 본다.
cd /var/www/chocoding #chocoding 디렉토리로 이동
echo "<?php phpinfo(); ?>" >> info.php #쌍따옴표 안의 내용으로 info.php 파일 생성
내 도메인/info.php로 접속 해서 아래와 같은 페이지가 나오면 일단 접속까지는 모든 환경 설정이 잘 됐다고 볼 수 있다.