본문 바로가기

IT, Computer/Linux

CentOS 7 APM 설치 - php7.3.3 설치(컴파일설치)

순서는 다음과같습니다.

openssl 업데이트 → mysql설치 → apache설치 → php설치

 

사용버전정리

centOS 7 openssl pcre apache apr apr-util mysql php
1810 1.1.1b 8.43 2.4.38 1.6.5 1.6.1 8.0.15 7.3.3

 


php7도 소스설치로 주로 진행합니다.

https://www.php.net/downloads.php

 

PHP: Downloads

Current Stable PHP 7.3.3 (Changelog) php-7.3.3.tar.bz2 (sig) [14,466Kb] 07 Mar 2019 61969e943adfea79701a34b8e701edd3f95be829d16601a4aabeb05f83023ce6 php-7.3.3.tar.gz (sig) [18,966Kb] 07 Mar 2019 9bde40cbf8608ae9c595a6643a02cf0c692c131e2b3619af3fd2af8425d8e

www.php.net

저는 글작성 당시 가장최신버전인 7.3.3 으로 하겠습니다.

ftp등으로 파일을 옮기거나 미러사이트중 링크가 따지는것을 활용하여 wget을 하시면 되겠습니다.

 

필수설치

# yum install libxml2-devel

# yum install libpng-devel

# yum install libjpeg-devel

libjpeg나 libpng기능을 굳이 사용하지 않는다면 설치할 필요 없습니다. 아래의 configure는 포함입니다.

필요없다면 적절히 수정해주세요.

만약 그누보드 이용자시라면 반드시 설치해야합니다.

 

# cd /usr/local/src

# tar -xvzf php-7.3.3.tar.gz

# cd php-7.3.3

# ./configure --prefix=/usr/local/php --with-mysqli --with-openssl=/usr/local/ssl --with-pdo-mysql=mysqlnd --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --with-gd --with-jpeg-dir=/usr/lib64

# make

# make install

 

php설정 파일을 복사합니다. development를 추천합니다. 

# cp /usr/local/src/php-7.3.3/php.ini-development /usr/local/apache/conf/php.ini

# vi /usr/local/apache/conf/php.ini

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
mysqli.default_socket = /var/lib/mysql/mysql.sock

socket이라는 항목을 검색한뒤 빨간글을 참고 넣어줍니다.

(저 빨간글의 링크는 mysql설치방법에 따라 위치가 변경될 수 있습니다. /etc/my.cnf 에서 socket을 검색하여 참고 가능)

여기서 다른글은 다 /etc/php.ini 하라는데 왜 여기선 이렇게 하나요~ 질문하실수도있는데

이건 개인적인 취향인것같습니다.(전 회사가 php5랑 php7이랑 같이 돌려서 그런지..)

아마 /etc/php.ini에 해도 될것 같긴한데. 만약 안된다면 configure단계에서 --with-config-file-path=/usr/local/apache/conf 을 제거하셔야합니다.

 

아파치 설정값을 수정합니다.

# vi /usr/local/apache/conf/httpd.conf

.

.

<IfModule dir_module>

    DirectoryIndex index.html index.php index.jsp

</IfModule>

.

.

    AddType application/x-compress .Z

    AddType application/x-gzip .gz .tgz

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

    AddType application/x-httpd-php-source .phps

.

.

빨간색은 원래 없는것, 추가해서 넣어줍니다.(jsp는 나중에 필요해질수도있으니 수정할때 수정해두는게 좋음) 

※ vi에디터에서 /키로 검색이 가능하며 n키로 다음검색으로 넘어가는게 가능

 

아파치서비스를 시작합니다.(이미 켜져있다면 restart 혹은 stop후 start 후자가 좀더 안정적입니다.)

# systemctl start httpd

 

이제 php문구를 사용하여 php가 정상적으로 설치되었는지 확인해봅니다.

# vi /usr/local/apache/htdocs/index.html

<html><body>

<?php phpinfo(); ?>

 

<h1>It works!</h1></body></html>

 

이것이 떳다면 성공적으로 설치를 완료한 것입니다.

 

 

 

오류

{

configure중 오류 

configure: error: libxml2 not found. Please check your libxml2 installation.

# yum install libxml2-devel

 

configure: error: jpeglib.h not found.

yum install libjpeg-devel

 

configure: error: png.h not found.

# yum install libpng-devel

}