chocoding™

좌충우돌 엉망진창 코딩 성장 블로그

우분투 아파치 웹 서버 환경 설정 하기 (conf 파일 수정)

“AWS EC2 서비스에 워드프레스를 위한 웹 서비스 환경 구축 하기” 목차
  1. 웹 서비스 패키지 설치 하기 (Apache HTTP Server, PHP, MySQL)
  2. Apache HTTP Server 환경 설정 하기
  3. 사이트 인증서 발급 받고 HTTPS 사용 하기

워드프레스 설치를 위한 우분투 아파치 웹서버 환경을 설정하는 방법에 대해 알아 보자. 이 포스트에서는 워드프레스를 설치하는 방법에 대해서는 언급하지 않는다. 그리고 아직 우분투에 웹 서비스 환경이 마련되지 않았다면 위 목차에 있는 aws-ec2-우분투에-워드프레스를-위한-웹-서버-설치하기 문서를 참조.

환경 설정 순서는 다음과 같다.

준비 사항

우분투 아파치 웹 서버 환경 설정 전에 아래와 같은 사항이 준비되어야 한다.

  • 우분투에 웹 서비스 환경 (아파치 웹 서버, PHP, MySQL)
  • 파일질라 FTP 클라이언트 : 다운로드
  • 원격 SSH 접속 환경 (putty SSH, vscode SSH, EC2 Connect 등)

사이트 디렉토리 만들고 소유자 변경 하기

우분투 사용자 만들기

ShellScript
adduser chocoding   #사용자 삭제 시에는 userdel 사용

사용자를 따로 생성해서 환경을 설정해도 되지만 개인이 사용하는 입장에서는 굳이 사용자를 더 생성할 필요는 없다고 생각 한다. 나중에 문제가 생기게 되면 그 때 가서 해결 방법을 찾아 보도록 하고… 이 포스트에서는 기본 사용자인 ubuntu를 사용할 예정이다

디렉토리 만들기

우분투에 아파치를 설치하면 /var/www/html 디렉토리가 만들어 지는데 이곳에 워드프레스를 업로드 할 디렉토리를 만들도록 한다.

ShellScript
sudo su  #관리자 권한 얻기
mkdir /var/www/chocoding  #/var/www 디렉토리에 chocoding이라는 디렉토리 생성

위에서 만들어진 폴더는 관리자 권한으로 만들었기 때문에 소유자는 root가 되고 권한은 755가 된다

디렉토리 소유자 바꾸기

ubuntu 사용자로 접속해서 파일을 올릴 수 있어야 하므로 디렉토리의 소유자를 ubuntu로 바꿔 준다

ShellScript
chown ubuntu:ubuntu /var/www/chocoding

사이트 동작 설정

/etc/apache2/apache2.conf 파일은 사이트 디렉토리가 어떻게 동작 해야 하는지 기술하는 곳이다. 기본적으로 기술된 동작은 아래와 같다.

ShellScript
<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 에디터를 이용해서 파일을 만든다

ShellScript
vi /etc/apache2/sites-available/chocoding.conf

아래와 같은 내용을 입력하고 저장

ShellScript
<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)

ShellScript
a2ensite /etc/apache2/sites-available/chocoding.conf

아파치 재시작

ShellScript
systemctl restart apache2

웹 페이지 접속 확인

이제 웹 브라우저로 사이트에 접속이 되는지 확인할 차례다. php 정보를 보여주는 파일을 하나 만들어서 접속이 되는지 확인해 본다.

ShellScript
cd /var/www/chocoding  #chocoding 디렉토리로 이동
echo "<?php phpinfo(); ?>" >> info.php  #쌍따옴표 안의 내용으로 info.php 파일 생성

내 도메인/info.php로 접속 해서 아래와 같은 페이지가 나오면 일단 접속까지는 모든 환경 설정이 잘 됐다고 볼 수 있다.