[Linux Server] php 소스 설치 하기 - CentOS 6.7 소스 컴파일 설치

2020. 2. 5. 18:38·Linux Server

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
'Linux Server' 카테고리의 다른 글
  • [Linux Server] CentOS php composer 설치
  • [Linux Server] Nginx 설치 하기 - CentOS 6.7 소스 컴파일 설치
DAMAT
DAMAT
Computer Science Engineer를 위한 tiStory
  • DAMAT
    Damat - Idea Factory
    DAMAT
  • 전체
    오늘
    어제
    • 분류 전체보기 (23)
      • Bigdata Engineering (14)
        • 빅데이터 플랫폼 R&D (1)
      • System Engineering (2)
      • Linux Server (3)
      • 프로그래밍 (0)
      • 교육 (1)
        • 문제 (1)
      • 코딩테스트 기록지 (2)
        • Python (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    주키퍼 cli
    gitlab 버전
    activemq 모니터링
    presto 메모리 설정
    gitlab 패치
    python 소켓 프로그래밍
    zookeeper cli
    zookeeper 명령어
    hadoop이란
    mysql 보관기관 설정
    주키퍼 명령어
    파이썬 소켓통신
    리소스매니저
    kafka cli
    kafka 명령어
    python 소켓통신
    python데몬
    빅데이터 모니터링
    db binlog
    파이썬 소켓
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
DAMAT
[Linux Server] php 소스 설치 하기 - CentOS 6.7 소스 컴파일 설치
상단으로

티스토리툴바