APM 설치 (httpd 2.4.x PHP 5.3.x or 7.3 MySQL 5.5.x)

리눅스/APACHE|2015. 1. 16. 16:53
반응형

설치하려는 버전은 아래와 같습니다.

httpd 2.4.10

PHP 5.3.8 (7.3 동일)

MySQL 5.5.14 (5.7.x 이상은 설치 방법이 다르므로 다른 매뉴얼 참조)

 

설치를 진행하기에 앞서 아래 패키지들을 설치해줍니다.

(필수 구성 요소)
yum -y install openssl openssl-devel mhash mhash-devel libtool libtool-ltdl libtool-ltdl-devel imap-devel imap zlib-devel zlib freetype-devel freetype libpng-devel libpng libjpeg-devel libjpeg libtiff-devel libtiff gd-devel gd pcre-devel pcre libxml-devel libxml libxml2-devel libxml2 gdbm-devel gdbm ncurses-devel ncurses curl-devel curl expat-devel expat bzip2-devel bzip2-libs bzip2 libc libc-devel libc-client-devel wget gcc gcc-c++

 

 

[ httpd 2.4.10 ]

 

1. 설치 환경 구성

# cd /usr/local/src
# wget http://archive.apache.org/dist/apr/apr-1.4.2.tar.gz
# tar xvzf apr-1.4.2.tar.gz
# cd apr-1.4.2
# ./configure
   cp -arp libtool libtoolT      // libtoolT 지우지 못한다는 에러메세지 나타났지만 생략해주어도 되었음

   ln -s /usr/bin/libtool /          // 생략해주어도 되었음
# make
# make install

# cd ..
# wget http://archive.apache.org/dist/apr/apr-util-1.3.9.tar.gz
# tar xvzf apr-util-1.3.9.tar.gz
# cd apr-util-1.3.9
# ./configure --with-apr=/usr/local/apr
# make
# make install

 

 
2. 아파치 설치

# cd ..

# wget https://archive.apache.org/dist/httpd/httpd-2.4.10.tar.gz

# tar xvzf httpd-2.4.10.tar.gz

# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-modules=shared --enable-ssl --enable-rewrite --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
# make
# make install

 

 

[ MySQL 5.5.14 ]

 

1. cmake 설치

 

# cd ..

# wget 

http://pkgs.fedoraproject.org/lookaside/pkgs/cmake/cmake-2.8.5.tar.gz/3c5d32cec0f4c2dc45f4c2e84f4a20c5/cmake-2.8.5.tar.gz

# tar xvzf cmake-2.8.5.tar.gz

# cd cmake-2.8.5

# ./bootstrap

# make

# make install

 

 

2. 계정 생성

# groupadd -g 400 mysql
# useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql

 

 

3. MySQL 설치

# cd ..

# wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.14.tar.gz

# tar xvzf mysql-5.5.14.tar.gz

# cd mysql-5.5.14

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306

# make

# make install

 

[참고]

euckr 로 설치를 원할 경우 옵션을 변경해줍니다.

-DDEFAULT_CHARSET=euckr -DDEFAULT_COLLATION=euckr_korean_ci

 

 

4. DB생성 및 기본 보안 설정

# cp -arp scripts/mysql_install_db /usr/local/mysql
# cd /usr/local/mysql

# rm -rf data

// data폴더를 지우는 이유는 기본폴더가 있긴한데 기본테이블이 없습니다.

    그대로 진행하시면 테이블이 없다며 mysql 이 구동되지 않습니다.

    때문에 data폴더를 삭제하고 아래 명령어로 재설치를 해줍니다.
# sh ./mysql_install_db

// 위 명령어로 data 폴더가 생성되지 않을 경우 아래 명령어로 생성해보세요.

    perl ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/data
cp support-files/my-huge.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
chown root.root /etc/init.d/mysqld
chkconfig --add mysqld
chmod 711 /usr/local/mysql
chmod 700 /usr/local/mysql/data
chmod 751 /usr/local/mysql/bin
chmod 750 /usr/local/mysql/bin/*
chmod 755 /usr/local/mysql/bin/mysql
chmod 755 /usr/local/mysql/bin/mysqldump

 

 

[ PHP 5.3.8 or PHP 7.3 ]

 

필수 구성 요소를 설치합니다.

# cd /usr/local/src

wget https://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz


# tar zxvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9
# ./configure
# make
# make install

 

# cd /usr/local/src
# wget 

https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz


# tar zxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure
# make
# make install

 

# cd /usr/local/src
# wget http://pkgs.fedoraproject.org/repo/pkgs/libjpeg/jpegsrc.v6b.tar.gz/dbd5f3b47ed13132f04c685d608a7547/jpegsrc.v6b.tar.gz

# tar xvzf jpegsrc.v6b.tar.gz
# cd jpeg-6b

# cp -f /usr/share/libtool/config/config.guess .    // 덮어 쒸우기 (CentOS 5.6 이하 일때는 /usr/share/libtool/config.guess 에 있습니다)
# cp -f /usr/share/libtool/config/config.sub .

# ./configure --enable-shared --enable-static

# make

아래와 같은 에러 메세지가 출력될 경우

make: ./libtool: 명령을 찾지 못했음

# ln -s /usr/bin/libtool libtool

# make clean

# make

# make install

아래와 같은 에러 메세지가 출력될 경우

'/usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': 그런 파일이나 디렉토리가 없음' 

조치방법

mkdir -p /usr/local/man/man1
make clean

make

make install

 

# cd /usr/local/src

wget https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap/imap-2007f.tar.gz

# tar xvzf imap-2007f.tar.gz

# cd imap-2007f

# yum -y install pam-devel

make lr5 PASSWDTYPE=std SSLTYPE=unix.nopwd EXTRACFLAGS=-fPIC IP=4

# mkdir /usr/local/imap-2007f/

# mkdir /usr/local/imap-2007f/include/

# mkdir /usr/local/imap-2007f/lib/

# cp c-client/*.h /usr/local/imap-2007f/include/

# cp c-client/*.c /usr/local/imap-2007f/lib/

# cp c-client/c-client.a /usr/local/imap-2007f/lib/libc-client.a

 

[참고]

64비트 운영체제에서는 아래 심볼릭 링크 진행 해주어야 합니다. (필요시)

 
ln -sf /usr/lib64/libpng12.so.0 /usr/lib/libpng12.so.0      // 이부분은 CentOS 6, fedora 15 이상에서 해당되는 내용입니다.

ln -sf /usr/lib64/libpng12.a /usr/lib/libpng12.a
ln -sf /usr/lib64/libpng.so.3 /usr/lib/libpng.so.3
ln -sf /usr/lib64/libpng.so /usr/lib/libpng.so
ln -sf /usr/lib64/libpng12.so /usr/lib/libpng12.so
ln -sf /usr/lib64/libc-client.so /usr/lib/libc-client.so
ln -sf /usr/lib64/libgssapi_krb5.so /usr/lib/libgssapi_krb5.so
ln -sf /usr/lib64/libkrb5.so /usr/lib/libkrb5.so
ln -sf /usr/lib64/libkrb5support.so /usr/lib/libkrb5support.so

 

[참고]

MySQL 5.7 설치시 "libmysqlclient_r* 관련 에러가 출력됩니다. 이경우 아래와 같은 옵션을 사용해보세요.
php 컴파일 옵션을 "mysqlnd" 로 줍니다."./configusr --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd"

 

 

사용할 버전 다운로드

# wget http://museum.php.net/php5/php-5.3.9.tar.gz

# wget https://www.php.net/distributions/php-7.3.11.tar.gz

 

# tar xvzf php-5.3.8.tar.gz

 

# cd php-5.3.8

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mod-charset --with-config-file-path=/usr/local/apache/conf --enable-sigchild --enable-magic-quotes --with-libxml-dir --with-openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --with-curl --enable-dba --with-gdbm --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-imap --with-imap-ssl --with-kerberos --enable-mbstring --with-mhash --with-mcrypt --with-mysql=/usr/local/mysql --enable-sockets --with-regex=php --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zend-multibyte

 

* php 컴파일중 

에러 : configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

해결 : imap-2007f 설치 후 --with-imap=/usr/local/imap-2007f 옵션을 사용합니다.

방법 : https://sysdocu.tistory.com/165

 

# make
# make install
# cp php.ini-development /usr/local/apache/conf/php.ini

 

아파치 설정파일 수정

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

DirectoryIndex index.html index.htm index.php

 

# PHP Enable

AddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc

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

 

<Directory /home/*>

    AllowOverride None

    Require all granted

 

</Directory>

 

PHP 설정파일 수정

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

date.timezone = "Asia/Seoul"
short_open_tag = On

 
 

ZendGuardLoader 설치
# cd ../ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x
# cp -arp ZendGuardLoader.so /usr/local/php/lib/
# vi /usr/local/apache/conf/php.ini

[Zend]
zend_extension=/usr/local/php/lib/ZendGuardLoader.so

short_open_tag = On
date.timezone = Asia/Seoul 도 입력
register_globals = On

 

* ZendGuardLoader 는 아래 조건이 맞아야 설치 가능합니다.

- httpd 2.2.x 이하 버전 (prefork 방식)

- php 5.3.x 버전

 

반응형

댓글()