SEn/linux

Centos 7 APM(Apache) 설치

SEn123 2020. 7. 12. 00:40

설치전에 해야 할 일 이 있다.

# 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