Free Tier에서 사용 가능한 AMI(Amazon Machine Image)가 여러가지가 제공되고 있었지만 아무래도 아마존에서 직접 배포하는 Amazon Linux를 사용하는 게 좀 더 효율적이지 않을까 하는 마음에 Amazon Linux 2 AMI를 사용해서 인스턴스를 생성하였다. Amazon Linux가 업그레이드되어 2가 나왔길래 결국 언젠가는 최신 버전으로 바뀔 것이라는 생각에 Amazon Linux 2로 인스턴스를 생성하고 웹 개발 환경을 구축해보려고 한다.
참고로 Amazon Linux 2로 EC2를 생성하고 나면 초기 상태에서는 Apache나 Tomcat 따위는 설치되어 있지 않다. 심지어 JDK나 gcc 같은 것도 없다. 아주 깔끔하게 Minimal한 상태로 설치가 된다.
대부분의 경우 EC2 인스턴스를 생성하면서 보안 그룹(방화벽) 설정은 이미 끝났을 것이다. Apache를 설치 후 테스트를 위해서 80 포트로 접속이 가능해야 하므로 아직 80 포트를 열어놓지 않았다면 확인 후 열어놓도록 하자. https를 사용할 계획이라면 당장 사용하지는 않더라도 443 포트도 같이 열어 놓도록 하자. 보안 그룹을 설정하는 방법은 이미 알고 있을 것이므로 따로 설명하지는 않겠다.
이제 Apache Web Server(이하 Apache)를 설치해 보도록 하자. Amazon Linux는 CentOS를 기반으로 만들어졌다고 한다. 그래서 패키지 관리자로 yum을 사용한다. Apache는 yum을 이용해서 간단하게 설치가 가능하다. 아래 명령을 실행해보도록 하자.
$ yum list | grep httpd
위 명령을 실행하면 아래 그림과 같이 httpd가 이름에 들어가는 패키지의 목록을 볼 수 있다.
Apache 패키지 명은 httpd 이며 현재 제공되는 버전은 2.4.33이다. 아래 명령으로 httpd 패키지를 설치해 주도록 하자.
$ sudo yum install httpd
추후에 Tomcat 등의 WAS와 연동 계획없이 Apache만 단독으로 돌려서 서비스를 계획하고 있다면 Apache의 설치는 이제 끝이다. 하지만 Tomcat과 연동할 계획이라면 httpd-devel 패키지도 설치해 주도록 하자. httpd-devel 패키지는 Apache용 모듈을 빌드할 때 사용될 헤더파일들과 도구(apxs)를 설치해준다. Tomcat 연동을 위한 AJP13 프로토콜 연결을 위해서 mod_jk 모듈을 많이 사용하는데 mod_jk 모듈을 빌드하기 위해서 반드시 필요하므로 연동을 원한다면 반드시 설치해 주도록 하자.
$ sudo yum install httpd-devel
패키지가 설치되었다면 터미널에서 아래 명령으로 Apache를 시작, 종료할 수 있다.
// Apache 시작 $ sudo service httpd start // Apache 종료 $ sudo service httpd stop // Apache 재시작 $ sudo service httpd restart
Apache의 설정 파일은 모두 /etc/httpd 아래 있다. 가장 중요한 httpd.conf 파일은 /etc/httpd/conf 아래 있으므로 한 번 열어보록 하자.
파일 내용을 들여다 보면 대충 짐작하겠지만 80 포트를 Listen하고 있고 DocumentRoot는 /var/www/html 임을 알 수 있다. 이 밖에도 모듈 설정, 로그 위치나 포맷 등의 내용이 있으므로 주석을 포함해서 자세히 읽어보는 것도 꽤 도움이 된다. 일단 아무것도 수정하지 말고 기본 설정 그대로 두도록 하자.
이제 위의 시작 명령으로 Apache를 시작시키고 브라우저를 띄워서 주소창에 EC2 인스턴스의 Public IP주소로 접속을 해보자. 아래 그림과 같은 페이지가 보인다면 제대로 설치된 것이다.
만일 위와 같은 페이지가 보이지 않는다면 보안 그룹 설정이 잘못되진 않았는지 주소가 틀리진 않았는지 다시 한 번 체크해보기 바란다.
0 개의 댓글:
댓글 쓰기