제목 : 64bit APM설치 DSO방식 linux APM install 기술문서
주식회사웹호스트 http://www.webhost.co.kr
본 문서는 Linux CentOS 5.2 Final 에 최적화되었습니다.
본 문서는 여러번의 테스트를 거쳐서 완성한 웹호스트에서 제공하는 문서입니다.
1. 리눅스 패키지 필수설치문서
- 리눅스시스템이 64bit 인지 먼저확인방법
uname -a
이 명령에서
Linux localhost.localdomain 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 11:57:43 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
이런형식으로 x86_64 가 나오면 시스템은 64bit 환경이다.
- 필수 rpm설치 (for 64bit 를 위하여)
yum -y install freetype freetype-devel freetype-utils gd gd-devel libjpeg libjpeg-devel libpng libpng-devel curl curl-devel openssl flex gcc gcc-c++
위 명령은 root에서 수행할것. 기존에 있다면 알아서 걸러줌
- yum install 이 안됩니다. 왜그런가요?
vi /etc/resolv.conf 확인할 것
nameserver 168.126.63.1
로 수정하거나, 입력해서 네임서버질의가 정상적으로 되는지 확인할것
2. mysql 설치하기
우선 APM관련 rpm은 모두 삭제하라
rpm -e dovecot
rpm -e mysql
rpm -e php-common
rpm -e php-ldap
rpm -e php-cli
rpm -e php
rpm -e php-cli
rpm -e php-common
rpm -e httpd-manual
rpm -e system-config-httpd
rpm -e httpd
rpm -e mod_ssl
rpm -e mod_python
rpm -e webalizer
rpm -e mod_ssl
rpm -e httpd
rpm -e mod_perl
rpm -e httpd
vi install.sh <--아래내용입력
중요사항) 줄의 끝에 일일이 역슬래시문자를 반드시 붙이셔야 합니다.
제로보드게시물에 역슬래시를 표기하지 못하므로 보이지 않습니다.
./configure --prefix=/usr/local/mysql \
--localstatedir=/home/MySQL/DATA \
--sysconfdir=/etc --disable-shared \
--with-mysqld-user=mysql \
--with-charset=euckr \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \
--without-docs --without-bench \
--without-isam \
--with-extra-charsets=all \
--with-innodb \
--without-debug
[참고사항] utf8 경우, --with-charset=utf8 \
mysql 4.1.x 대 설치시는 --with-charset=euckr \
저장하고 빠진후
chmod 700 install.sh
./install.sh
make && make install
========================================
참고) 에러유형 libmysqlclient.so.15 생성안될때 (에러날때만 참고할것)
- ls libmysql/.libs 해서 libmysqlclient.so.15 있는지 확인 (make까지만 해본후 리스트확인)
- 설치후 mysql 입력시 위 so.15 에러날때 어떻게 해야하나?
* 아래와 같이 --disable-shared옵션을 제거한 후에 설치한다.
./configure --prefix=/usr/local/mysql \
--localstatedir=/home/MySQL/DATA \
--sysconfdir=/etc \
--with-mysqld-user=mysql \
--with-charset=euc_kr
/etc/ld.so.conf 에 내용추가
/usr/lib/mysql <--추가
ldconfig
=========================================
make && make install
mkdir -p /home/MySQL/DATA
/usr/local/mysql/bin/mysql_install_db
useradd -M -o -r -d /home/MySQL/DATA -s /sbin/nologin -c "MySQL Server" -u 27 mysql >/dev/null 2>&1
install -m 644 ./include/my_config.h /usr/local/mysql/include/mysql
mkdir -p /var/run/mysqld
chmod 0755 /var/run/mysqld
chown mysql:mysql /var/run/mysqld
rm -f /usr/local/mysql/share/mysql/mysql-*.spec
rm -f /usr/local/mysql/share/mysql/mysql-log-ratate
strip /usr/local/mysql/libexec/mysqld
ldd /usr/local/mysql/libexec/mysqld
chown -R mysql.mysql /home/MySQL/DATA
cp ./support-files/my-huge.cnf /etc/my.cnf
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --level 3 mysqld on
chkconfig --list (체크하세요. 부팅시 자동으로 올라오게 함)
/etc/profile 수정(패스설정)
-------
# /etc/profile
# mysql config
PATH="$PATH:/usr/local/mysql/bin"
---------
내용삽입
path는 로그아웃한 후 다시 로그인하면 반영됨.
/etc/rc.d/init.d/mysqld start
끝
3. 중요 패키지설치
(1) zlib 소스설치하기
http://www.zlib.net/
wget http://www.zlib.net/zlib-1.2.3.tar.gz
cd zlib-1.2.3
기존 rpm 그대로 둘것 (삭제하면 안됨)
./configure -s --prefix=/usr/local/zlib-1.2.3
make libdir=/usr/lib64
make test
make libdir=/usr/lib64 install
vi /etc/ld.so.conf
---
include ld.so.conf.d/*.conf
/usr/X11R6/lib
/usr/local/lib
---
내용수정
ldconfig
==================================================
error) /usr/local/lib/libz.a 에러
mv /usr/local/lib/libz.a /usr/local/lib/_libz.a 로 rename 후
make clean / config-make-로 다시 진행
==================================================
(2) libpng 설치
png 포맷을 다루기 위한 라이브러리입니다.
http://ftp.superuser.co.kr/pub/etc/libpng-1.2.10.tar.bz2
bzip2 -d libpng-1.2.10.tar.bz2
tar xvfp libpng-1.2.10.tar
[root@localhost local]# cd libpng-1.2.10
기존 rpm들은 그대로 둘것 (삭제하면 안됨)
[root@localhost libpng-1.2.5]# cp scripts/makefile.linux makefile
[root@localhost libpng-1.2.5]# make test && make install
[root@localhost libpng-1.2.5]# cd ..
(3) freetype 2 설치
글짜를 그릴 때 쓰는 라이브러리 입니다.
wget http://ftp.superuser.co.kr/pub/etc/freetype-2.2.1.tar.bz2
bzip2 -d freetype-2.2.1.tar.bz2
tar xvfp freetype-2.2.1.tar
[root@localhost local]# cd freetype-2.2.1
./configure --prefix=/usr/local/freetype-2.2.1 && make && make install
------------------------------
에러가 남 : 참고용
error) ft2build.h' hasn't been included yet!
vi /usr/include/freetype2/freetype/freetype.h
상단
#error "`ft2build.h' hasn't been included yet!"
#error "Please always use macros to include FreeType header files."
#error "Example:"
#error " #include <ft2build.h>"
#error " #include FT_FREETYPE_H"
이 줄 삭제처리후에 다시 수행
-------------------------------
(4) libjpeg 설치
jpg 포맷을 다루는 라이브러리 입니다.
[root@localhost local]# wget http://ftp.superuser.co.kr/pub/etc/jpegsrc.v6b.tar.gz
[root@localhost local]# tar xvfz jpegsrc.v6b.tar.gz
[root@localhost local]# cd jpeg-6b
rpm -qa|grep libjpeg
[root@localhost jpeg-6b]# ./configure --enable-shared --enable-static --prefix=/usr/local/jpeg-6b
[root@localhost jpeg-6b]# make && make test
[root@localhost jpeg-6b]# make install <-- 에러발생할 것임
mkdir -p /usr/local/jpeg-6b/bin
mkdir -p /usr/local/jpeg-6b/include
mkdir -p /usr/local/jpeg-6b/lib
mkdir -p /usr/local/jpeg-6b/man/man1
등등... 없다는 폴더는 만들어줄것
[root@localhost jpeg-6b]# make install
[root@localhost jpeg-6b]# cd ..
위 설치법에서 특별한 것은 중간에 /usr/local/man/man1이라는 디렉토리를 생성합니다. 이유는 make install 하면 /usr/local/man/man1 디렉토리가 없다고 멘 페이지가 설치가 되지 않는다는 에러가 납니다.
(5) gd 설치
그래픽 라이브러리 입니다.
wget http://ftp.superuser.co.kr/pub/etc/gd-2.0.33.tar.gz
[root@localhost local]# tar xvzfp gd-2.0.33.tar.gz
[root@localhost local]# cd gd-2.0.33
[root@localhost gd-2.0.33]# ./configure --prefix=/usr/local/gd-2.0.33 --with-jpeg=/usr/local/jpeg-6b/ --with-freetype=/usr/local/freetype-2.2.1/
[root@localhost gd-2.0.33]# make && make install
4. 아파치의 설치
wget http://ftp.kaist.ac.kr/Apache/httpd/apache_1.3.41.tar.gz
64bit 에서는 -fPIC 옵션을 반드시 줘야 shared object 가 64bit로 된다.
검사법 : file /usr/local/apache/libexec/mod_env.so - 64bit x86-64표시되는지 확인할것
tar xvfzp apache_1.3.41.tar.gz
cd apache_1.3.41
export CFLAGS="${CFLAGS} -fPIC -DHARD_SERVER_LIMIT=1024 -DDEFAULT_SERVER_LIMIT=1024"
./configure --prefix=/usr/local/apache --enable-rule=SHARED_CORE --enable-module=so --enable-shared=max
make && make install
아파치의 설치스크립트 복사완료
cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
참고사항) 모듈추가하기
기본으로 설치되는 모듈들
-rw-r--r-- 1 root root 7587 Jul 21 08:56 httpd.exp
-rwxr-xr-x 1 root root 5543 Jul 21 08:56 libhttpd.ep
-rwxr-xr-x 1 root root 357628 Jul 21 08:56 libhttpd.so
-rwxr-xr-x 1 root root 9814 Jul 21 08:56 mod_access.so
-rwxr-xr-x 1 root root 8164 Jul 21 08:56 mod_actions.so
-rwxr-xr-x 1 root root 10776 Jul 21 08:56 mod_alias.so
-rwxr-xr-x 1 root root 6099 Jul 21 08:56 mod_asis.so
-rwxr-xr-x 1 root root 11160 Jul 21 08:56 mod_auth.so
-rwxr-xr-x 1 root root 28787 Jul 21 08:56 mod_autoindex.so
-rwxr-xr-x 1 root root 14864 Jul 21 08:56 mod_cgi.so
-rwxr-xr-x 1 root root 7401 Jul 21 08:56 mod_dir.so
-rwxr-xr-x 1 root root 7212 Jul 21 08:56 mod_env.so
-rwxr-xr-x 1 root root 16484 Jul 21 08:56 mod_imap.so
-rwxr-xr-x 1 root root 36685 Jul 21 08:56 mod_include.so
-rwxr-xr-x 1 root root 16988 Jul 21 08:56 mod_log_config.so
-rwxr-xr-x 1 root root 15126 Jul 21 08:56 mod_mime.so
-rwxr-xr-x 1 root root 28782 Jul 21 08:56 mod_negotiation.so
-rwxr-xr-x 1 root root 9746 Jul 21 08:56 mod_setenvif.so
-rwxr-xr-x 1 root root 17913 Jul 21 08:56 mod_status.so
-rwxr-xr-x 1 root root 8426 Jul 21 08:56 mod_userdir.so
총 20개
추가해줘야 하는것들
1. libphp4.so : php4
2. mod_bandwidth.c
3. mod_gzip.c
4. mod_headers.c
5. mod_rewrite.c
6. mod_throttle.c
7. mod_url.c
이상 7개
설치하기
1. libphp4.so : 이 것은 php4가 설치되면 아래에서 자동설치됨
2. mod_bandwidth.c를 구해서 설치한다. (웹호스트 자료실에 있습니다)
3. mod_gzip.c (웹호스트자료실에 있습니다)
4. mod_headers.c (웹호스트 자료실에 있습니다)
5. mod_rewrite.c : src/modules/standard/ 폴더에 있습니다.(아파치소스폴더)
6. mod_throttle.c : 웹호스트자료실에 있습니다
7. mod_url.c : 웹호스트자료실에 있습니다.
------------------------------------------------------
- 아파치소스밑에 모듈들이 있다. 확장자 *.c 참조할것
- 2개는 별도로 구할것 mod_throttle.c 와 mod_bandwidth.c 는 yahoo.com에서 구할수 있다.
- 모듈 추가하는 법 (DSO방식에서)
/usr/local/apache/bin/apxs -i -a -c ./mod_bandwidth.c
참고) apache DSO vs static 방식의 차이점을 이해할것 - 되도록 DSO로 설치권장~
--------------------------------------------------------
5. php4 의 설치 (php4 설치방식 동일합니다)
php 컴파일을위한 모듈경로 변경 (64bit용)
cd /usr/lib
mv libjpeg.so libjpeg.so__
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
mv libexpat.so libexpat.so__
ln -s /usr/lib64/libexpat.so /usr/lib/libexpat.so
mv /usr/local/lib/libz.a /usr/local/lib/libz.a__
ln /usr/lib64/libz.a /usr/local/lib/libz.a
mv /usr/lib/libssl.a /usr/lib/libssl.a__
ln /usr/lib64/libssl.a /usr/lib/libssl.a
wget http://ftp.superuser.co.kr/pub/php/php-4.4.4.tar.gz
tar xvzfp php-4.4.4.tar.gz
cd php-4.4.4
첫번째방법은 gd까지 모두 포함해서 설치하는 것이다.
관련 패키지를 아래 apm문서를 보고 모두 설치하라. gd, zlib, jpeg등등...
주의 : zlib-1.2.3 일때~
install.sh 라는 파일을 하나 만든다.
vi install.sh
./configure --prefix=/usr/local/php \
--libdir=/usr/lib64 \
--with-apxs=/usr/local/apache/bin/apxs \
--with-exec-dir=/usr/local/apache/bin \
--with-config-file-path=/usr/local/php/lib \
--with-mysql=/usr/local/mysql \
--with-zlib \
--with-gd \
--with-gd-dir=/usr/local/gd-2.0.33 \
--with-jpeg-dir=/usr/local/jpeg-6b \
--with-png \
--with-freetype-dir=/usr/local/freetype-2.2.1 \
--with-openssl \
--with-mod_charset \
--with-language=korean \
--with-charset=euc_kr \
--with-gdbm \
--with-ldap \
--with-xml \
--with-regex=php \
--with-iconv \
--with-gettext \
--enable-module=so \
--enable-memory-limit \
--enable-track-vars \
--enable-ftp \
--enable-sockets \
--enable-trans-sid \
--enable-magic-quotes \
--enable-sysvsem \
--enable-sysvshm \
--enable-mailparse \
--enable-sigchild \
--enable-calender \
--enable-inline-optimization \
--disable-debug \
--enable-mbstring
저장하고 빠진후
chmod 700 install.sh
./install.sh
utf8로 설치시 --with-charset=utf8 \ 수정할것
두번째는 이 중 간략하게만 설치하는 방법이다.
make && make install
cp php.ini-dist /usr/local/apache/conf/php.ini
[ zend의 설치 ]
zend.com 에서 64bit 용 tar.gz을 다운로드한다.
- 상단 download 클릭
- 가입하고 다운할것
tar xvzfp ZeodOptimizer-3.3.2....tar.gz
cd ZendOptimizer-3.3.2....
./install.sh - 진행에 따라 php.ini 를 복사한 /usr/local/apache/conf 입력해줄것
나머진 Next 엔터로 진행
이제
chkconfig --level 3 httpd on
하면 에러가 발생한다. 이것을 해결하기 위해서
vi /etc/rc.d/init.d/httpd
제일 하단에 아래 3줄을 삽입하고 저장하자.
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 90 90
# description: A very fast and reliable WebServer engine.
다시
chkconfig --level 3 httpd on
OK
이상 64bit APM 설치문서 끝.
작성 : (주)웹호스트 http://www.webhost.co.kr
작성 : 2009-02-09
댓글 없음:
댓글 쓰기