Programming/Linux

Ubuntu (20.04.5 LTS) Apache2 웹 서버 설치하는 방법

Jan92 2023. 5. 15. 21:17

(Ubuntu) Apache2 웹 서버 설치 방법

ubuntu apache2 web server 설치

해당 포스팅은 'Ubuntu 20.04.5 LTS 환경에서 Apache2 Web Server를 설치하는 방법'에 대한 내용입니다.

웹 서버 설치 및 방화벽 포트 허용 과정이 포함되어 있으며, 해당 과정에서 발생할 수 있는 상황에 대한 주의사항이 포함되어 있습니다.

 

 


1. 패키지 목록 업데이트 및 Apache2 설치

//패키지 목록 업데이트
$ sudo apt-get update

//Apache2 Web Server 설치
$ sudo apt-get install apache2

apache2 설치로 인해 일정 용량의 디스크 공간이 사용된다는 'After this operation, ~kB of additional disk space will be used.' 메시지를 허용하여 설치를 완료합니다.

 

 

2. 설치 완료 후 확인

//apache2 상태 확인
$ sudo service apache2 status

 

apache2 status

위 명령어를 통해 Apache2 상태를 확인할 수 있으며, 처음 설치가 완료되었을 때, 다음과 같이 'active (running)' 상태가 됩니다.

 

$ sudo service apache2 start      //아파치 웹 서버 시작
$ sudo service apache2 stop       //아파치 웹 서버 종료
$ sudo service apache2 restart    //아파치 웹 서버 재시작
$ sudo service apache2 reload     //아파치 웹 서버를 중지하지 않고 환경 설정을 적용

(상태 확인 외 아파치 웹 서버 시작, 종료, 재시작 등 사용되는 명령어)

 

Apache2 Ubuntu Default Page

여기까지 Apache2 웹 서버를 설치하고 active 상태가 되었다면, 해당 인스턴스 외부 ip로 접속 시 다음과 같은 아파치 기본 페이지가 뜨는 것을 확인할 수 있습니다.

(아파치 웹 서버의 기본 페이지는 /var/www/html/index.html에 위치하고 있습니다.)

 

 

3. 방화벽(ufw) 설치 및 활성화

//ufw(방화벽) 설치
$ sudo apt-get install ufw

//ufw(방화벽) 활성화
$ sudo ufw enable

다음으로 apache 웹 서버 테스트를 위한 방화벽 설정 과정입니다.

 

sudo ufw enable

***

이때 주의할 점으로는 ufw를 활성화하면 방화벽 작동으로 인해 모든 포트가 막히게 되는데요.

때문에 활성화만 하고 포트에 대한 설정을 하지 않고 종료하게 되면 다시 접속할 때 ssh 접근을 못하게 되는 경우가 발생할 수 있습니다.

'ssh: connect to host ~ port 22: Operation timed out'

 

//방화벽 기본 정책 차단
$ sudo ufw default deny

//로그를 남기도록 설정
$ sudo ufw logging on

 

 

4. 방화벽 포트 허용

ufw app list

//등록, 삭제 할 수 있는 룰 확인
$ sudo ufw app list

/etc/ufw/applications.d 파일을 보면 서비스별로 ufw 설정이 나눠져 있으며, ufw 설정을 그룹화하여 관리할 수 있는데요.

해당 명령어로 반환되는 결과는 실제 등록되어 적용되는 룰이 아니니라 등록 또는 삭제할 수 있는 룰입니다.

 

- Apache: 80 포트만 허용

- Apache Full: 80 포트(암호화되지 않은 웹 트래픽에 대한 일반 포트)와 443 포트(TLS/SSL 암호화 트래픽에 대한 포트)를 허용

- Apache Secure: 443 포트(TLS/SSL 암호화 트래픽에 대한 포트)만 허용

 

//80포트와 443포트 허용
$ sudo ufw allow 'Apache Full'

//추가로 21, 22 포트도 허용
$ sudo ufw allow 21
$ sudo ufw allow 22

(방화벽 포트 허용은 위와 같이 allow를 통해 실행되며, 반대로 포트를 허용하지 않는 경우는 deny 옵션을 통해 실행하면 됩니다.)

 

 

5. 방화벽 포트 허용 확인

sudo ufw status

//방화벽 포트 허용 확인
$ sudo ufw status

다음 명령어를 통해 방화벽 포트 허용 상태를 확인할 수 있으며, 여기까지가 아파치 웹 서버 설치의 기본적인 과정입니다.

 

 

 

< 참고 자료 >

https://askforyou.tistory.com/120

https://gksdudrb922.tistory.com/202