Sulinux2.0 + Apache2 + PHP5 + DB
- Posted at 2009/03/27 21:59
- Filed under Informations : 쓸만한정보
수정하여 재 작성합니다.
너무 쉬운 내용일수도 있지만 어느 누군가에게는 도움이 되기를 바랍니다.
일반적으로는 아래와 같이 많은 라이브러리를 설치할 필요가 없습니다.
서버에서 필요한 라이브러리만 설치하면 되는데
저의 경우 필요에 의해 다양한 라이브러리를 함께 설치합니다.
일반적으로는 아래와 같이 많은 라이브러리를 설치할 필요가 없습니다.
서버에서 필요한 라이브러리만 설치하면 되는데
저의 경우 필요에 의해 다양한 라이브러리를 함께 설치합니다.
SULinux 2.0 설치
네트워크를 포함하여 최소로 설치설치후 apm install 을 하지 않는다.
APM은 이후 개별적으로 설치할 것이다.
zlib 설치
# tar -vxzf zlib-1.2.3.tar.gz# cd zlib-1.2.3
# ./configure
# make
# make install
bzip2 설치
# tar -xvzf bzip2-1.0.5# cd bzip2-1.0.5
# make test
# make install
zziplib 설치
# tar -xvf zziplib-0.13.49.tar.bz2# cd zziplib-0.13.49
# ./configure
# make
# make install
libPNG 설치
# tar -xvzf libpng-1.2.35.tar.gz# cd libpng-1.2.35
# ./configure
# make
# make install
freeType 설치
# tar -xvzf freetype-2.1.10.tar.gz# cd freetype-2.1.10
# ./configure
# make
# make install
jpegsrc 설치
# tar -xvzf jpegsrc.v6b.tar.gz# cd jpeg-6b
# ./configure --enable-shared --enable-static
# make
# make install
# make install-lib
# make install-headers
libiconv 설치
# tar -xvzf libiconv-1.12.tar.gz# cd libiconv-1.12
# ./configure --prefix=/usr/local
# make
# make install
# ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 (PHP가 이상하게 /usr/lib 에서만 찾는다)
GD 설치
# tar -xvzf gd-2.0.35.tar.gz# cd gd-2.0.35
# ./configure
# make (만약 오류가 난다면 다시 make 하면 된다.)
# make install
OpenSSL 설치
# tar -xvzf openssl-0.9.8j.tar.gz# cd openssl-0.9.8j
# ./config
# make
# make install
curl 설치
# tar -xvzf curl-7.19.4.tar.gz# cd curl-7.19.4
# ./configure --with-ssl
# make
# make install
libMCrypt 설치
# tar -xvzf libmcrypt-2.5.8.tar.gz# cd libmcrypt-2.5.8
# ./configure
# make
# make install
libXML2 설치
# tar -xvzf libxml2-2.7.2.tar.gz# cd libxml2-2.7.2
# ./configure
# make
# make install
mhash 설치
# tar -xvzf mhash-0.9.9.9.tar.gz# cd mhash-0.9.9.9
# ./configure
# make
# make install
http://mhash.sourceforge.net/
imagemagick 설치
# tar -xvzf ImageMagick-6.5.0-9.tar.gz# cd ImageMagick-6.5.0-9
# ./configure
# make
# make install
http://www.imagemagick.org/script/index.php
MySQL 설치
Legacy Program 들을 위해 구버전을 같이 설치하여 필요시 사용하도록 하자..UTF-8을 이용하지 않는 4.0.27 버전과 최신버전을 각각 Port를 달리하여 설치.
우선 사용자 생성
(패스워드는 알아서 복잡하게 설정.. )
# adduser -M -s /bin/false mysql
# adduser -M -s /bin/false mysql
# passwd mysql
# mkdir /home/mysql
http://www.mysql.com
# cd mysql-4.0.27
# ./configure \
--prefix=/usr/local/mysql_4.0.27 \
--localstatedir=/home/mysql/data4 \
--with-unix-socket-path=/home/mysql/mysql4.sock \
--with-tcp-port=3340 \
--with-charset=euc_kr \
--enable-thread-safe-client
# make
# make install
# /usr/local/mysql_4.0.27/bin/mysql_install_db
(DB 생성)
# ls -al /home/mysql/data4
(DB가 생성되었는지 확인)
# cd /etc
(my.cnf 파일이 있는지 확인.. 만약 있으면 삭제.. 없구나.. ^^)
(# rm -fr my.cnf)
# cd /usr/local/mysql_4.0.27/share/mysql
# cp my-medium.cnf /home/mysql/data4/my.cnf
(my.cnf 파일 복사)
# cd /home/mysql
# chown -R mysql:mysql data4
# cd data4
# vi my.cnf
(my.cnf 파일에서 아래 내용과 같이 되었는지 확인)
==========================================
[client]
port = 3340
socket = /home/mysql/mysql4.sock
[mysqld]
port = 3340
socket = /home/mysql/mysql4.sock
==========================================
# cd /usr/local/mysql_4.0.27/share/mysql
# vi mysql.server
(mysql.server 파일의 47~48 라인을 아래와 같이 변경)
==========================================
datadir=/home/mysql/data4
pid_file=/home/mysql/data4/mysql4.pid
==========================================
# cp mysql.server /etc/rc.d/init.d/mysqld4
# chkconfig --add mysqld4
(부팅시 자동실행을 위해 ntsysv에 등록)
# ntsysv
(정상 등록 되었는지만 확인)
# /etc/rc.d/init.d/mysqld4 start
# ls -al /home/mysql
(mysql4.sock 파일이 보이면 정상 실행된 것임)
# cd mysql-5.1.33
# ./configure \
--prefix=/usr/local/mysql_5.1.33 \
--localstatedir=/home/mysql/data5 \
--with-unix-socket-path=/home/mysql/mysql5.sock \
--with-tcp-port=3306 \
--with-charset=utf8 \
MySQL 4.0.27 설치
# vi /usr/include/pthread.h
phtread.h 화일을 열어 맨위 부분쯤에 아래 내용을 추가 하고 저장
==========================================
/* Linuxthreads */
==========================================
# tar -xvzf mysql-4.0.27.tar.gz# cd mysql-4.0.27
# ./configure \
--prefix=/usr/local/mysql_4.0.27 \
--localstatedir=/home/mysql/data4 \
--with-unix-socket-path=/home/mysql/mysql4.sock \
--with-tcp-port=3340 \
--with-charset=euc_kr \
--enable-thread-safe-client
# make
# make install
# /usr/local/mysql_4.0.27/bin/mysql_install_db
(DB 생성)
# ls -al /home/mysql/data4
(DB가 생성되었는지 확인)
# cd /etc
(my.cnf 파일이 있는지 확인.. 만약 있으면 삭제.. 없구나.. ^^)
(# rm -fr my.cnf)
# cd /usr/local/mysql_4.0.27/share/mysql
# cp my-medium.cnf /home/mysql/data4/my.cnf
(my.cnf 파일 복사)
# cd /home/mysql
# chown -R mysql:mysql data4
# cd data4
# vi my.cnf
(my.cnf 파일에서 아래 내용과 같이 되었는지 확인)
==========================================
[client]
port = 3340
socket = /home/mysql/mysql4.sock
[mysqld]
port = 3340
socket = /home/mysql/mysql4.sock
==========================================
# cd /usr/local/mysql_4.0.27/share/mysql
# vi mysql.server
(mysql.server 파일의 47~48 라인을 아래와 같이 변경)
==========================================
datadir=/home/mysql/data4
pid_file=/home/mysql/data4/mysql4.pid
==========================================
# cp mysql.server /etc/rc.d/init.d/mysqld4
# chkconfig --add mysqld4
(부팅시 자동실행을 위해 ntsysv에 등록)
# ntsysv
(정상 등록 되었는지만 확인)
# /etc/rc.d/init.d/mysqld4 start
# ls -al /home/mysql
(mysql4.sock 파일이 보이면 정상 실행된 것임)
MySQL 5.1.33 설치
# tar xvfz mysql-5.1.33.tar.gz# cd mysql-5.1.33
# ./configure \
--prefix=/usr/local/mysql_5.1.33 \
--localstatedir=/home/mysql/data5 \
--with-unix-socket-path=/home/mysql/mysql5.sock \
--with-tcp-port=3306 \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-plugins=innobase \
--enable-thread-safe-client
# make
# make install
# /usr/local/mysql_5.1.33/bin/mysql_install_db
(DB 생성)
# ls /home/mysql/data5
(DB가 생성되었는지 확인)
# cd /etc
(my.cnf 파일이 있는지 확인.. 만약 있으면 삭제.. 역시 없구나.. ^^)
(# rm -fr my.cnf)
# cd /usr/local/mysql_5.1.33/share/mysql
# cp my-medium.cnf /home/mysql/data5/my.cnf
--enable-thread-safe-client
# make
# make install
# /usr/local/mysql_5.1.33/bin/mysql_install_db
(DB 생성)
# ls /home/mysql/data5
(DB가 생성되었는지 확인)
# cd /etc
(my.cnf 파일이 있는지 확인.. 만약 있으면 삭제.. 역시 없구나.. ^^)
(# rm -fr my.cnf)
# cd /usr/local/mysql_5.1.33/share/mysql
# cp my-medium.cnf /home/mysql/data5/my.cnf
# cd /home/mysql
# chown -R mysql:mysql data5
# cd data5
# vi my.cnf
# chown -R mysql:mysql data5
# cd data5
# vi my.cnf
my.cnf 파일에서 아래 내용과 같이 되었는지 확인
skip-federated를 아래와 같이 주석 처리함
==========================================
[client]
port = 3306
socket = /home/mysql/mysql5.sock
[mysqld]
port = 3306
socket = /home/mysql/mysql5.sock
skip-federated를 아래와 같이 주석 처리함
==========================================
[client]
port = 3306
socket = /home/mysql/mysql5.sock
[mysqld]
port = 3306
socket = /home/mysql/mysql5.sock
# skip-federated
==========================================
# cd /usr/local/mysql_5.1.33/share/mysql
# vi mysql.server
(mysql.server 파일의 59 라인을 아래와 같이 변경)
==========================================
pid_file=/home/mysql/data5/mysql5.pid
server_pid_file=/home/mysql/data5/mysql5.pid # 4.1버전에는 없음
==========================================
# cp mysql.server /etc/rc.d/init.d/mysqld5
# chkconfig --add mysqld5
# ntsysv
(정상등록 확인하고 체크...)
# /etc/rc.d/init.d/mysqld5 start
Starting MySQL. SUCCESS!
(뜨는지 확인..)
# ls -al /home/mysql
(mysql4.sock 과 mysql5.sock 파일이 보이시면 정상적으로 모두 설치/실행 완료)
마지막으로 4.0.27 과 5.1.33 둘 중 대표로 사용할 것을 mysql로 심볼링크
# ln -s /usr/local/mysql_5.1.33 /usr/local/mysql
# cd /usr/local/mysql_5.1.33/share/mysql
# vi mysql.server
(mysql.server 파일의 59 라인을 아래와 같이 변경)
==========================================
pid_file=/home/mysql/data5/mysql5.pid
server_pid_file=/home/mysql/data5/mysql5.pid # 4.1버전에는 없음
==========================================
# cp mysql.server /etc/rc.d/init.d/mysqld5
# chkconfig --add mysqld5
# ntsysv
(정상등록 확인하고 체크...)
# /etc/rc.d/init.d/mysqld5 start
Starting MySQL. SUCCESS!
(뜨는지 확인..)
# ls -al /home/mysql
(mysql4.sock 과 mysql5.sock 파일이 보이시면 정상적으로 모두 설치/실행 완료)
마지막으로 4.0.27 과 5.1.33 둘 중 대표로 사용할 것을 mysql로 심볼링크
# ln -s /usr/local/mysql_5.1.33 /usr/local/mysql
php에서 mysql 연결할 때 localhost가 아닌 127.0.0.1로 연결해야
socket 에러가 생기지 않음
Apache 설치
# tar -xvzf httpd-2.2.11.tar.gz# cd httpd-2.2.11
(접속자 수 최대로 올리기)
# vi server/mpm/prefork/prefork.c
==============================================
[EDITOR]#define DEFAULT_SERVER_LIMIT 256 을
[EDITOR]#define DEFAULT_SERVER_LIMIT 1280 으로 수정 (77라인)
==============================================
# vi server/mpm/worker/worker.c
==============================================
[EDITOR]#define DEFAULT_SERVER_LIMIT 16 을
[EDITOR]#define DEFAULT_SERVER_LIMIT 20 으로 수정 (85라인)
==============================================
# ./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-modules=so \
--with-mpm=worker \
--enable-rewrite
# make
# make install
부팅시 자동실행이 안되더라..
아래를 파일에 추가..
# vi /etc/rc.d/rc.local
====================================
/usr/local/apache/bin/apachectl start
====================================
재부팅 후 페이지가 열리는지 웹브라우저로 확인
http://httpd.apache.org/
# cd freetds-0.82
# ./configure \
--prefix=/usr/local/freetds \
--with-tdsver=8.0 \
--disable-odbc \
--disable-debug \
--enable-msdblib
# make
# make install
# cp include/tds.h /usr/local/freetds/include/
# cp src/tds/.libs/libtds.a /usr/local/freetds/lib/
(PHP 설치시 freeTDS를 못찾더라..)
참고
FreeTDS - PHP에서 MS-SQL에 접근하기
http://www.freetds.org/
freeTDS 설치
# tar -xvzf freetds-0.82.tar.gz# cd freetds-0.82
# ./configure \
--prefix=/usr/local/freetds \
--with-tdsver=8.0 \
--disable-odbc \
--disable-debug \
--enable-msdblib
# make
# make install
# cp include/tds.h /usr/local/freetds/include/
# cp src/tds/.libs/libtds.a /usr/local/freetds/lib/
(PHP 설치시 freeTDS를 못찾더라..)
참고
FreeTDS - PHP에서 MS-SQL에 접근하기
http://www.freetds.org/
Oracle Instant Client 설치
http://www.oracle.com/technology/tech/oci/instantclient/index.htmlhttp://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
위 링크에서 Oracle Database Instant Client 를 다운로드
Basic와 SDK를 다운로드 하여야 함
oracle-instantclient-basic-10.2.0.4-1.i386.zip
oracle-instantclient-devel-10.2.0.4-1.i386.zip
각각의 압축을 풀어 다음 경로로 이동한다.
/usr/lib/oracle
/usr/lib/oralce/sdk
# unzip oracle-instantclient-basic-10.2.0.4-1.i386.zip
# unzip oracle-instantclient-devel-10.2.0.4-1.i386.zip
# mv instantclient_10_2 /usr/lib/oracle
# cd /usr/lib/oracle
# ln -s libclntsh.so.10.1 libclntsh.so
심볼릭 링크 생성..
# ln -s libclntsh.so.10.1 libclntsh.so
심볼릭 링크 생성..
# vi /etc/profile
export NLS_LANG=.KO16KSC5601 <= 이 부분을 오라클의 NLS_LANG 값에 맞게 추가
:wq
# source /etc/profile
참고
오라클 Instant Client와 php 설치
# tar -xvzf imap-2007e.tar.gz
# cd imap-2007e
# vi Makefile
아래 부분으로 수정
=====================================
EXTRACFLAGS=-fPIC
=====================================
# make lr5
# mkdir /usr/local/imap
# mkdir /usr/local/imap/include
# mkdir /usr/local/imap/lib
# cp c-client/*.h /usr/local/imap/include/
# cp c-client/*.c /usr/local/imap/lib/
# cp c-client/c-client.a /usr/local/imap/lib/libc-client.a
aspell 설치
# tar -xvzf aspell-0.60.6.tar.gz# cd aspell-0.60.6
# ./configure
# make
# make install
PHP 설치
# vi /etc/ld.so.conf====================================
/lib
/usr/lib
/usr/local/lib
/usr/local/mysql/lib/mysql
====================================
(라이브러리 인식을 위해.. 추가)
# ldconfig
# tar -xvzf php-5.2.9.tar.gz
# cd php-5.2.9
# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-mod-charset \
--with-libxml-dir \
--with-openssl-dir=/usr/include/openssl \
--with-kerberos \
--with-zlib \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-gdbm \
--enable-exif \
--enable-ftp \
--with-openssl-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-ttf \
--with-freetype-dir \
--enable-gd-native-ttf \
--with-gettext \
--with-imap=/usr/local/imap \
--with-kerberos \
--with-imap-ssl=/usr/include/openssl \
--enable-mbstring \
--with-mcrypt=/usr/local/lib \
--with-mhash=/usr/local/lib \
--with-mssql=/usr/local/freetds \
--with-mysql=/usr/local/mysql \
--with-mysql-sock \
--with-zlib-dir \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-oci8=instantclient,/usr/lib/oracle \
--with-pspell \
--enable-sockets \
--with-sybase=/usr/local/freetds \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xmlrpc \
--enable-zip \
--with-zlib-dir \
--disable-debug
# make
(# make test 이건 생략해도 될 듯..)
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini
커맨드 에서 php를 실행할 수 있도록
# ln -s /usr/local/php/bin/php /usr/bin/php
PECL을 통하여 imagick 설치
http://pecl.php.net/package/imagick
ZendOptimizer 설치
http://www.zend.com 에서 다운로드 (회원 로그인 필요)# tar -xvzf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
# cd ZendOptimizer-3.3.3-linux-glibc23-i386
# ./install.sh
Posted by rose2her
Trackback URL : http://rose2her.com/trackback/73
Comments List
-
rose2her님 감사합니다. 도움이 많이 되었습니다.