웹이야기

리눅스에서 apm 설치(apache + php + mysql) 본문

기타

리눅스에서 apm 설치(apache + php + mysql)

yeon.Biju 2020. 7. 4. 19:11

CentOS 에서 apm을 간단하게 설치해보고자 한다. 

MySQL 8.x

Apache 2.4

PHP 7

 

MySQL에 약간의 문제가 있는 것 같아 MySQL 5.7 버전으로 동일하게 설치해도 정상적으로 잘 작동함.

 

 

1. MySQL 설치

   - MySQL 설치는 아래 URL을 참조한다.

https://webobj.tistory.com/5

 

5. MySQL 설치(리눅스) - 소스 컴파일

MySQL 8.0.18 설치 MySQL 5.7.28 도 동일하게 설치를 진행해도 잘 되었다. 요약본 #yum -y install cmake #yum -y install git #yum -y install openssl #yum -y install openssl-devel #yum -y install libtirpc..

webobj.tistory.com

 

2. Apache 설치

#cd /usr/local/src 

 

1) 파일 다운로드

1
2
3
#wget http://apache.mirror.cdnetworks.com/httpd/httpd-2.4.43.tar.gz
#wget http://apache.mirror.cdnetworks.com/apr/apr-1.6.5.tar.gz
#wget http://apache.mirror.cdnetworks.com/apr/apr-util-1.6.1.tar.gz
 

 

2) 압축을 풀어준다.

#tar xvzf httpd-2.4.43.tar.gz

#tar xvzf apr-1.6.5.tar.gz

#tar xvzf apr-util-1.6.1.tar.gz

 

3) 압축 푼 파일중에 apr과 apr-util을 httpd/src/lib 아래로 이동

#mv apr-1.6.5 ./httpd-2.4.43/srclib/apr
#mv apr-util-1.6.1 ./httpd-2.4.43/srclib/apr-util

 

4)apache configure

# cd httpd-2.4.43/
#./configure --prefix=/usr/local/apache --enable-so --enable-ssl=shared --with-ssl=/usr/local/ssl --enable-rewrite

5) make

#make

 

에러처리

xml/apr_xml.c:35:10: fatal error: expat.h: No such file or directory

와 같은 에러가 발생하면 

 

#yum -y install expat-devel

을 해서 설치를 해준다.

 

설치후

#make clean

#make

 

make 가 잘 되면 다음을 해준다.

 

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_GetErrorCode'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ParserCreate'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ParserFree'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetUserData'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_StopParser'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_Parse'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_ErrorString'

/usr/local/src/httpd-2.4.43/srclib/apr-util/.libs/libaprutil-1.so: undefined reference to `XML_SetElementHandler'

 

와 같은 에러가 발생할때가 있어서 apr과 apr-util 을 최신것을 받았더니 해결이 되기도 하였다.

 

6)make install

#make install

 

7) apache 시작

#cd /usr/local/apache/bin

#./apachectl start

 

#ps -ef | grep httpd

아래와 같이 나오면 설치가 잘 된 것임

root     128708      1  0 22:46 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon   128709 128708  3 22:46 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon   128710 128708  3 22:46 ?        00:00:00 /usr/local/apache/bin/httpd -k start
daemon   128711 128708  3 22:46 ?        00:00:00 /usr/local/apache/bin/httpd -k start
root     128796   8236  0 22:47 pts/1    00:00:00 grep --color=auto httpd

 

8) 방화벽을 열어준다. 

방화벽 오픈

#sudo firewall-cmd --permanent --zone=public --add-port=80/tcp 
방화벽 재시작

#sudo firewall-cmd --reload 

 

9) 브라우저를 열어서 확인

http://1.1.1.1

아이피 주소를 입력해서 it Works 가 나오면 성공

 

 

3. PHP 설치

#cd /usr/local/src

 

1) PHP 다운로드

#wget https://www.php.net/downloads/distributions/php-7.4.7.tar.gz

 

wget 으로 다운로드 해서 압축을 풀면 다음과 같은 에러가 발생을 하였다.

 

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

 

 

그래서 그냥 웹에서 다운로드 받아서 FTP 를 이용해서 옮겼다. 

https://www.php.net/downloads

 

PHP: Downloads

Current Stable PHP 7.4.7 (Changelog) php-7.4.7.tar.bz2 (sig) [12,429Kb] 11 Jun 2020 800e0d01f359c8ec41540925c0d4a24c34d5f21ef6addd6d82ff4a52be23d87a php-7.4.7.tar.gz (sig) [16,123Kb] 11 Jun 2020 a554a510190e726ebe7157fb00b4aceabdb50c679430510a3b93cbf5d7546

www.php.net

 

#cd /usr/local/src

 

2) 압축을 풀어준다.

#tar xvzf php-7.4.7.tar.gz

 

 

3) php configure

#./configure --prefix=/usr/local/php --with-mysqli --with-openssl=/usr/local/ssl --with-pdo-mysql=mysqlnd --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem 

 

 

Package 'libxml-2.0', required by 'virtual:world', not found

라는 에러가 발생한다.

 

#yum -y install libxml2-devel

 

다시 configure 를 하니 

 

Package 'sqlite3', required by 'virtual:world', not found

라는 에러가 발생한다. 

 

 

#yum -y install sqlite
#yum -y install sqlite-devel

 

다시 configure 를 한다.

 

덤으로  

#yum install libjpeg-devel

#yum install libpng-devel

이것도 해줬다. 

 

4) make

#make

 

make 를 하고 나면 

Build complete.
Don't forget to run 'make test'.

라고 나온다. 

 

#make test 

 

make test로 나온 말에는 신경쓰지 않고 넘어간다. 

 

5)make install

#make install

 

 

6)php.ini 생성(복사)

#cp /usr/local/src/php-7.4.7/php.ini-development /usr/local/apache/conf/php.ini

 

 

7)php.ini 수정

#vi /usr/local/apache/conf/php.ini

 

파일을 열어 일단 

mysqli.default_socket =/var/lib/mysql.sock

부분만 수정한다.

 

8)httpd.conf 수정

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

 

<IfModule dir_module>

      DirectoryIndex index.html index.php

</IfModule>

 

index.php 를 추가해준다.

 

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php .html .htm .inc

AddType application/x-httpd-php-source .phps

 

 

AddType application/x-httpd-php .php .html .htm .inc

AddType application/x-httpd-php-source .phps

 

이 2줄을 추가해준다. 

 

8)apache 재시작

#cd /usr/local/apache/bin

#./apachectl restart

 

9)info.php 

#cd /usr/local/apache/htdocs/

#vi info.php


<?php
phpinfo();
?>

 

저장을 하고 나온다.

 

브라우저로 확인을 해본다.

대략 아래처럼 나오면 성공으로 보면 될 듯하다.

 

 

 

Done.

 

너무도 오랫만의 설치라 한번 정리를 해봤다.

'기타' 카테고리의 다른 글

HTTP 응답코드  (0) 2020.08.19
Java 다운로드(jdk1.8, jdk1.7, java 11 등)  (0) 2020.03.10
미러사이트 4개(Cent OS , apache등)  (0) 2020.03.07
Cent OS 다운로드  (0) 2020.03.07
tortoiseSVN 다운로드 및 이용방법  (0) 2020.03.02
Comments