::: SERVICE :::

APM 설치

호딩이 2007. 1. 10. 18:04

APM 설치시(DSO)

1. RPM으로 설치된 Package제거

% killall httpd
% ps -ef | grep httpd
% killall mysqld
% rpm -e apache
% rpm -e apache-devel
% rpm -e php
% rpm -e imap
% rpm -e mysql


2. mysql 설치

주의 ) 시간이 다소 필요

% ./configure --prefix=/usr/local/mysql  --with-charset=euc_kr
% make
% make install
% cd /usr/local/mysql/bin
% ./mysql_install_db   

[root:/usr/local/mysql/share/mysql] groupadd mysql
[root:/usr/local/mysql/share/mysql] adduser -g mysql mysql
[root:/usr/local/mysql/share/mysql] vi /etc/passwd
mysql:x:522:523::/home/mysql:/sbin/nologin // nologin 으로 수정
[root:/usr/local/mysql/share/mysql] rm -rf /home/mysql
[root:/usr/local/mysql] chown -R mysql.mysql var
[root@www /bin]# cd /usr/local/mysql/share/mysql
[root@www /mysql]#vi mysql.server

편집기로 열어서 safe_mysql이 실행되는 라인(78 line)에 --language=korean 옵션을 추가한다.

$bindir/safe_mysqld --user=$mysql_daemon_user --pid-file=$pid_file --datadir=$datadir --language=korean &

mysql데몬의 시작과 종료 및 관련 명령어를 사용하기 편하게 하기위해서 시스템 부팅환경에 PATH를 지정해둔다.
[root@www /mysql]# cp -p ./mysql.server /usr/local/mysql/bin
[root@www /mysql]# vim /etc/profile

# /etc/profile
# System wide environment and startup programs
# Functions and aliases go in /etc/bashrc

PATH="$PATH:/usr/X11R6/bin:/usr/local/mysql/bin"

부팅시 자동 실행
cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S90mysqld

mysql 실행 및 종료
[root:/usr/local/mysql] /etc/rc.d/init.d/mysqld start
[root:/usr/local/mysql] Starting mysqld daemon with databases from /usr/local/mysql/var

[root:/usr/local/mysql]
[root:/usr/local/mysql]
[root:/usr/local/mysql] ps -ef | grep
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
[root:/usr/local/mysql] ps -ef | grep mysql
root      3299     1  0 09:18 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/saf
mysql     3321  3299  1 09:18 pts/0    00:00:00 /usr/local/mysql/libexec/mysqld
mysql     3323  3321  0 09:18 pts/0    00:00:00 /usr/local/mysql/libexec/mysqld
mysql     3324  3323  0 09:18 pts/0    00:00:00 /usr/local/mysql/libexec/mysqld
root      3330  1756  0 09:18 pts/0    00:00:00 grep mysql
[root:/usr/local/mysql] /etc/rc.d/init.d/mysqld stop
Killing mysqld with pid 3324
030705 09:19:08  mysqld ended

관리자 Password 부여
% mysqladmin -u root -p password 'xxxx'


데이타 베이스 생성
create database intra;

grant all privileges on intra.* to intra@localhost
identified by 'xxx' with grant option;

grant all privileges on intra.* to intra@ns.ihelpers.co.kr
identified by 'xxx' with grant option;

grant reload,process on *.* to root@localhost;

mysql> select * from user;
mysql> select * from db;

2. IMAP & POP3 설치
Download  : ftp://ftp.cac.washington.edu/imap/
* imap-2001xx.tar.Z 버전이 잘 설치가 됨

[root:/usr2/src] tar xvzf imap.tar.gz
[root:/usr2/src] mv imap-2001a /usr/local/imap
[root:/usr2/src] cd /usr/local/imap
[root:/usr2/src] make slx
[root:/usr/local/imap] cp ipopd/ipop3d /usr/sbin
[root:/usr/local/imap] cp imapd/imapd /usr/sbin
[root:/etc/xinetd.d] cat imapd
service imap
{
       disable = no
       socket_type = stream
       wait  = no
       user = root
       server = /usr/sbin/imapd
       log_on_success += HOST DURATION
       log_on_failure += HOST
}

[root:/etc/xinetd.d] cat ipop3d
service pop3
{
       disable = no
       socket_type = stream
       wait  = no
       user = root
       server = /usr/sbin/ipop3d
       log_on_success += HOST DURATION
       log_on_failure += HOST
}
[root:/etc/xinetd.d] /etc/rc.d/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

[root:/etc/xinetd.d] telnet localhost 110

3. zlib 설치
Download : http://www.gzip.org/zlib/

[root:/usr2/src] tar xvfz zlib-1.1.4.tar.gz
[root:/usr2/src] mv  zlib-1.1.4 /usr/local/zlib
[root:/usr2/src] cd /usr/local/zlib
[root:/usr/local/zlib] ./configure -s // libz.so 관련모듈생성
[root:/usr/local/zlib] make
[root:/usr/local/zlib] ./configure // libz.a 생성
[root:/usr/local/zlib] make test
[root:/usr/local/zlib] make install
[root:/usr/local/zlib] ls -al libz.so*
lrwxrwxrwx    1 root     root           13 Jul  5 08:01 libz.so -> libz.so.1.1.4
lrwxrwxrwx    1 root     root           13 Jul  5 08:01 libz.so.1 -> libz.so.1.1.4
-rwxr-xr-x    1 root     root        60880 Jul  5 08:01 libz.so.1.1.4
[root:/usr/local/zlib] cp libz.so* /usr/local/lib
[root:/usr/local/zlib] cd /usr/local/lib
[root:/usr/local/lib] ls
libz.a  libz.so  libz.so.1  libz.so.1.1.4
[root:/usr/local/lib] rm -rf libz.so
[root:/usr/local/lib] rm -rf libz.so.1
[root:/usr/local/lib] ln -s libz.so.1.1.4 libz.so
[root:/usr/local/lib] ln -s libz.so.1.1.4 libz.so.1
[root:/usr/local/lib] vi /etc/ld.so.conf
/usr/local/lib // 구문 추가 ( rpm 설치시 lib 는 /usr/lib 이기에 )
[root:/usr/local/lib] ldconfig

4. libpng 설치
Download : http://www.libpng.org/pub/png/libpng.html

[root:/usr2/src] tar xvfz libpng-1.2.5.tar.gz
[root:/usr2/src] cd libpng-1.2.5
[root:/usr2/src/libpng-1.2.5] cp scripts/makefile.linux Makefile
[root:/usr2/src/libpng-1.2.5] make test
[root:/usr2/src/libpng-1.2.5] make install

5. jpeg 설치
ftp://ftp.uu.net/graphics/jpeg/
[smson:/usr2/src] tar xvfz jpegsrc.v6b.tar.gz
[smson:/usr2/src/jpeg-6b] ./configure --enable-shared --enable-static
[smson:/usr2/src/jpeg-6b] make; make test
[smson:/usr2/src/jpeg-6b] make install

6. GD 설치
GD Library
% lynx http://www.boutell.com/gd/http/gd-1.8.4.tar.gz
A Patched Library with GIF support
% lynx http://downloads.rhyme.com.au/gd/patch_gd1.8.4_gif_20010208.gz
% patch -p1 < patch_gd1.8.4_gif_20010208
% make; make install;

7. 아파치 configure 설정
Download : http://www.apache.org/dist/httpd/
% ./configure --prefix=/usr/local/apache

8. PHP 설치
Download : http://www.php.net/downloads.php
% ./configure \
--with-apache=../apache_1.3.27/ \
--with-exec-dir=/usr/local/bin \
--with-oci8=$ORACLE_HOME \
--with-oracle=$ORACLE_HOME \
--with-mysql=/usr/local/mysql \
--with-imap=/usr/local/imap \
--with-gd=/usr/local/gd/ \
--with-zlib-dir=/usr/local/lib --with-zlib=/usr/local/ \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/local/lib \
--with-language=korean \
--with-charset=euc_kr \
--with-xml \
--enable-track-vars \
--disable-debug \
--enable-magic-quotes \
--enable-sigchild \
--enable-sockets \
--enable-pcntl

* 옵션설명
--enable-sockets  : Socket functions
--enable-pcntl    : Process Control Functions
--enable-sigchild : oracle-php 좀비 문제처리


아래와 같이 CreateFrom[Png,Gif] 가 yes가 되어야 한다. no로 나올 경우는 다시 설치한다.

checking for gdImageCreateFromPng in -lgd... yes
checking for gdImageCreateFromGif in -lgd... yes
checking for gdImageGif in -lgd... yes
checking for gdImageWBMP in -lgd... yes
checking for gdImageCreateFromJpeg in -lgd... yes
checking for gdImageCreateFromXpm in -lgd... yes
checking for gdImageCreateFromGd2 in -lgd... yes

make; make install

php.ini 설정
vi /usr/local/lib/php.ini 
[Zend Optimizer] 
zend_optimizer.optimization_level=7 
zend_extension="/usr/local/Zend/lib/ZendOptimizer.so" 

9. APACHE 재 Complie

./configure --prefix=/usr/local/apache \
   --activate-module=src/modules/php4/libphp4.a \
   --enable-rule=SHARED_CORE \
   --enable-module=so \
   --enable-shared=max \

* enable-module=so  : Java Shared Object
  enable-shared=max : DSO Support(Dynamic Shared Object )

make; make install

10. httpd.conf 설정

% vi /usr/local/apache/conf/httpd.conf
#
# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps


11. 설치확인

phpinfo.php
<? phpinfo(); ?>

GD 설정에 GIF,JPG,PNG가 enable 되어야 한다.
GD Support  enabled 
GD Version  1.6.2 or higher 
GIF Read Support  enabled 
GIF Create Support  enabled 
JPG Support  enabled 
PNG Support  enabled 
WBMP Support  enabled