본문 바로가기
서버.보안

APM설치 랜드판

by landzz 2006. 7. 28.


1. RPM을 지운다  (다음중 자신에게 설치된 항목만 지우면 된다. )
우선 apache, mysql, php 관련 RPM을 모두 삭제한후.. 다음 항목을 참고하여.. 삭제한다.

shell>rpm -qa|grep apache 또는  rpm -qa|grep httpd
shell>rpm -qa|grep mysql 또는 rpm -qa|grep MySQL
shell>rpm -qa|grep php

->생각해본후 필요에 따라 제거하자!!!

rpm -e --nodeps zlib
rpm -e --nodeps zlib-devel
rpm -e --nodeps curl
rpm -e --nodeps curl-devel
rpm -e --nodeps freetype
rpm -e --nodeps freetype-devel
rpm -e --nodeps freetype-utils
rpm -e --nodeps gd
rpm -e --nodeps gd-devel
rpm -e --nodeps libjpeg
rpm -e --nodeps libjpeg-devel
rpm -e --nodeps mm
rpm -e --nodeps mm-devel
rpm -e --nodeps libpng
rpm -e --nodeps libpng-devel
rpm -e --nodeps libungif
rpm -e --nodeps libungif-devel
rpm -e --nodeps libtiff
rpm -e --nodeps libtiff-devel
rpm -e --nodeps imap

==========================================================
-> 설치 안해도 될듯
http://www.gzip.org/zlib/ 에서 zlib 을 다운 받는다.

zlib 설치
shell>tar -xvzf zlib-1.1.4.tar.gz
shell>cd zlib-1.1.4
shell>./configure -s // libz.so 동적모듈생성
shell>make
shell>./configure // libz.a 정적모듈생성
shell>make test
shell>make install

shell>cp libz.so* /usr/local/lib

shell>cd /usr/local/lib
shell>rm -rf libz.so
shell>rm -rf libz.so.1
shell>ln -s libz.so.1.1.4 libz.so
shell>ln -s libz.so.1.1.4 libz.so.1

shell>vi /etc/ld.so.conf
/usr/local/lib추가 // 라이브러리 경로 추가

shell>ldconfig // 라이브러리 경로 적용명령


==========================================================
->역시 안해도 될듯

http://curl.haxx.se/download.html 에서 curl 을 다운 받는다.

curl 설치
shell>tar -xvzf curl-7.11.0.tar.gz
shell>cd curl-7.11.0
shell>./configure
shell>make
shell>make install



==========================================================
http://sourceforge.net/project/showfiles.php?group_id=4286 에서 mhash의 최신 버전을 다운 받는다.

mhash 설치
shell>tar -xvzf mhash-0.8.18.tar.gz
shell>cd mhash-0.8.18
shell>./configure
shell>make
shell>make install

==========================================================
 ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/  에서 libmcrypt의 최신 버전을 다운 받는다.

9. libmcrpyt 설치

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


==========================================================
10. http://www.fastio.com 에서 clibpdf의 최신 버전을 다운 받는다.

11. clibpdf 설치
shell>tar xvzf clibpdf202r1.tar.gz
shell>cd ClibPDF
shell>cd source
shell>cp Makefile Makefile.orig
shell>cp Makefile.Linux Makefile
shell>make lib
shell>make install


==========================================================
12. ftp://ftp.sgi.com/sgi/graphics/grafica/flash 에서 swf의 최신 버전을 다운 받는다.

13. swf 설치
shell>tar -xvzf dist.99.linux.tar.Z
shell>mv dist /usr/local/swf
shell>cd /usr/local/swf
shell>cp swf.h include
shell>cp libswf.a lib


==========================================================
14. http://www.engelschall.com/sw/mm/ 에서 mm의 최신 버전을 다운 받는다.

15. mm 설치
shell>tar -xvzf mm-1.3.0.tar.gz
shell>cd mm-1.3.0
shell>./configure
shell>make
shell>make test
shell>make install


==========================================================
16. ftp://swrinde.nde.swri.edu/pub/png/src 에서 libpng의 최신 버전을 다운 받는다.

17. libpng 설치
shell>tar -xvzf libpng-1.2.5.tar.gz
shell>cd libpng-1.2.5
shell>cp scripts/makefile.linux Makefile
shell>make
shell>make test
shell>make install

==========================================================
18. http://prdownloads.sourceforge.net/freetype/freetype-2.1.5.tar.gz?download 에서 freetype 의 최신 버전을 다운 받는다.

19. freetype 설치
shell>tar -xvzf freetype-2.1.5.tar.gz
shell>cd freetype-2.1.5
shell>./configure
shell>make
shell>make install


==========================================================
20. ftp://ftp.uu.net/graphics/jpeg/ 에서 jpeg의 최신 버전을 다운 받는다.

21. jpeg 설치
shell>tar -xvzf jpegsrc.v6b.tar.gz
shell>cd jpeg-6b
shell>./configure --enable-shared --enable-static
shell>make
shell>make test
shell>make install

==========================================================
22. ftp://sunsite.unc.edu/pub/Linux/libs/graphics/ 에서 libungif를 다운 받는다

23. libungif 설치
shell>tar -xvzf libungif-4.1.0.tar.gz
shell>cd libungif-4.1.0
shell>./configure
shell>make
shell>make install

==========================================================
24. ftp://ftp.remotesensing.org/pub/libtiff/ 에서 libtiff의 최신 버전을 다운 받는다.

25. libtiff 설치
shell>tar -xvzf tiff-v3.6.1.tar.gz
shell>cd tiff-v3.6.1
shell>./configure

...중간에 설치하다 물어보면
yes한다
...

shell>make
shell>make install

==========================================================
26. ftp://sunsite.unc.edu/pub/Linux/libs/graphics/ 에서 t1lib을 다운 받는다.

27. t1lib 설치
shell>tar -xvzf t1lib-5.0.0.tar.gz
shell>cd t1lib-5.0.0
shell>./configure

configure finished!
Do:  'make'               to compile the t1lib-package.
Do:  'make without_doc'   to compile if you do not have LaTeX.
Do:  'make install'       to install the t1lib-package.


shell>make without_doc // 위의 내용그대로 필자는 LaTeX가 없기때문에 make하지 않고 make without_doc로 했습니다.
shell>make install


==========================================================
28. http://prdownloads.sourceforge.net/ming/ming-0.2a.tgz 에서 ming-0.2a 를받는다. 이후의 최신버전은 설치상 제약이 많아 필자는 이 버전을 애용한다.

29. ming 설치
shell>tar -xvzf ming-0.2a.tgz
shell>cd ming-0.2a
shell>make
shell>make install

==========================================================
30. http://www.boutell.com/gd/http/ 에서 gd 최신 버전을 다운 받는다.

31. gd 설치
shell>tar xvzf gd-2.0.9.tar.gz
shell>cd gd-2.0.9
shell>./configure
shell>make
shell>make install

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.>>

gd(gif지원)
shell>tar -xvzf gd-2.0.1gif.tar.gz
shell>mv gd-2.0.1 gd201
shell>cd gd201

//-->소스로 설치하기 때문에 일일이 include경로를 설치 디렉토리에 맞추어 변경해야한다

shell>vi gd.c
#include "/usr/local/zlib/zlib.h"   ->>/src/apm/zlib/zlib.h   :: 없었던듯..

shell>vi gd_jpeg.c
#include "/usr/local/jpeg6b/jpeglib.h"  -> /src/apm/jpeg6b/jpeglib.h  
#include "/usr/local/jpeg6b/jerror.h"   -> /src/apm/jpeg6b/jerror.h 

shell>vi gd_png.c
#include "/usr/local/libpng121/png.h"    /* includes zlib.h and setjmp.h */
  ->> /src/apm/libpng124/png.h

./configure

shell>vi Makefile
INCLUDEDIRS=-I. -I/usr/local/include/freetype2 -I/usr/local/include         :: 역시 안됐음..
LIBDIRS=-L/usr/local/lib -L/usr/lib
INSTALL_LIB=/usr/local/lib
INSTALL_INCLUDE=/usr/local/include

ln -s 필요... gd디렉토리로..


shell>make
shell>make install
※여기서 관련 c소스를 수정하는 이유는 zlib관련해서 헤더위치가 틀리기 때문이다

ln -s 필요... gd디렉토리로..

## find / libgd | grep libgd.

/usr/local/lib/libgd.so.2.0.0
/usr/local/lib/libgd.so.2
/usr/local/lib/libgd.so
/usr/local/lib/libgd.la
/usr/local/lib/libgd.a

# cd /usr/local/gd201/

# ln -s /usr/local/lib/libgd.a /usr/local/gd201/libgd.a 
# ln -s /usr/local/lib/libgd.so /usr/local/gd201/libgd.so
# ln -s /usr/local/lib/libgd.so.2 /usr/local/gd201/libgd.so.2
# ln -s /usr/local/lib/libgd.so.2.0.0 /usr/local/gd201/libgd.so.2.0.0


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.



==========================================================
->잘생각해보고 설치 고려..

32. ftp://ftp.cac.washington.edu/imap/ 에서 imap 최신 버전을 다운받는다. imap 설치시 갖가지 소스를 수정하는등 필자도 애로사항이 많았는데, 얼마전에 나온 imap-2004.RC6.tar.Z 를 다운받아 한번에 해결했다.


33. imap 설치
shell>tar -xvzf imap-2004.RC6.tar.Z
shell>cd imap-2004.RC6
shell>make lrh (레드햇 7.3 이상 버전) // 구 버전일시 make slx (다른 배포판등은 configure 문서를 참고)

shell>cp ipopd/ipop3d /usr/sbin/ipop3d
shell>cp imapd/imapd /usr/sbin/imapd

shell>cp c-clients/c-clients.a /usr/lib/c-cloents.a
shell>cp c-clients/mail.h  /usr/local/include/mail.h
shell>cp c-clients/rfc822.h /usr/local/include/rfc822.h
shell>cp c-clients/linkage.h /usr/local/include/linkage.h // 더 필요한 헤더가 있을경우 같은방법으로 /usr/local/include 로 복사한다.

shell>vi /etc/xinetd.d/ipop3d // pop3 가 되게끔 세팅
===================================
# default: on
# description: This is pop3 service.
service pop3
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/ipop3d
        log_on_success += HOST DURATION
        log_on_failure  += HOST
}
===================================

shell>vi /etc/xinetd.d/imapd // imap 역시 세팅
===================================
# default: on
# description: This is imap service.
service imap
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/imapd
        log_on_success += HOST DURATION
        log_on_failure  += HOST
}
===================================

shell>/etc/rc.d/init.d/xinetd restart //xinetd 데몬 재가동

shell>telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK POP3 localhost 2003.85 server ready // 이런 문자가 나오면 정상

shell>telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 LITERAL+ SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED] localhost IMAP4rev1 2003.346 at Sun, 1 Feb 2004 22:19:00 +0900 (KST) // 이런 문자가 나오면 정상

==========================================================


http://ftp.apache-kr.org/httpd/ 에서 아파치 최신 버전을 다운 받는다.

Apache를 설치한다
shell> tar -xvzf apache_1.3.29.tar.gz
shell> cd apache_1.3.29
shell>./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-rule=SHARED_CORE \
--enable-module=so

shell>make
shell>make install


/usr/local/apache/conf/httpd.conf 파일을 편집한다.
/usr/local/apache/bin/apachectl 을 시작하여 웹에서 확인한다.

ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S80httpd
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S80httpd
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc0.d/K80httpd
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc6.d/K80httpd


==========================================================


41. php 설치

./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql  \
--with-zlib-dir=/usr/local/lib  \
--with-jpeg-dir=/usr/local/lib  \
--with-png-dir=/usr/local/lib  \
--with-gif-dir=/usr/local/lib \
--with-tiff-dir=/usr/local/lib \
--with-gd=/usr/local/gd209 \
--with-zlib \
--with-freetype \
--with-freetype-dir=/usr/local/include/freetype2 \
--with-ming=/usr/lib \
--with-cpdflib \
--with-openssl \
--with-gettext \
--with-kerberos \
--with-swf-dir=/usr/local/swf \
--with-mm \
--with-mhash \
--with-mcrypt \
--with-mod_charset \
--with-language=korean \
--with-charset=euc_kr \
--with-regex=php \
--with-dbm \
--with-gdbm \
--with-curl \
--with-ldap \
--with-xml \
--with-ttf \
--with-t1lib \
--with-iconv=/usr/local \
--enable-modules=so \
--enable-gd-native-ttf \
--enable-ftp \
--enable-sockets \
--disable-debug \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-track-vars \
--enable-freetype-4bit-antialias-hack \
--enable-calendar \
--enable-sigchild \
--enable-magic-quotes \
--enable-trans-sid \
--enable-inline-optimization \
--enable-bcmath

=======================================
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-zlib-dir=/usr/local/lib \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/local/lib \
--with-gif-dir=/usr/local/lib \
--with-tiff-dir=/usr/local/lib \
--with-gd=/usr/local/gd201 \
--with-zlib \
--with-freetype \
--with-freetype-dir=/usr/local/include/freetype2 \
--with-ming=/usr/lib \
--with-cpdflib \
--with-openssl \
--with-gettext \
--with-kerberos \
--with-swf-dir=/usr/local/swf \
--with-mm \
--with-mhash \
--with-mcrypt \
--with-mod_charset \
--with-language=korean \
--with-charset=euc_kr \
--with-regex=php \
--with-dbm \
--with-gdbm \
--with-curl \
--with-ldap \
--with-xml \
--with-ttf \
--with-t1lib \
--enable-module=so \
--enable-gd-native-ttf \
--enable-ftp \
--enable-sockets \
--disable-debug \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-track-vars \
--enable-freetype-4bit-antialias-hack \
--enable-calendar \
--enable-sigchild \
--enable-magic-quotes \
--enable-trans-sid \
--enable-inline-optimization \
--enable-bcmath
=======================================

shell>make
shell>make install

shell>cp php.ini-dist /usr/local/apache/conf

42. Zend Optimizer 설치
과거에는 php.ini 파일을 수정했으나 현재는 압축을 푼후 설치 스크립트를 이용해 바로 설치가 가능하다. 압축 푼 디렉토리로 이동하여 ./install 하면된다.

설치후 phpinfo() 함수로 확인해본다.



/추가

iconv 패키지

이 모듈이 제공하는 함수를 사용하려면, 설정 옵션 --with-iconv[=DIR]을 사용하여 PHP 바이너리를 빌드해야 합니다.


Windows® 사용자 주의: Windows® 환경에서 이 모듈을 사용하려면, PHP/Win32 바이너리 패키지에 들어 있는 iconv.dll, 또는 iconv-1.3.dll(4.2.1 이전) DLL 파일을 PATH 환경 변수로 지정한 디렉토리나 Windows®의 시스템 디렉토리에 놓아야 합니다

 

===========================================================

 

보안이슈추가..

 

 

4.3.10 으로 업하신후 ZendOptimizer 2.5.7 로 업그레이드하셔야

phpmyadmin 등 각종 프로그램에서 foreach()사용시 'Illegal offset type'경고가 나오지 않습니다.

물론 ZendOptimizer 를 사용안하신다면 php.ini에서 꺼두셔도 무방합니다.


#tar -zxvf php-4.3.10.tar.gz

# cd php-4.3.10

#mkdir libs


#vi land

land 파일내용
=================================================
#!/bin/bash
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql  \
--with-zlib-dir=/usr/local/lib  \
--with-jpeg-dir=/usr/local/lib  \
--with-png-dir=/usr/local/lib  \
--with-gif-dir=/usr/local/lib \
--with-tiff-dir=/usr/local/lib \
--with-gd=/usr/local/gd201 \
--with-zlib \
--with-freetype \
--with-freetype-dir=/usr/local/include/freetype2 \
--with-ming=/usr/lib \
--with-cpdflib \
--with-openssl \
--with-gettext \
--with-kerberos \
--with-swf-dir=/usr/local/swf \
--with-mm \
--with-mhash \
--with-mcrypt \
--with-mod_charset \
--with-language=korean \
--with-charset=euc_kr \
--with-regex=php \
--with-dbm \
--with-gdbm \
--with-curl \
--with-ldap \
--with-xml \
--with-ttf \
--with-t1lib \
--with-iconv=/usr/local \
--enable-modules=so \
--enable-gd-native-ttf \
--enable-ftp \
--enable-sockets \
--disable-debug \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-track-vars \
--enable-freetype-4bit-antialias-hack \
--enable-calendar \
--enable-sigchild \
--enable-magic-quotes \
--enable-trans-sid \
--enable-inline-optimization \
--enable-bcmath
=================================================

#chmod 755 land

#./land

#make

#make install

# cp php.ini-dist /usr/local/lib/php.ini

# cd ..

# tar -axvf ZendOptimizer-2[1].5.7-linux-glibc21-i386.tar.gz

# cd ZendOptimizer-2.5.7-linux-glibc21-i386

# ./install

# vi /usr/local/lib/php.ini

======================================

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 600     ; Maximum execution time of each script, in seconds
max_input_time = 600        ; Maximum amount of time each script may spend parsing request data
memory_limit = 40M      ; Maximum amount of memory a script may consume (8MB)
~
~
register_globals = On
~
~
post_max_size = 30M
~
~
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 20M

~
~
~
;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = Off

~
~
~
======================================


# /etc/rc.d/init.d/http restart






 

'서버.보안' 카테고리의 다른 글

MySql 관리용 query [ver 0.1]  (0) 2006.11.15
로그 화일 자동 조절하기  (0) 2006.10.16
서버종합점검[리눅스]  (0) 2006.10.16
Vimrc 파일내용.  (0) 2006.07.28
APM설치 랜드판(apche2 붙이기)  (0) 2006.07.28

댓글