Sulinux2.0 + Apache2 + PHP5 + DB

이 포스트는 수정되어 다시 작성되었습니다.
아래 포스트에서 새로 작성된 내용을 확인하세요.
Sulinux2.0 + Apache2 + PHP5 + DB (수정)


예전에 작성하였던
수정하여 재 작성합니다.

너무 쉬운 내용일수도 있지만 어느 누군가에게는 도움이 되기를 바랍니다.

일반적으로는 아래와 같이 많은 라이브러리를 설치할 필요가 없습니다.
서버에서 필요한 라이브러리만 설치하면 되는데
저의 경우 필요에 의해 다양한 라이브러리를 함께 설치합니다.

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
# passwd mysql
# mkdir /home/mysql
# chown mysql:mysql /home/mysql

참고
mysql 2개이상 설치하기
http://www.mysql.com

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
# cd /home/mysql
# 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
==========================================


# 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/

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.html
http://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
심볼릭 링크 생성..
오라클 환경변수를 셋팅
# vi /etc/profile
export NLS_LANG=.KO16KSC5601 <= 이 부분을 오라클의 NLS_LANG 값에 맞게 추가
:wq
# source /etc/profile

참고
오라클 Instant Client와 php 설치

imap 설치

http://php.net/imap 에서 imap 관련 정보를 확인하여 다운로드

# 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

2009/03/27 21:59 2009/03/27 21:59

Trackback URL : http://rose2her.com/trackback/73

Comments List

  1. rea1ity 2009/09/29 18:18 # M/D Reply Permalink

    rose2her님 감사합니다. 도움이 많이 되었습니다.

Leave a comment
[로그인][오픈아이디란?]
« Previous : 1 : ... 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : ... 67 : Next »