자바 & 스프링부트 서버 개발

VM(Oracle VM VirtualBox)에서 Ubuntu(우분투) OS를 생성하고 APM 소스설치하기 - 4 [마지막]

개발학생 2022. 8. 9. 18:52
반응형

*22년도 4월에 Ubuntu 20.04.4 버전 ISO 파일을 설치하고 진행했던 작업
*이전 글에서 이어집니다.

 

4. APM 소스파일 설치 (PHP-8.1.0)

참고 블로그 1: https://r-mango.tistory.com/7

 

[1주차] _ Ubuntu 20.04에서 PHP 수동 설치/ 소스 설치/ 컴파일 설치

1. 의존성 패키지 설치 $ apt-get install libxml2-dev $ apt-get install libjpeg-dev $ apt-get install libpng-dev 2. PHP 설치 $ cd /usr/local $ wget https://www.php.net/distributions/php-7.4.26.tar.gz..

r-mango.tistory.com

참고 블로그 2: https://yeni-days.tistory.com/8

 

[Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 3 (PHP)

apache 설치 : https://yeni-days.tistory.com/2 mysql 설치 : https://yeni-days.tistory.com/7 필수 패키지 설치 먼저 필요한 패키지들을 설치한다. & sudo su /usr/local# apt-get install libxml2-dev /usr/..

yeni-days.tistory.com

 

(1) 필수 패키지 설치(디렉토리를 usr/local로 설정)

- 캡쳐는 못했지만 문제 없이 잘 진행됨

$ 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

 

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

- 문제 없이 잘 진행됨

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

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

 

(3) PHP 설치

/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

make 전까지의 코드를 입력하면 나오는 화면
make가 시간이 오래 걸렸는데, 잘 보면 중간중간 warning도 많이 떴다
다행히 make가 정상적으로 잘 진행되었다.

- make test에서 문제가 발생했다.. 그런데 make install을 진행하니 별 문제 없었다..?

왼쪽: make test 오류, 오른쪽: make install 무사히 진행

(4) apache와 php연동

**1. 모듈 설치확인-**아파치 설정 파일인 httpd.conf 파일을 vi 편집기로 열어, PHP 모듈이 설치됐는지 확인한다. (165번째 line에 있음)

   잘 설치되어 있지 않아, rm -rf /usr/local/php-8.1.0/*을 진행하고 tar부터 configure까지 다시 진행했다

make test를 진행했는데 위와 다르게 warned라고 떠서, 무시하고 make install 진행
make install에서 warning이 떴는데, 이것도 무시했다.

 

- 다음 코드를 넣어 모듈이 설치되어있는지 다시 확인해봤는데, httpd.conf 파일을 vi 명령어로 열었을 때 165번째줄에 잘 들어가있었다!

/usr/local# cd apache2.4/conf

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

- 잘 설치되어 있으니 사진과 같이 mine_module에 코드를 추가했다.

 

(5) php.ini 파일 세팅

- 한 번 오타낸 것 외에는 문제 없이 진행되었다.

/usr/local# cd php-8.1.0

/usr/local/php-8.1.0# cp php.ini-production /usr/local/lib/php.ini

bash 부분은 오타의 흔적이다..

 

(6) 테스트용 php 파일 작성

- 문제 없이 진행함

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

/usr/local# cd apache2.4/htdocs

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

//vi편집기에 써야 할 내용
<?php
phpinfo();
?>

 

(7) 연결 확인

- 연결 확인을 위한 코드 작성

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

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

/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

 

- 에러가 났다. 아래 첫 번째 사진에 따르면 아까 본 165번째 line에 인자가 2개 있다고 한다.

  아래 사진 마지막줄과 같이 vi httpd.conf로 vi 편집기에 들어갔다.

 

- php7과 module 사이에 _이 없어서 그런건줄 알고 다음과 같이 내용을 수정했다.

 

- 하지만 파일이나 디렉토리가 없다는 에러였다..

 

- 블로그를 참고하여 왼쪽 사진과 같이 내용을 수정해서 잘 실행되길래 해결! 한 줄 알았다..
  127.0.0.1/phpinfo.php 웹사이트가 빈 화면이 뜬다..


 - 아래 사진의 둘째줄 코드에서 ‘Could not~~this message’부분이 에러코드였다.

 

- 블로그 해결책을 참고해서 httpd.conf vi 편집기에 들어간 후, 왼쪽 이미지의 ServerName 부분을 오른쪽과 같이 변경했다. 안 된다.

/usr/local# cd apache2.4/conf

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

/usr/local# vi /usr/local/lib/php.ini

 

- 이번에는 https://nicgoon.tistory.com/258를 참고해서 php.ini display_errors를 Off에서 On으로 바꿨다.

  그런데 아예 응답이 없다고 뜬다.. 그냥 Off로 바꿨다

 

- 혹시나 해서 연결 확인 코드를 다시 입력해봤는데 성공했다! restart를 안하고 start를 해서 그런거였다..

//아파치를 실행 시킨 후 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

 

 

 

 

 

이로써 모든 APM 소스파일 수동설치 완료!!

반응형