AWS EC2에서 httpd 사용하기
1. HTTPD란?
HTTPD (hypertext trnasfer protocol daemon)
▶ HTTP 서비스를 제공하는 데몬 서버
▶ 80번 포트를 사용 (SSH 프로토콜은 22번이었음)
▶ 서버 패키지 : apache
※ apache : 서버에서 웹 페이지 전송 서비스를 제공하는 서버 프로그램
▶ EC2 인스턴스가 일종의 물리적 서버 컴퓨터라면, HTTPD는 서버 컴퓨터에서 웹 서비스를 제공하기 위한 프로그램
2. HTTPD 사용 과정
2-1. 서버 로그인 (PuTTY)
▷ PuTTY용 키페어 바로 생성 가능 -> ppk pem 파일 변환 불필요
2-2. 서버 접속후 터미널에서 yum 패키지 업데이트
▶ sudo yum update 입력하여 yum 업데이트
▷ sudo : 유닉스 계열 운영체제에서 관리자 권한(슈퍼 유저)으로 작업을 실행할 수 있도록 하는 명령어
▶ yum (yellowdog updater modified)
▷ RPM (redhat packager manager) 기반 시스템을 위한 자동 업데이터 및 패키지 관리도구
2-3. HTTPD 설치
▶ sudo yum install httpd 입력하여 HTTPD 설치
▷ 용량 확인 화면에서 y 한번 눌러줌
▶ 설치 완료후 /var/www/ 디렉토리가 생성됨
▷ /var/www/html 디렉토리가 웹 루트 디렉토리가 됨 (여기에 웹에 게시할 HTML 문서를 위치시켜야 함)
2-4. var/www/html 디렉토리로 이동
▶ HTTPD 초기 설치시 사용자에게 /var/www 디렉토리의 수정 권한이 없음
▷ 권한 설정을 위한 작업 필요
▶ /var/www 에서 ls -l 입력하여 권한 필요 확인
▷ 처음에는 관리자(root)만 수정 권한 있음
2-5. 접근 권한 수정
▶ /var/www/html 에서 sudo groupadd www 명령어 입력
▷ www 디렉토리를 group에 포함시키는 명령어
▶ sudo usermod -a -G www ec2-user
▷ 사용자 ec2-user를 www 그룹에 포함시키는 명령어
▶ 재접속 필요하므로 exit 입력하여 종료 후 재접속
2-6. 접근 권한 문제 해결
▶ groups 명령어 실행하여 group들 확인 (최상위에서 실행)
▶ 아래 명령어 차례로 입력
(ec2-user 에게 root가 가진 디렉토리와 파일 수정 접근 권한을 부여)
▶ sudo chown -R root:www /var/www
▶ sudo chown -R ec2-user:apache /var/www
▶ sudo chmod 2775 /var/www
▶ find /var/www -type d -exec sudo chmod 2775 {} \;
▶ find /var/www -type f -exec sudo chmod 0664 {} \;
2-7. HTTPD 서비스 실행
▶ 서버 프로그램을 한 번 실행하면 파일 수정사항이 자동으로 반영됨
▶ sudo service httpd start 입력 후 브라우저에서 퍼블릭 주소 입력
▷ html 디렉토리에 index.html 파일이 있지만, http 프로토콜에 대한 접속이 막혀있어서 접속 불가
▷ 웹 서버 인스턴스 포트 설정 필요
2-8. 웹 서버 인스턴스 포트 설정
▶ AWS EC2 콘솔로 이동
▶ 해당 인스턴스의 보안그룹 탭 클릭 후 인바운드 규칙 편집 클릭
▶ 새로운 인바운드 규칙 추가
▷ 유형 : HTTP
▷ 프로토콜 : TCP
▷ 포트범위 : 80
▷ 소스 : anywhere
2-9. 접속 완료 및 index.html 교체해보기
▶ apache 테스트 페이지 정상 로딩 확인 (index.html)
▶ index.html 새로 만들어서 WinSCP로 서버에 업로드
▷ PuTTY 켜놓은 상태에서도 가능
▶ 퍼블릭 주소의 웹사이트 새로고침 해보고 변경 확인