1.의존 라이브러리 설치.
- php 설치에 앞서 필요한 의존 라이브러리들을 설치합니다.
yum -y install gcc* make libtool-ltdl-devel openssl-devel pcre-devel ncurses-devel libxml2-devel bzip2-devel curl-devel gdbm-devel libjpeg-devel libpng-devel freetype-devel imap-devel libc-client-devel krb5-devel libmcrypt libmcrypt-devel libmhash-devel flex icu libicu libicu-devel gd gd-devel openldap-devel php-devel
2. Libiconv 등 필수 라이브러리 설치
- php 설치에 앞서 make 파일 생성(compile) 에 필요한 라이브러리들을 다운받고 설치합니다.
cd /home1/username/stage
sudo wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
sudo tar xvzf libiconv-1.15.tar.gz
cd libiconv-1.15
sudo ./configure --prefix=/usr/local/
sudo make && make install
# PHP 설치시 –with-ldap 옵션을 사용하기위해 아래와 같이 심볼릭 링크를 추가시켜 줍니다.
ln -s /usr/lib64/libldap.so /usr/lib/libldap.so
ln -s /usr/lib64/libldap_r.so /usr/lib/libldap_r.so
3. php 소스 파일 다운 후 configure 실행
http://php.net/downloads.php 사이트에 접속 후 php 다운로드
- php-x.x.x.tar.gz 파일은 커스텀 설치가 가능한 소스파일입니다.
- configure는 make 파일을 생성해주는 파일입니다. 생성된 make파일을 통해 컴파일을 진행할 것입니다.
- configure에 다양한 옵션을 넣어주어 (경로지정, db지정, 라이브러리 연동 등) make파일을 생성하여 줍니다.
# 압축 해제 후
cd /home1/username/stage/php-7.X.X
sudo ./configure \
-prefix=/home1/username/apps/php7.1 \
-with-config-file-path=/home1/username/apps/php7.1/etc \
-disable-debug \
-enable-fpm \
-enable-bcmath \
-enable-exif \
-enable-ftp \
-enable-gd-native-ttf \
-enable-inline-optimization \
-enable-intl \
-enable-mbregex \
-enable-mbstring \
-enable-mod-charset \
-enable-sigchild \
-enable-soap \
-enable-sockets \
-enable-sysvsem=yes \
-enable-sysvshm=yes \
-enable-xml \
-enable-zip \
-with-bz2 \
-with-iconv=/usr/local \
-with-curl \
-with-zlib \
-with-gd \
-with-gettext \
-with-mcrypt \
-with-mhash \
-with-pdo-mysql \
-with-mysqli \
-with-openssl \
-with-xmlrpc \
-with-freetype-dir=/usr/lib64 \
-with-jpeg-dir=/usr/lib64 \
-with-libxml-dir=/usr/lib64 \
-with-png-dir=/usr/lib64 \
-with-zlib-dir=/usr/lib64 \
-with-fpm-user=username \
-with-fpm-group=username \
-with-ldap
#... 기타 옵션이 필요할경우 추가.
**####만약 configure 컴파일 도중 오류가 난다면, library경로나 설치가 제대로 안되어있는것!**
==================오류 해결 =================================
#iconv 오류
iconv 라이브러리의 경로를 확인해볼것!!(아니면 재설치)
#ldap.h 오류
sudo yum install openldap-devel
#Cannot find ldap libraries in /usr/lib. 오류
sudo cp -frp /usr/lib64/libldap* /usr/lib/
==============================================================
4. configre 실행 성공 및 make 파일 생성 완료
- Thank you for using php라는 메세지가 뜨면 성공적으로 만들어진 것입니다.
5. make 및 make install 진행.
sudo make
sudo make install
6. php.ini파일 을 nginx로 복사하여준다.
sudo cp /home1/username/stage/php-7.2.3/php.ini-development /home1/username/apps/nginx/conf/php.ini
설치법 - nginx와 php연동
nginx는 php-fpm이 설치되어 있어야 연동이 가능합니다.
1. conf 파일 원본 복사
cd /home1/username/apps/php/etc/
sudo cp -arp php-fpm.conf.default ./php-fpm.conf
2. www.conf 복사
cd /home1/username/apps/php/etc/php-fpm.d/
sudo cp www.conf.default www.conf
3. php-fpm실행
sudo /home1/username/apps/php/sbin/php-fpm
-> php-fpm실행시 오류가 안나야함
4.nginx.conf 파일 수정
->nginx와 php가 연동할 수 있도록 nginx파일을 수정하도록 합니다.
sudo vi /home1/username/apps/nginx/conf/nginx.conf
# 주석 해제후 수정 또는 아래 내용 삽입
location \~ .php$ {
root /home1/username/apps/nginx/html;
fastcgi\_pass 127.0.0.1:9000;
fastcgi\_index index.php;
fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;
include fastcgi\_params;
}
5. php 구동 테스트
cd /home1/username/apps/nginx/html
echo "<?php phpinfo(); ?>" >> phpinfo.php
-> phpinfo 창이 정상적으로 뜨게되면 연동에 성공!
'Linux Server' 카테고리의 다른 글
[Linux Server] CentOS php composer 설치 (0) | 2020.01.22 |
---|---|
[Linux Server] Nginx 설치 하기 - CentOS 6.7 소스 컴파일 설치 (0) | 2020.01.22 |