Server/Local Server

7. 우분투(Ubuntu)에 PHP 설치하기

seongduck 2022. 8. 7. 20:20

필수 패키지 설치

& sudo su

/usr/local# apt-get install libxml2-dev

/usr/local# apt-get install libjpeg-dev

/usr/local# apt-get install libpng-dev

/usr/local# apt-get install libsqlite3-dev

 

소스설치 파일 다운로드 및 압축해제

/usr/local# wget <https://www.php.net/distributions/php-8.1.0.tar.gz>

/usr/local# tar xvfz php-8.1.0.tar.gz

PHP 설치 (php-8.1.0)

/usr/local# cd php-8.1.0

/usr/local/php-8.1.0# ./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

/usr/local/php-8.1.0# make

/usr/local/php-8.1.0# make test

/usr/local/php-8.1.0# make install

Apache, PHP 연동

#아파치 설정 파일인 httpd.conf 파일을 열어 PHP 모듈이 설치됐는지 확인한다.
/usr/local# cd apache2.4/conf
/usr/local/apache2.4/conf# vi httpd.conf

잘 됐으면 mine_module에 사진과 같이 작성한다. (좀 많이 아래있다.)

 

이렇게 작성하면 된다.


php.ini 파일 세팅

  • production 시스템용 설정 파일인 php.ini-production 파일을 /usr/local/lib/php.ini에 복사한다.
  • php configure 시에 옵션으로 php.ini의 위치를 지정하지 않으면 기본으로 /usr/local/lib/php.ini를 사용한다.
  • php.ini은 PHP설정 파일인데 php-8.1.0 디렉토리로 가면 php.ini-development와 php.ini-production 두개의 파일이 있다. development는 개발용, production은 프로덕션 시스템용 버전으로 개발용 같은 경우 더 많은 오류와 경고를 표시해주지만 보안상 문제가 생길 수 있으므로 개발 환경에서만 사용해야한다.
/usr/local# cd php-8.1.0
/usr/local/php-8.1.0# cp php.ini-production /usr/local/lib/php.ini

 

테스트용 php 파일 작성

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

/usr/local# cp apache2.4/htdocs
/usr/local/apache2.4/htdocs# vi phpinfo.php

<?php 
phpinfo();
?>


연결 확인

아파치를 재실행 시킨 후 http://127.0.1.1/phpinfo.php로 접속하여 설치 정보가 출력

/usr/local# apache2.4/bin/httpd -k restart

/usr/local# ps -ef | grep httpd | grep -v grep

/usr/local# sudo netstat -anp | grep httpd

/usr/local# sudo curl http://127.0.0.1

 

아무 페이지가 안뜬다면 서버를 제시작 해주면 해결

apache2.4/bin/httpd -k restart

Empty reply from server 에러

  • Empty reply from server 
  • 서버가 제대로 동작되지 않고있다.

Apache httpd 에러

  • AH00558: httpd: Could not reliably determine the server's fully....message
#아파치 서버를 시작할 때 자주 발생한다.
httpd.con 파일에서 ServerName을 설정헤주면 해결된다.

/usr/local# cd apache2.4/conf

/usr/local/apache2.4.conf# vi httpd.conf

/ServerName # ServerName 단어 검색 후 주석을 풀고 내용을 수정한다.

:wq
systemctl start httpd

주석 해제하고

수정완료