우분투 위에 PHP를 설치해보았다.
Apache2는 캡처화면으로 설명을 했지만, PHP와 Mysql은 소스 코드를 통해 설명을 진행할 것이다. (이후에 또 설치하게 되었을 때, 복사 붙여넣기가 가능하도록)
1. 관련 패키지 다운로드 및 php 설치
$ apt-get install libxml2-dev
$ apt-get install libjpeg-dev
$ apt-get install libpng-dev
$ apt-get install libsqlite3-dev
$ cd /usr/local
$ 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-apx2=/usr/local/apache2.4/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-imap-ssl \
--with-iconv \
--with-gd \
--with-jpeg \
--with-png \
--with-libxml \
--with-openssl
$ make
$ make test
$ make install
./configure 옵션 변경
$ 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
/usr/local/apache2.4/modules 디렉토리에서 php so 파일이 제대로 설치되었는지 확인할 수 있다. (libphp7.so)
아파치가 DSO (Dynamic Shared Object) 동적 공유 객체 방식으로 설치되어 있어서 아파치를 컴파일한 상태에서 새로운 모듈이 추가될 때 아파치를 새로 또 컴파일하지 않아도 된다. 즉, httpd 에 기능이 포함되는 것이 아니라 외부에 기능을 두고 필요할때마다 동적으로 기능을 호출해서 사용한다.
2. 아파치와 PHP 를 연동
/usr/local/apache2.4/conf/httpd.conf 의 아파치 설정파일 (httpd.conf) 을 열어서 PHP 모듈이 설치되어 있는지 확인한다.
아파치 설정파일 (httpd.conf) 에 php so 파일이 잘 설치되었는지 확인되었으면,
아파치 설정파일을 vi 편집기로 열어 mime_module 에 AddType 을 해준다.
$ vi /usr/local/apache2.4/conf/httpd.conf
$ AddType application/x-httpd-php .php .html |
3. 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
4. 테스트를 위한 php 파일 작성
아파치의 웹 콘텐츠 (html, php 파일등) 는 htdocs 디렉토리에 위치한다.
$ cd /usr/local/apache2.4/htdocs
$ vi phpinfo.php
<? php
phpinfo();
?>
5. 실행
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.01
브라우저를 통해 http://127.0.1.1/phpinfo.php 로 접속한다. (127.0.1.1 은 내가 실행시킨 아파치 서버의 IP). PHP 설치정보가 출력되면, PHP 설치 및 아파치와의 연동이 된것이다.
참고링크
salix97.tistory.com/142?category=837576
'👩💻 Web Programming > Web Server' 카테고리의 다른 글
1. AWS 서버 구축하기+외부에서 접속 Mac 맥북 (0) | 2021.03.29 |
---|---|
Local Server 구축하기 with Mac OS (0) | 2021.03.26 |
Ubuntu 18.04 + APM-Mysql-8.0.19. 컴파일/소스 설치 (0) | 2021.01.30 |
Ubuntu 18.04 + APM-Apache 2.4 컴파일/소스 설치 (0) | 2021.01.30 |
컴파일 설치가 필요한 이유 +컴파일설치 ERROR 모음 (0) | 2021.01.30 |