PHP 소스설치
1 ) 패키지 설치
$ sudo su
$ cd /usr/local
$ apt-get install libxml2-dev
$ apt-get install libjpeg-dev
$ apt-get install libpng-dev
$ apt-get install libsqlite3-dev
2 ) php 설치
php 7.4.1 버전을 설치하였다.
$ wget https://www.php.net/distributions/php-7.4.1.tar.gz
$ tar xvfz php-7.4.1.tar.gz
3 ) php configure
$ ./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 설정이 성공하면 뜨는 창 ]
4 ) make, make install
$ make # 생각보다 make가 오래걸린다
$ make test
$ make install
[make 성공 시 뜨는 창]
[ make install 성공 시 뜨는 창 ]
5 ) php.so 파일이 설치되었는지 확인
$ cd /usr/local/apache2.4/modules
$ ls -l # 이 명령어를 수행하면 아래에 libphp7.so를 확인할 수 있음
여기서 libphp7.so가 있으면 잘 깔린 것이다!
6 ) apache와 php 연동
아파치 설정 파일인 httpd.conf파일을 열어 PHP 모듈이 설치되어 있는지 확인한다.
모듈이 잘 설치되어 있다면 httpd.conf에서 mine_module을 찾아 다음과 같이 작성한다.
AddType application/x-httpd-php .php .html
7 ) PHP.ini 파일 세팅
$ cd /usr/local/php-7.4.1
$ cp php.ini-production /usr/local/lib/php.ini
🤔 여기서 잠깐, .ini 파일이 무엇일까?
- 프로그램이 실행될 때 필요한 초기 정보를 담은 파일이다.
- 그러나 ini 파일의 구조에 맞춰 값을 저장 하기 위해서 사용하기도 한다.
8 ) 테스트용 php 파일 작성
아파치의 웹 콘텐츠(html, php 파일 등)는 htdocs 디렉토리에 위치한다. 이곳에 phpinfo.php를 작성한다.
$ vi /usr/local/apache2.4/htdocs/phpinfo.php
# 편집기를 열고 다음과 같이 작성해준다.
<?php
phpinfo();
?>
9 ) Apache 실행
$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep
[ Issue 1 ]
0.0.0.0:80 즉, 80을 통한 소켓 연결이 불가능하다는 에러 내용이었다.
이럴 때는 80을 잡고 있는 프로세스를 kill 하여야 한다. (생각보다 여러번 수행해주어야 한다!! 30번 넘게 한듯?)
$ netstat -tnlp
$ kill -9 [80에 해당하는 프로세스]
[ Issue 2]
80 포트를 잡고 있는 프로레스를 다 kill한 이후에 apache를 다시 실행하기 위하여 명령어를 입력해주었다.
하지만 다음과 같은 에러를 또 마주쳤다!
sudo apachectl -k restart
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using {MY_LOCAL}.
Set the 'ServerName' directive globally to suppress this message
httpd.conf 파일의 살펴보면 ServerName을 localhost로 지정해주라는 것이었다.
그래서 다음과 같은 경로에서 httpd.conf파일의 ServerName을 변경해주려고 했는데,
$ cd /usr/local/etc/apache2.4/httpd.conf
분명 나는 apache 소스설치 시 httpd.conf 파일의 서버네임을 지정해주었다 .. (띠용)
그래서 열심히 구글링을 하던 와중 ...
( 맥 유저의 경우는 - 확실치 않음)
apache2.4의 htpd.conf 뿐만아니라 httpd의 httpd.conf도 수정이 필요한 것이었다!
그래서 다음 경로로 이동하여 ServerName localhost로 수정해주고 저장해주었다 ..
$ cd /usr/local/etc/httpd/httpd.conf
10 ) 성공
아파치가 실행된 이후에 http://내가 실행시킨 아파치 서버IP/phpinfo.php를 url에 입력해주면 다음과 같은 창이 뜬다! 성공!!!!
'Server' 카테고리의 다른 글
[Server] AWS 서버 구축하기 Linux + Nginx PHP MySQL (0) | 2022.08.16 |
---|---|
[Server] 포트포워딩을 통해 외부에서 phpinfo 접속하기 (0) | 2022.08.08 |
[Server] Bitnami 설치 후 APM 실행하기 (0) | 2022.08.08 |
[Server] Ubuntu에서 MySQL 소스 설치하기/컴파일 설치/수동설치 (0) | 2022.07.31 |
[Server] Ubuntu에서 Apache 소스 설치하기/컴파일설치/수동설치 (0) | 2022.07.31 |
댓글