소스파일을 이용한 컴파일 설치
1) 설치에 필요한 패키지의 설치
리눅스 상에서 소스파일 다운로드하고, 컴파일을 위하여 필요한 패키지를 설치합니다.
yum -y install wget gcc gcc-c++ pcre-devel openssl-devel |
2) 설치파일 다운로드 및 압축해제
# apache 소스 파일 다운로드 및 압축해제
cd /usr/local/src wget http://mirror.apache-kr.org/httpd/httpd-2.4.18.tar.gz tar xzvf httpd-2.4.18.tar.gz # 설치 시 필요한 파일 추가 다운로드 및 압축해제 cd httpd-2.4.18/srclib wget http://mirror.apache-kr.org//apr/apr-1.5.2.tar.gz wget http://mirror.apache-kr.org//apr/apr-util-1.5.4.tar.gz tar xvfz apr-1.5.2.tar.gz tar xvfz apr-util-1.5.4.tar.gz mv apr-1.5.2 apr mv apr-util-1.5.4 apr-util |
웹 서버 구축을 위한 apache 소스파일을 이용하기 위해서는 http://httpd.apache.org/download.cgi 사이트를 참고하여 httpd 2.4 최신버전을 다운로드 받습니다. 이 글에서는 리눅스에서 직접 설치를 위해 wget 명령어를 이용하였습니다.
Apache 설치에 필요한 환경이 모두 준비되었으면 configure 명령어를 통해 설치 파일을 구성합니다.
# configure command
./configure –prefix=/usr/local/apache –enable-so –enable-rewrite –enable-ssl –enable-mods-shared=all –enable-modules=shared –enable-mpms-shared=all –with-included-apr –enable-unique-id |
컴파일이 정상적으로 완료되면 make 명령어를 통해 컴파일 및 설치를 진행합니다.
4) 설치 후 설정
설치가 완료되면 서비스 스크립트를 /etc/init.d/ 위치에 복사하여 사용가능 하도록 처리 후
재부팅 시에도 웹 서버가 자동으로 구동될 수 있도록 runlevel에 등록해줍니다.
# httpd 스크립트 복사 및 서비스 runlevel 등재
cp -a /usr/local/apache/bin/apachectl /etc/init.d/httpd ln -s /etc/init.d/httpd /etc/rc3.d/S99httpd /etc/init.d/httpd -V |
아래와 같이 간단한 명령어를 통해 정상 등재되었는지 확인합니다.
5) 서비스 확인
/etc/init.d/httpd start |
http 스크립트 명령어를 통해 웹서비스를 시작한 후 정상적으로 80 port가 Listen되는지 확인합니다.
rpm 설치
1) httpd 패키지 설치
CentOS에서는 RHEL계열에서 처리되는 rpm 방식으로 설치가 가능합니다. 일반적으로 아래 이미지와 같이 yum 명령어를 통해 관련 패키지 및 의존성 패키지를 한 번에 설치할 수 있습니다.
httpd패키지 설치를 yum으로 진행 시 httpd와 그 의존성 패키지인 apr, apr-util 를 설치합니다.
2) 설치 후 확인 사항
설치 완료 후 정상적으로 httpd 가 설치되었는지 점검합니다.
rpm으로 설치 시 관련 명령어의 path 등 기본 환경 설정이 적용됩니다. systemctl enble httpd.service 명령어를 통해 httpd 서비스를 구동한 후 80포트가 정상적으로 Listen 상태인지 확인합니다.
– 웹서비스 확인
1) apache 설정파일 확인
Apache에 설정된 파일을 확인하여 DocumentRoot와 DirectoryIndex를 확인한다. 별도의 수정이 없었다면 결과는 다음과 같습니다.
DocumentRoot “/var/www/html”
DirectoryIndex index.html
2) 테스트 페이지 확인
설정파일에 기재된 내용을 참고하여 해당 위치 해당 파일명으로 테스트할 페이지를 생성합니다.
echo ‘Gabia Test Page ! ! !’ > /var/www/html/index.html |
3) 방화벽 확인
CentOS를 기본 설치할 경우 외부에서의 80포트 접근이 차단되어있습니다.
아래와 같은 명령어를 이용하여 현재 정책이 존재하는 port를 확인할 수 있습니다.
firewall-cmd –zone=public –list-all |
Ports 란이 공란으로 되어있으며 tcp 80포트가 정상적으로 접근되지 않음을 알 수 있습니다.
위와 같은 명령어를 통해 80port로의 모든 접근이 가능하도록 정책을 넣은 후 방화벽을 relaod합니다.
# 80 port any open
firewall-cmd –permanent –zone=public –add-port=80/tcp # 방화벽 리로드 firewall-cmd –reload |
정상적으로 허용이 되었는지 확인은 아래 명령어로 확인할 수 있습니다.
# 방화벽 public 영역 모든 리스트 확인
firewall-cmd –zone=public –list-all | grep 80 |
4) 브라우저 테스트
http://192.168.0.10/ 페이지가 정상적으로 출력되는지 서버 외부의 클라이언트에서 일반 웹 브라우저로 호출해봅니다.