[Linux] ubuntu에 php 소스 설치

ubuntu-20.04에 php를 소스 설치해보자.

ubuntu APM 소스 설치

이 포스트는 ubuntu-20.04에 APM(Apache, PHP, MySql)을 소스 설치하는 과정이며, 아래의 세 가지 순서의 포스팅으로 이루어져 있다.
[Linux] ubuntu에 Apache 소스 설치
[Linux] ubuntu에 MySql 소스 설치
[Linux] ubuntu에 php 소스 설치

작업 환경

macOS에서 virtualBox로 가상머신 ubunto를 만들고 그 안에 소스 설치를 진행한다.

macOS : Big Sur 11.4
VirtualBox : 6.1.16
ubuntu : 20.04.2.0-desktop

이전 게시글에 있듯이, apache와 mySql을 우분투에 설치한 상태에서 php 설치를 시작한다.

[Linux] ubuntu에 Apache 소스 설치
[Linux] ubuntu에 MySql 소스 설치

설치 경로 & 권한 부여

컴파일 설치는 관례상 /usr/local에 설치하므로 해당 경로로 이동한다.

$ cd /usr/local

또한 설치에 필요한 권한을 부여받기 위해 다음의 명령어를 입력하고 패스워드를 입력한다.

$ sudo su

필수 설치 및 php-7.4.1 설치

필수 설치

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

컴파일에 필요한 필수 요소들을 설치해 준다.

명령어

  • cd : 위치 이동 명령어
  • cp : 복사 명령어
  • wget : 지정한 주소로 부터 파일을 다운받는 명령어
  • tar xvfz : tar.gz 형식의 압축을 풀어주는 명령어
  • configure : 소스파일에 대한 환경설정을 해주는 명령어
    • configure의 prefix 옵션 : 컴파일된 프로그램을 설치하는 위치
  • make : 소스를 컴파일해주는 명령어
  • make install : make를 통해 만들어진 설치 파일을 설치해주는 명령어

configure -> make -> make test -> make install 의 순서로 소스로 된 프로그램 설치 진행

php-7.4.1 설치

$ wget https://www.php.net/distributions/php-7.4.1.tar.gz $ tar xvfz php-7.4.1.tar.gz $ 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

configure가 성공하면 다음과 같은 메시지가 출력된다.

1

$ make
$ make test

2

긴 시간이 소요되었고, make test 이후 다음과 같은 메시지가 있었지만, make install 을 진행하니 php가 설치되었다.

$ make install

3
make install 후 다음과 같은 메시지가 뜨며 설치가 완료됐다.

설치 확인 후 apache와 연동

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

4

libphp7.so가 있다면 php가 잘 설치된 것이다.

vim /usr/local/apache2.4/conf/httpd.conf

5

/ 키를 이용해서 php 문자열을 검색하면 다음과 같이 모듈이 생성된 것을 확인할 수 있다.

6

이번엔 /를 이용해서 /AddType 문자열을 찾은 뒤 다음과 같이 에드 타입에 추가해 준다.

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

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

php.ini 파일을 세팅해 주는 명령어이다.

$ vim /usr/local/apache2.4/htdocs/phpinfo.php

테스트를 위한 php를 작성해 주기 위해 다음의 파일을 vim 편집기로 연 뒤 다음과 같이 입력해 주자.

<?php
phpinfo();
?>

Apache 실행 후 확인

$ sudo /usr/local/apache2.4/bin/httpd -k stop

기존에 Apache가 실행 중이라면 종료해 준다.

$ 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://127.0.1.1/phpinfo.php로 접속해 주자.

7

성공적으로 연동된 것을 확인할 수 있다.