서버세션/Server

[Ubuntu 18.0.4] APM 소스 설치 - PHP 7.4.1 (수동 설치, 컴파일 설치)

김긍수 2021. 4. 15. 01:41
  1. Apache 2.4 설치
  2. MySQL 8.0.19 설치
  3. PHP 7.4.1 설치

지금까지 Ubuntu 18.04 위에 Apache 2.4.46과 MySQL 8.0.19를 설치하였다.  이어서 PHP를 설치해보자.

 

PHP 7.4.1 수동설치

1. PHP를 컴파일하기 위한 필수 라이브러리 설치 (의존성 패키지)

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

// pkg-config libgmp-dev libonig-dev libbz2-dev libreadline-dev libxslt1-dev

 

2. PHP 설치

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

  1. /usr/local 위치로 이동한다.

  2. wget 명령어를 사용하여 웹 다운로드 링크로부터 php-7.4.1.tar.gz 파일을 다운로드한다.

  3. php-7.4.1.tar.gz 파일의 아카이브 및 압축을 해제한다.

 

configure & make

$ 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

  1. 압축 해제 한 후 php-7.4.1 디렉토리로 이동한다.

  2. 소스파일 설치를 위한 환경 설정을 해준다(./configure)

  3. make 명령을 실행한다. (build) - (혹시라도 make에서 에러가 뜬다면 update make를 해보도록 한다.)

  4. make test을 잊지말고 수행하라는 경고가 뜨는데 잊지않고 make test 명령을 실행한다. (모듈 테스트)

     이때, 하단 이미지처럼 에러가 뜨면서 test를 실패하는데 이 부분은 신경쓰지 않아도 된다고 한다... (원인을 검색해보았지만 찾지 못했다.)

  5. make install 명령어를 통해 설치한다.

 

libphp7.so 파일 확인

- Apache 공식 문서를 보면 Apache가 DSO (Dynamic Shared Object) 동적 공유 객체 방식으로 설치되어 있어 아파치를 컴파일한 상태에서 새로운 모듈이 추가될 때 다시 컴파일하지 않아도 된다고 명시되어 있다. 즉 httpd에 기능이 포함되는 것이 아니라 외부에 기능을 두고 필요할 때마다 동적으로 호출해서 사용하는 방식이다. PHP는 대부분 DSO 방식을 사용한다.

$ cd /usr/local/apache2.4/modules
$ ls -l

// libphp7.so 를 확인할 수 있다.

 

3. Apache - PHP 연동

$ cd /usr/local/apache2.4/conf
$ vi httpd.conf

httpd.conf파일을 열어 PHP모듈이 설치되어있는지 확인한다.

설치가 잘 되었다면 <IfModule mime_module> 에 AddType application/x-httpd-php .php .html 을 추가해준다.

3. php.ini 파일 셋팅

$ cd /usr/local/php-7.4.1
$ cp php.ini-production /usr/local/lib/php.ini
  • php-7.4.1 디렉토리에는 php.ini-development와 php.ini-production 두 개의 파일이 있다.
  • 전자는 개발용, 후자는 프로덕션 시스템용 버전으로 개발용 같은 경우 더 많은 오류와 경고를 표시해주지만 보안상 문제가 생길 수 있으므로 개발 환경에서만 사용해야 한다.
  • production 파일을 /usr/local/lib 디렉토리에 복사한다.

4. 테스트용 php 파일 작성

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

아파치의 html, php파일들은 기본적으로 /htdocs위치에서 실행한다.

 

5. 연결 확인

$ 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.1.1
//curl 명령으로 아파치가 켜졌는지 확인 (It's Work! 가 떠야한다)

-아파치를 실행시킨 후 http://127.0.1.1/phpinfo.php로 접속하여 PHP 설치 정보가 출력되면 성공적으로 연동이 된 것이다.ps -ef | grep httpd 명령어로 아파치가 정상적으로 실행 중인지도 확인해준다.

 

 

 

 

 

참고 사이트

sangminlog.tistory.com/entry/how-to-install-php

salix97.tistory.com/142?category=837576