ubuntu apache2 스테이징 환경을 구축하면서 기초적인 부분이라도 끄적여본다.
서버환경: ubuntu 20.04
apt를 활용한 아파치 설치
sudo apt-get install apache2
설치를 완료후 잘 설치 되었는지 버전을 확인해본다
apache2 -v
설치가 잘 되었다면 일단 서비스를 실행해보자
apache2 실행
sudo systemctl start apache2
잘 실행되었는지 확인
ps aux | grep apache2
여기까지 이상이 없다면 설치는 완료다 !
설정을 시작하기전에 간단하게 apache2 구조를 살펴보자
/etc/apache2 : apache 디렉토리
/etc/apache2/apache2.conf : 설정파일 ( 해당파일에서 mod,site,port,conf 다 불러온다)
/etc/apache2/mods-available : 사용가능한 모듈
/etc/apache2/mods-enabled : a2enmod(활성)/a2dismod(비활성)를 활용하여 mods-available에 있는 모듈을 활성화 시킬수있다. ( 활성화 되는 방식은 mods-available의 모듈을 심볼릭 링크로 추가하여 활성)
/etc/apache2/ports.conf : Listen 할 포트를 설정
/etc/apache2/sites-available : 서버에 운영할 사이트 설정파일
/etc/apache2/sites-enabled : a2ensite(활성)/a2dissite(비활성)를 활용하여 sites-available에 있는 설정파일을 활성화 시킬 수 있다. (방식은 mods-enabled의 설명과 같음)
/etc/apach2/conf-available : 사용가능한 구성파일
/etc/apach2/conf-enabled : a2enconf(활성)/a2disconf(비활성)를 활용하여 conf-available에 있는 설정파일을 활성화 시킬 수 있다. (방식은 mods-enabled의 설명과 같음)
/etc/apache2/magic :파일의 시작값(magic number) 데이터베이스. 이 값에 기반해 전송하는 파일의 MIME Type을 결정한다.
/etc/apache2/envvars : apache2ctl 환경설정 파일이다.
apache2는 위와 같이 구성되어있다.
site 설정을 위해 sites-available을 들어가게되면
/etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/default-ssl.conf
두개 파일이 기본으로 있는대 000-default.conf(port 80)[http://] default-ssl.conf(port 443)[https://] 한개의 사이트만 운용 할꺼라면 해당을 수정해서 사용해도 되지만 좀 더 아름다운 관리를 위해 설정파일을 하나 생성해준다.
파일 복사
cp 000-default.conf test.com.conf
test.com.conf 파일을 살펴보자
<VirtualHost *:80>
ServerAdmin webmaster@test.com #관리자메일
ServerName test.com #도메인
DocumentRoot /var/www/html #경로
ErrorLog "|/usr/bin/rotatelogs ${APACHE_LOG_DIR}/error.log.%Y-%m-%d_%H 3600 +540" # 매시간마다 에러로그파일을 변경
ErrorLog "|/usr/bin/rotatelogs ${APACHE_LOG_DIR}/access.log.%Y-%m-%d_%H 3600 +540" # 매시간마다 접근로그파일을 변경
</VirtualHost>
기본적으로 sites-enabled 확인해보면 000-default.conf, default-ssl.conf 사이트 두개가 활성화 되어있다.
기본파일 비활성 및 신규 생성파일 활성
a2dissite 000-default.conf
a2dissite default-ssl.conf
a2ensite test.com
위와같이 설정을 하면 80포트로 접속하면 test.com.conf를 바라보게 된다.
추가로
default-ssl.conf를 살펴보면 최상단에 로 if로 감싸져 있기때문에
mod_ssl이 활성화 되지 않으면 백날 파일을 지지고 볶고 만들어봐야 https를 사용할수없다.
mod_ssl 활성화
a2enmod ssl
활성화 후에는 꼭 재시작을 해주자
apache2 재시작
sudo systemctl restart apache2
쓰다보니까 끝도 없이 쓸거 같아서 .. 여기서 마무리한다.
이 글을 쓰면서 느낀점은 메뉴얼을 잘 읽어보고 왜 어떻게 동작하는지 조금만 고민하다 깨닫는 순간 어려워 보이던 설정도 별거 없다고 느껴진다.
그리고 메뉴얼을 무서워하지 말자. 구글 번역기만 돌려도 어느정도는 다 알아 먹을 수 있다.
번역기 쵝오! ^o^