가급적 패키지 매니저를 이용하여 설치하는 것을 권장하지만, 소스코드 빌드를 해야 하는 경우에 다음과 같은 과정에 따라 빌드할 수 있음
apr-1.5.2 사용
./configure
make
sudo make install
apr-util-1.5.4 사용
./configure --with-apr=../apr-1.5.2
make
sudo make install
apache-2.2.31 사용
./configure --prefix=/home/terzeron/apps/httpd-2.2.31 --with-apr=../apr-1.5.2 --with-apr-util=../apr-util-1.5.4 --enable-so
make all install
ln -sf /home/terzeron/apps/httpd-2.2.27 /home/terzeron/apps/apache2
이 단계는 mysql을 설치할 때만 필요함
sudo yum install cmake
tar xvfz mysql-5.6.26.tar.gz
cd mysql-5.6.26
cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/terzeron/apps/mysql-5.6.26
make
make install
5.3에서는 외부 모듈 (for testing)과의 호환성 문제가 있어서 5.6.14 선택
./configure --prefix=/home/terzeron/apps/php-5.6.14 --with-iconv --enable-mbstring --with-pear --with-libdir=lib64 --with-apxs2=/home/terzeron/apps/apache2/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext=shared
make all install
ln -sf /home/terzeron/apps/php-5.6.13 /home/terzeron/apps/php
cp php.ini.production /home/terzeron/apps/php/lib/php.ini
php.ini를 편집하여 다음 항목을 수정
date.timezone = Asia/Seoul
extension_dir = "/home/terzeron/apps/php/modules"
extension = gettext.so
short_open_tag = On
gettext.so 복사
빌드 디렉토리(pkgs/php-…)에는 모듈이 만들어졌는데 apps에 설치가 안 되어있을 수 있음
Apache의 httpd.conf 수정
User terzeron
Group terzeron
DocumentRoot "/home/terzeron/deploy/idms-web"
...
Apache의 mime.types 수정
application/x-httpd-php php phtml nhn inc fcc
application/x-httpd-php-source phps
bin/envvars 편집
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:추가할경로
export PATH=$PATH:추가할경로