APM 소스 설치(컴파일 설치, 수동설치)-PHP

2021. 1. 24. 04:43Server

반응형

0. PHP 설치를 위한 의존성패키지 확인

$ apt-get install libxml2-dev
$ apt-get install libjpeg-dev
$ apt-get install libpng-dev

1. PHP tar.gz 다운로드

$ cd /usr/local
$ wget https://www.php.net/distributions/php-7.4.1.tar.gz
$ tar xvfz php-7.4.1.tar.gz

2. PHP configure 한 후, make, make test, make install 하기

$ cd php-7.4.1
$ ./configure \
--with-apxs2=/usr/local/apache2.4/bin/apxs \
--enable-mysqlnd \
--with-mysql-sock=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-imap-ssl \
--with-iconv \
--enable-gd \
--with-jpeg \
--with-libxml \
--with-openssl

$ make
$ make test 
$ make install

$ make && make test && make install

 

./configure 결과

make 결과

make install 결과

make test 시 찝찝

(n 누름)

 

php so 파일 제대로 설치되었는지 확인

$ cd /usr/local/apache2.4/modules
$ ls -l
# libphp7.so 파일 확인

 

3.아파치와 PHP를 연동해준다.

php 모듈 설치되어 있는지 확인

 

$ cd /usr/local/apache2.4/conf
$ vi httpd.conf
...
LoadModule php7_module      modules/libphp7.so
...

모듈 잘 설치 되어있으면 mime_module에 아래 AddType 한줄추가 

$ vi httpd.conf
...
<IfModule mime_module>
    ...
    AddType application/x-httpd-php .php .html
    ...

 

 

4. php.ini 파일 세팅

php.ini 는 php 의 설정파일이라고 할 수 있다. 맨 처음에 php-7.4.1.tar.gz 파일을 압축해제한 php-7.4.1 디렉토리로 가보면 php.ini-development 와 php.ini-production 두 개의 파일이 있다. 프로덕션 시스템용과 개발 시스템 용 두 가지 버전인데, 개발용은 더 많은 오류와 경고를 표시하지만, 보안상의 이유로 개발환경에서만 사용해야 한다.

cp 명령어를 이용하여, php.ini-production 파일을 /usr/local/lib/php.ini 에 복사한다.

php configure 시에 옵션으로 php.ini 의 위치를 지정하지 않으면 디폴트로 /usr/local/lib/php.ini 를 사용한다.

 

$ cd /usr/local/php-7.4.1
$ cp php.ini-production /usr/local/lib/php.ini

 

5. 테스트를 위한 php 파일 작성

아파치의 웹 콘텐츠 (html, php 파일등) 는 htdocs 디렉토리에 위치한다.

$ cd /usr/local/apache2.4/htdocs
$ vi index.php
<? php
phpinfo();
?>

 

httpd -k start 명령어로 아파치를 실행시킨다. ps -ef | grep httpd 명령어로 아파치가 실행중인지도 확인한다.

$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep
$ sudo netstat -anp|grep httpd
$ sudo curl http://127.0.0.1

 

 

http://3.34.122.253/index.php 접속

 

* 난관1) 사이트 접속시 소스코드 그대로 보이는 문제

* 난관2) 소스코드 그대로 보이는 문제에 부딪혔을 때 서버를 restart 했는데 아파치가 날라갔다.

  • curl: (52) Empty reply from server
  • 그래서 다시 깔았지.. restart 절대 하지않기.
  • 참고 =https://faq.hostway.co.kr/Linux_WEB/3665
  • 해결책
    • 재시작하고싶을 떄 httpd stop → httpd start

 

 

 

참고자료 

반응형