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



언젠가.. 다시 작업하게 되는날...
시간 절약을 위해.. 메모를 남겨 둠...

관련 정보를 찾으시는 분들에게 도움이 되기를 바랍니다.

SULinux 1.5 설치

기본 설치 후 업데이트..
# yum update
시간 오래 걸리니.. 식사라도 하고 오자..

그리고.. 필요한 library를 다운로드 하여 설치..

참고
선오공님꺼 수정판 -> 페도라 코어4 : 웹호스팅 서버 그대로 따라 만들기
APM + lib 설치... CentOS + Mysql5 + Apache2 + Php5 등등 ...
Centos5.2 + Mysql5.0.24 + apache2.0.63 + php5.2.6 설치

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 xvfpj zziplib-0.13.49.tar.bz2
# cd zziplib-0.13.49
# ./configure
# make
# make install

libPNG 설치

# tar -xvzf libpng-1.2.33.tar.gz
# cd libpng-1.2.33
# cp scripts/makefile.linux makefile
# make test
# make install

freeType 설치

# tar -xvzf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# ./configure
# make
# make install

jpegsrc 설치

# mkdir /usr/local/man/man1
# tar -xvzf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --enable-shared --enable-static
# make
# make test
# make install
# make install-lib
# make install-headers

GD 설치

# tar -xvzf gd-2.0.35.tar.gz
# cd gd-2.0.35
# ./configure
# make (왜 마지막에 오류가 날까??)
# make install

OpenSSL 설치

# tar -xvzf openssl-0.9.8i.tar.gz
# cd openssl-0.9.8i
# ./config
# make
# make install

curl 설치

# tar -xvzf curl-7.19.2.tar.gz
# cd curl-7.19.2
# ./configure --with-ssl
# make
# make install

libMCrypt 설치

# tar -xvzf libmcrypt-2.5.7.tar.gz
# cd libmcrypt-2.5.7
# ./configure
# make
# make install

libXML2 설치

# tar -xvzf libxml2-2.7.2.tar.gz
# cd libxml2-2.7.2
# ./configure
# make
# make install

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 에서만 찾는다)

MySQL 설치

Legacy Program 들을 위해 구버전을 같이 설치하여 필요시 사용하도록 하자..
UTF-8을 이용하지 않는 4.0.27 버전과 최신버전을 각각 Port를 달리하여 설치.

우선 사용자 생성
# adduser mysql
# passwd mysql
(패스워드는 알아서 복잡하게 설정.. )

참고
mysql 2개이상 설치하기

MySQL 4.0.27 설치

# 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
(실행해서 아래처럼 되는지 확인)

Starting MySQL. SUCCESS!
(나는 이런 말 안나오더라.. ㅡ.ㅡ;;)

# ls -al /home/mysql
(mysql4.sock 파일이 보이면 정상 실행된 것임)

MySQL 5.0.67 설치

# tar xvfz mysql-5.0.67.tar.gz
# cd mysql-5.0.67
# ./configure \
 --prefix=/usr/local/mysql_5.0.67 \
 --localstatedir=/home/mysql/data5 \
 --with-unix-socket-path=/home/mysql/mysql5.sock \
 --with-tcp-port=3306 \
 --with-charset=utf8 \
 --enable-thread-safe-client

# make
# make install

# /usr/local/mysql_5.0.67/bin/mysql_install_db
(DB 생성)
# ls /home/mysql/data5
(DB가 생성되었는지 확인)

# cd /etc
(my.cnf 파일이 있는지 확인.. 만약 있으면 삭제.. 역시 없구나.. ^^)
(# rm -fr my.cnf)

# cd /usr/local/mysql_5.0.67/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 파일에서 아래 내용과 같이 되었는지 확인)

==========================================
[client]
port = 3306
socket = /home/mysql/mysql5.sock

[mysqld]
port = 3306
socket = /home/mysql/mysql5.sock
==========================================


# cd /usr/local/mysql_5.0.67/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.0.67 둘 중 대표로 사용할 것을 mysql로 심볼링크
# ln -s /usr/local/mysql_5.0.67 /usr/local/mysql

Apache 설치

# tar -xvzf httpd-2.2.9.tar.gz
# cd httpd-2.2.9

(접속자 수 최대로 올리기)
# 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/apache2 \
 --enable-so \
 --enable-modules=so \
 --with-mpm=worker \
 --enable-rewrite
# make
# make install

부팅시 자동실행이 안되더라..
아래를 파일에 추가..

# vi /etc/rc.d/rc.local
====================================
/usr/local/apache2/bin/apachectl start
====================================

재부팅 후 페이지가 열리는지 웹브라우저로 확인

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에 접근하기

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

# 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 설치

PHP 설치

# vi /etc/ld.so.conf
====================================
/lib
/usr/lib
/usr/local/lib
/usr/local/mysql/lib/mysql
====================================
(라이브러리 인식을 위해.. 추가)

# ldconfig

# tar -xvzf php-5.2.6.tar.gz
# cd php-5.2.6
# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-bz2= \
--with-curl \
--with-freetype-dir=/usr \
--with-gd \
--with-gdbm=/usr \
--with-gettext \
--with-iconv=/usr/local \
--with-imap=shared \
--with-imap-ssl=/usr/lib \
--with-jpeg-dir=/usr \
--with-kerberos \
--with-libxml-dir \
--with-mcrypt=/usr/local/lib \
--with-sybase=/usr/local/freetds \
--with-mssql=/usr/local/freetds \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-oci8=instantclient,/usr/lib/oracle \
--with-openssl \
--with-png-dir=/usr \
--with-ttf \
--with-xmlrpc \
--with-zlib \
--with-zlib-dir \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-mod-charset \
--enable-sockets \
--enable-spl \
--enable-sysvsem=yes \
--enable-sysvshm=yes \
--enable-wddx \
--enable-zip \
--disable-debug

# make
(# make test 이건 생략해도 될 듯..)
# make install
# cp php.ini-dist /usr/local/lib/php.ini /// 이부분 이상하다.. 다시 확인하자.. /usr/local/php/lib 인듯...

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

2008/12/12 19:17 2008/12/12 19:17

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

Comments List

  1. OpenID Logotohappy 2009/06/17 13:58 # M/D Reply Permalink

    CURL설치를 위해 글을 잘 봤습니다. 혹시 "/usr/local/apache2/modules/libphp5.so: undefined symbol: curl_module_entry" 설치 완료 후 Apache Restart 시 이런 에러가 발생하는데 위에서 하신 작업외에 변경할 것이 있는지 여쭤 봅니다. 기존 설치된 Php에 컴파일과 CURL설치 만 했습니다.

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