[Ubuntu 18.0.4] APM 소스 설치 - PHP 7.4.1 (수동 설치, 컴파일 설치)
- Apache 2.4 설치
- MySQL 8.0.19 설치
- 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