본문 바로가기

Develop/Linux

[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 1

CentOS에 APM(Apache,PHP,MySQL)을 설치하는데, yum을 통한 자동설치가 아닌 Source 설치로 진행한다. (아래 스크립트 중 yum 명령어는 Obuntu OS에서는 해당되지 않으므로, apt-get 명령어를 사용해야한다)

yum으로 설치할 경우, 설치가 빠르고 편리하다는 이점이 있지만 설치버전이 최신버전이 아닌 안정화된 버전(즉, 상대적으로 낮은 버전)으로 설치되는 단점 아닌 단점이 있다. 각각 장,단점이 있으므로 환경이나 여건에 맞게 진행하면 된다.

참고로 아래 설치하는 중간에 종종 vi에디터로 파일을 수정하는 경우가 있는데, 수정할 땐 i키를 눌러 insert 상태로 만들어 수정하고 저장할 땐 ESC키를 누른 다음 :wq를 입력하면 저장된다.


[설치환경 / 2016.11.24기준]

1. OS : CentOS 6.8 (x64)
2. Apache : httpd-2.4.23
3. MySQL : mysql-5.6.30
4. PHP : php-5.6.25
5. VirtualBox에서 진행


[Apache Source 설치]

1. 기존에 설치된 Apache 웹서버 제거

yum remove -y httpd httpd-*




2. 빌드 환경 설정

yum install -y make gcc g++ gcc-c++ autoconf automake libtool pkgconfig findutils oepnssl openssl-devel openldap-devel pcre-devel libxml2-devel lua-devel curl curl-devel libcurl-devel flex




3. 관련 모듈 다운로드 및 설치

(1) apr 다운로드

cd /usr/local/src
wget http://mirror.apache-kr.org/apr/apr-1.5.2.tar.gz
tar xvfz apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make
make install

(2) apr-util 다운로드

cd /usr/local/src
wget http://mirror.apache-kr.org/apr/apr-util-1.5.4.tar.gz
tar xvzf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr/
make
make install

(3) pcre 다운로드

cd /usr/local/src
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
tar xvzf pcre-8.37.tar.gz
cd pcre-8.37
./configure --prefix=/usr/local/pcre
make
make install




4. Apache 웹서버 다운로드 및 설치

cd /usr/local/src
wget http://mirror.apache-kr.org/httpd/httpd-2.4.23.tar.gz
tar xvfz httpd-2.4.23.tar.gz
mv apr-1.5.2 httpd-2.4.23/srclib/apr
mv apr-util-1.5.4 httpd-2.4.23/srclib/apr-util
cd httpd-2.4.23
./configure --enable-module=so --enable-mods-shared=most --enable-maintainer-mode --enable-deflate --enable-headers --enable-rewrite --enable-ssl --enable-proxy --enable-proxy-http --enable-proxy-ajp --enable-proxy-balance --with-pcre=/usr/local/pcre --prefix=/usr/local/apache
make
make install




5. Apahce 웹서버 서비스 등록 및 실행

(1) httpd 서비스 파일 만들기

cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
 

vi에디터로 httpd 파일이 열리면 아래 #으로 처리된 내용을 그대로 추가하고 저장한다.
 
#!/bin/sh
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/apache/bin/apachectl
# config: /usr/local/apache/conf/httpd.conf
# pidfile: /usr/local/apache/logs/httpd.pid



(2) httpd.conf 파일 수정

vi /usr/local/apache/conf/httpd.conf


vi에디터로 httpd.conf 파일이 열리면 ServerName 부분을 찾아 주석을 제거하고 사용할 서버명을 입력한다. (여기서는 localhost로 한다)

ServerName localhost
 




 이어서 아래 내용을 주석처리하고 저장한다. (#추가)
 
#LoadModule unique_id_module modules/mod_unique_id.so




(3) httpd 서비스 시작

service httpd start
 
별다른 오류가 발생하지 않았다면, 서비스가 정상적으로 시작된 것이다.


(4) httpd 서비스 실행 확인

ps -ef | grep httpd
 

(5) 리눅스 시작 시, httpd 서비스 자동실행

chkconfig httpd on
 

(6) httpd 서비스가 자동시작되도록 설정되었는지 확인

chkconfig | grep httpd



6. 방화벽 설정

※ CentOS 7부터는 방화벽으로 iptables를 사용하지 않고, firewalld를 사용한다. (/etc/sysconfig/iptables에 파일이 없음)
따라서, 포트를 열여줘야 한다면 조금 다른 방법으로 진행해야 한다.


아파치 웹서버를 외부에서 웹브라우저로 접속하기 위해서는 TCP 80 포트를 방화벽에서 열어줘야만 한다.

vi /etc/sysconfig/iptables
 


 vi에디터로 iptables 파일이 열리면 아래 #부분의 내용을 추가하고 저장한다. (실제 삽입 시, #을 포함하면 안됨)
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
 





 저장까지 완료되었다면, 방화벽 설정 재시작
 
service iptables restart



여기까지 설정했다면 Apache 웹서버 설치가 완료되었다.

이제 브라우저를 실행해 주소창에 localhost를 입력해 보면 It Works! 라는 텍스트가 표시될 것이다.


* APM 소스설치 링크

[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 1 http://jguru-study.tistory.com/29
[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 2 http://jguru-study.tistory.com/30
[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 3 http://jguru-study.tistory.com/31