Centos 7 APM(Apache) 설치
설치전에 해야 할 일 이 있다.
# rpm -qa | grep 을 이용하여 mysql, php, apache 관련 파일이 설치되어 있는지 확인한다.
wget을 이용하여 apache, php, mysql, apr, apr-util 을 다운받는다.
다운 받은 파일을 tar -xvf 명령어를 이용하여 압축을 풀어준다.
-Apache -
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# cd apr-1.7.0
[root@localhost apr-1.7.0]# ./configure./configure --prefix=/usr/local/src/apr-1.7.0
[root@localhost apr-1.7.0]# make && make install
[root@localhost src]# cd ../apr-util-1.6.1
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/lcoal/src/apr-util-1.6.1 --with-apr=/usr/local/src/apr-1.7.0
[root@localhost apr-util-1.6.1]# make && make install
[root@localhost apr-util-1.6.1]# yum -y install pcre-devel
(설치가 되어있음 굳이 설치 안해도 된다.)
---------------------------------------------------
*설치시에 expat-devel 관련 에러가 발생할 시
# yum -y install expat-devel
libtool관련 에러도 발생 시
# echo $?
0
이라는 값이 반환된다. 신경 쓸 필요 없는듯?!
yum 으로 설치해줘도 발생한다.
---------------------------------------------------
[root@localhost apr-util-1.6.1]# cd ../httpd-2.4.43
[root@localhost httpd-2.4.43]# ./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-so --enable-rewrite --enable-proxy --enable-ssl --enable-unique-id --enable-mods-shared=all --enable-so --with-apr=/usr/local/src/apr-1.7.0 --with-apr-util=/usr/local/src/apr-util-1.6.1
[root@localhost httpd-2.4.43]# make && make install
-------------------------------------------------------------------------------
configure: error ...No recognize SSL/TLS toolkit detected 에러 발생 시
# yum -y install openssl-devel
-------------------------------------------------------------------------------
설정파일을 수정해주어야 한다.
[root@localhost httpd-2.4.43]# cd /usr/local/apache/conf
[root@localhost conf]# vi httpd.conf
------------------------------------------------
:? AddType 을 입력하면 쉽게 찾을 수 있다.
AddType application/x-httpd-php .php .html .htm
AddType application/x-httpd-source .phps
추가
------------------------------------------------
------------------------------------------------------
:? DirectoryIndex 을 입력하면 쉽게 찾을 수 있다.
DirectoryIndex index.html index.php
------------------------------------------------------
-----------------------------------------------------
하단 부분에
httpd-default.conf
httpd-mpm.conf
주석을 풀어준다.
:wq!
-----------------------------------------------------
[root@localhost conf]# cd extra/
[root@localhost extra]# vi httpd-mpm.conf
------------------------------------------------------
<IfModule mpm_prefork_module>
ServerLimit 2048
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 2048
MaxRequestsPerChild 0
</IfModule>
mpm 모드로 설치가 되었기때문에 mpm을 수정한다.
------------------------------------------------------
[root@localhost extra]# httpd-default.conf
------------------
timeout 30
keepAlive Off
로 수정
------------------
[root@localhost extra]# cd ../../bin
[root@localhost bin]# ./httpd -t
(문법 이상 여부 확인)
[root@localhost bin]# ./apachectl start
[root@localhost bin]# netstat -nltp
-서비스 등록-
[root@localhost bin]# cd /usr/lib/systemd/system/
[root@localhost system]# vi httpd.service
------------------------------------------------------------
[Unit]
Description= apache server
[Service]
Type=forking
PIDFile=/usr/local/apache/logs/httpd.pid
ExecStart=/usr/local/apache/bin/apachectl start
ExecReload=/usr/local/apache/bin/apachectl graceful
ExecStop=/usr/local/apache/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
--------------------------------------------------------------
[root@localhost system]# systemctl restart httpd
[root@localhost system]# systemctl enable httpd
(명령어가 안먹힌다면 재부팅한 후 해본다.)
-방화벽 오픈-
[root@localhost system]# yum -y install firewalld
[root@localhost system]# systemctl start firewalld
[root@localhost system]# systemctl enable firewalld
[root@localhost system]# firewall-cmd --permanent --add-service=http
[root@localhost system]# firewall-cmd --complete-reload
or
[root@localhost system]# firewall-cmd --permanent --zone=public --add-service=http
[root@localhost system]# firewall-cmd --complete-reload