RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'AIX'에 해당되는 글 2
AIX 카테고리의 이전 글을 보면 AIX에 Apache + PHP + Oracle을 연동하였는데, 이번에는 APM을 설치해야하는 상황이 왔다. 물론 저번의 APO처럼하면 될 줄 알았는데, 이게 왠걸... 안된다. 역시 SE는 쉽지 않다.

일단 AIX Toolbox는 기본으로 설치하여야한다.
설치가 정상적으로 되어 있는지 확인 해 보자.

1. 컴파일을 위한 GCC 등의 패키지 설치 및 확인
- 버전은 업데이트 될 수 있으니 AIX Toolbox에서 확인하는걸 잊지말자.
xargs rpm -iv << EOF
autoconf-2.59-1.aix5.1.noarch.rpm
automake-1.8.5-1.aix5.1.noarch.rpm
binutils-2.14-3.aix5.1.ppc.rpm
gcc-4.2.0-3.aix5.3.ppc.rpm
gcc-cplusplus-4.2.0-3.aix5.3.ppc.rpm
gcc-locale-4.2.0-3.aix5.3.ppc.rpm
libgcc-4.2.0-3.aix5.3.ppc.rpm
libstdcplusplus-4.2.0-3.aix5.3.ppc.rpm
libstdcplusplus-devel-4.2.0-3.aix5.3.ppc.rpm
gdbm-1.8.3-5.aix5.2.ppc.rpm
gdbm-devel-1.8.3-5.aix5.2.ppc.rpm
libtool-1.5.8-2.aix5.1.ppc.rpm
m4-1.4.1-1.aix5.1.ppc.rpm
make-3.80-1.aix5.1.ppc.rpm
EOF


2. PHP 5에서 필요한 패키지 설치 및 확인
xargs rpm -iv << EOF
bzip2-1.0.5-2.aix5.2.ppc.rpm
gd-1.8.4-3.aix5.1.ppc.rpm
gd-devel-1.8.4-3.aix5.1.ppc.rpm
gd-progs-1.8.4-3.aix5.1.ppc.rpm
gettext-0.10.40-8.aix5.2.ppc.rpm
libpng-1.2.8-9.aix5.2.ppc.rpm
libpng-devel-1.2.8-9.aix5.2.ppc.rpm
libjpeg-6b-6.aix5.1.ppc.rpm
libjpeg-devel-6b-6.aix5.1.ppc.rpm
freetype-1.3.1-9.aix5.1.ppc.rpm
freetype-devel-1.3.1-9.aix5.1.ppc.rpm
freetype2-2.1.7-5.aix5.1.ppc.rpm
freetype2-devel-2.1.7-5.aix5.1.ppc.rpm
libxml2-2.6.21-3.aix5.2.ppc.rpm
libxml2-devel-2.6.21-3.aix5.2.ppc.rpm
zlib-1.2.3-4.aix5.2.ppc.rpm
zlib-devel-1.2.3-4.aix5.2.ppc.rpm
EOF
위 패키지는 최소한의 요구 패키지이니 꼭 설치를 해야하며, 필요하면 bash 등도 설치하는게 좋다.


3. Mysql 설치
Mysql은 일반 소스 버전이 아닌 AIX용으로 나오는 파일을 다운받아야한다.
MySQL 유저와 그룹 생성
# mkuser mysql
# mkgroup -A mysql

다운 받은 파일 압축 풀기
# cd /usr/local
# gunzip mysql-standard-5.0.27-aix5.2-powerpc.tar.gz
# tar xf mysql-standard-5.0.27-aix5.2-powerpc.tar

/usr/local/mysql로 링크걸기
# ln -s mysql-standard-5.0.27-aix5.2-powerpc /usr/local/mysql

MySQL 설정하기
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
# chown -R root.mysql .
# chown -R mysql.mysql data
# chgrp -R mysql .
# nohup bin/mysqld_safe --user=mysql &
이것으로 Mysql은 설치 끝이다. 설치라기보단 그냥 압축풀기 정도..


4. Apache Compile
위의 RPM이 설치가 다 되었다면 이제 컴파일 할 차례.
컴파일 전에 권장사항이 있다면, 컴파일시 너무 느린 관계로 컴파일 할때는 bash shell을 이용하도록 하자.
export CONFIG_SHELL=/opt/freeware/bin/bash
export CONFIG_ENV_ARGS=/opt/freeware/bin/bash
테스트 결과 상당히 컴파일이나 MAKE시에 속도 차이가 있으니 꼭 설정 해 주자.
아니면 한 2~3시간동안 놀다오는 수가 생긴다.

아파치 컴파일은 별다른 무리가 없이 설치가 잘되었다.
CC=gcc CXX=gcc ./configure -C --enable-so --prefix /usr/local/apache --with-included-apr


5. PHP compile
문제가 되는 것은 PHP의 make!!

export PATH=/opt/freeware/bin:$PATH

./configure \
--prefix=/usr/local \
--with-config-file-path=/usr/local/apache/conf \
--with-mysql=/usr/local/mysql \
--enable-shared \
--disable-static \
--enable-maintainer-zts \
--enable-calendar \
--enable-bcmath \
--enable-sockets \
--enable-zip \
--with-gd \
--with-zlib \
--with-libxml-dir=/opt/freeware \
--with-zlib-dir=/opt/freeware \
--with-bz2 \
--with-gettext=/opt/freeware \
--with-jpeg-dir=/opt/freeware \
--with-png-dir=/opt/freeware \
--with-freetype-dir=/opt/freeware

기존의 APACHE APXS를 이용한 so모듈을 생성하기 위해 컴파일 옵션에 아래 항목을 추가했는데...
--with-apxs2=/usr/local/apache/bin/apxs
죽어도 libphp5.so가 생성이 되지 않고 libphp5.a , libphp5.la만 생성이 된다.
결국은 so파일 형식이 아닌 CGI binary 방식으로 컴파일을 하게 된 것이다. 이후 make 와 make install로 PHP 설치를 완료 한다.

6. Config 설정
설치가 완료 된 후 httpd.conf에 php 설정을 해 주자.
ScriptAlias /php5-cgi /usr/local/bin/php-cgi
Action php-cgi /php5-cgi
AddHandler php-cgi .php
so 모듈 생성때와는 다른 설정이니 참조 해 두길 바란다.

7. 문제점
Apache, PHP, Mysql이 설치가 잘 됐는데..
이상하게 PHP에서 Mysql 모듈을 읽어 들이지 못한다. libz.so 파일을 찾는데 일단 Mysql lib디렉토리 안에는 없다! 이 일은 아직 미제다 ㅠ_ㅠ

--> 해결!
/opt/freeware/lib/libz.a 파일을 mysql설치디렉토리/lib 에 넣어주면 된다!!
Trackback
Reply
설치환경)
AIX 5.3 64bit
apache 2.2.8
php 4.4.8
oracle 10.2

참조 사이트)
http://www-03.ibm.com/systems/p/os/aix/linux/toolbox/download.html
http://www.ibm.com/developerworks/wikis/display/WikiPtype/aixopen

소스 FTP)
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/

AIX에서 apache + php + oracle 연동하기
일단 AIX에서 open source를 설치하기 위한 방법을 서술한다.
AIX에서 linux의 rpm을 쓸 수 있게 해주는 파일이 있다. 이것을 먼저 설치한다

# installp -qacXgd rpm.rte rpm.rte

설 치는 이것으로 매우 간단하게 진행된다. 이제 이것으로 AIX에서 rpm의 설치를 할 수 있게 된다. 단, AIX에 맞는 rpm을 구해야 한다. 소스FTP에 접속하면 AIX에서 사용가능한 rpm이 있으니 필요한 rpm을 다운로드 한다.

설치한 RPM 리스트
autoconf-2.59-1.aix5.1.noarch.rpm
automake-1.8.5-1.aix5.1.noarch.rpm
bash-3.2-1.aix5.2.ppc.rpm
binutils-2.14-3.aix5.1.ppc.rpm
bison-1.875-3.aix5.1.ppc.rpm
coreutils-5.2.1-2.aix5.1.ppc.rpm
cpio-2.5-1.aix5.1.ppc.rpm
diffutils-2.8.1-1.aix4.3.ppc.rpm
expat-1.95.7-4.aix5.1.ppc.rpm
expat-devel-1.95.7-4.aix5.1.ppc.rpm
flex-2.5.4a-6.aix4.3.ppc.rpm
freetype-1.3.1-9.aix5.1.ppc.rpm
freetype-demo-1.3.1-9.aix5.1.ppc.rpm
freetype-devel-1.3.1-9.aix5.1.ppc.rpm
freetype2-2.1.7-5.aix5.1.ppc.rpm
freetype2-devel-2.1.7-5.aix5.1.ppc.rpm
gawk-3.1.3-1.aix5.1.ppc.rpm
gcc-4.2.0-3.aix5.3.ppc.rpm
gcc-cplusplus-4.2.0-3.aix5.3.ppc.rpm
gd-1.8.4-3.aix5.1.ppc.rpm
gd-devel-1.8.4-3.aix5.1.ppc.rpm
gd-progs-1.8.4-3.aix5.1.ppc.rpm
gdb-6.0-1.aix5.1.ppc.rpm
gettext-0.10.40-8.aix5.2.ppc.rpm
glib-1.2.10-2.aix4.3.ppc.rpm
glib-devel-1.2.10-2.aix4.3.ppc.rpm
glib2-2.8.1-3.aix5.1.ppc.rpm
glib2-devel-2.8.1-3.aix5.1.ppc.rpm
gzip-1.2.4a-10.aix5.2.ppc.rpm
info-4.6-1.aix5.1.ppc.rpm
libgcc-4.2.0-3.aix5.3.ppc.rpm
libjpeg-6b-6.aix5.1.ppc.rpm
libjpeg-devel-6b-6.aix5.1.ppc.rpm
libpng-1.2.8-6.aix5.2.ppc.rpm
libpng-devel-1.2.8-6.aix5.2.ppc.rpm
libstdcplusplus-4.2.0-3.aix5.3.ppc.rpm
libstdcplusplus-devel-4.2.0-3.aix5.3.ppc.rpm
libtiff-3.6.1-4.aix5.1.ppc.rpm
libtiff-devel-3.6.1-4.aix5.1.ppc.rpm
libtool-1.5.8-2.aix5.1.ppc.rpm
libungif-4.1.2-1.aix5.1.ppc.rpm
libungif-devel-4.1.2-1.aix5.1.ppc.rpm
libxml2-2.6.21-3.aix5.2.ppc.rpm
libxml2-devel-2.6.21-3.aix5.2.ppc.rpm
lrzsz-0.12.20-2.aix4.3.ppc.rpm
m4-1.4.1-1.aix5.1.ppc.rpm
make-3.80-1.aix5.1.ppc.rpm
patch-2.5.4-4.aix4.3.ppc.rpm
perl-5.8.2-1.aix5.1.ppc.rpm
sed-4.1.1-1.aix5.1.ppc.rpm
tar-1.14-2.aix5.1.ppc.rpm
unzip-5.51-1.aix5.1.ppc.rpm
xpm-3.4k-7.aix5.1.ppc.rpm
xpm-devel-3.4k-7.aix5.1.ppc.rpm
zlib-1.2.3-4.aix5.2.ppc.rpm
zlib-devel-1.2.3-4.aix5.2.ppc.rpm

설치하는 방법은 리눅스와 동일하다.

rpm –ivh rpm명
rpm –Uvh rpm명

위 순서대로는 의존성이 걸릴 수도 있으니 lib류를 먼저 설치하도록 하자.
(물론, rpm –qa로 설치된 패키지도 볼 수 있다.)

설치가 끝이 났으면 컴파일러를 gcc에 맞춰준다.
export CC=gcc
export CXX=gcc

AIX의 환경변수 파일은 홈디렉토리의 .profile이니 위의 내용을 추가 한 후 적용하면 된다.

추가 환경설정내용(oracle)
export ORACLE_HOME=/oracle/app/product/102
export LIBPATH=/opt/freeware/lib:/usr/lib:/lib:/usr/css/lib:/usr/local/lib: $ORACLE_HOME/lib32:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=/usr/lib:/lib:/usr/css/lib:/opt/freeware/lib:/usr/local/lib: $ORACLE_HOME /lib32: $ORACLE_HOME /lib

설치
1.  openssl
http://www.openssl.org/에서 소스를 다운 받아서 선택
./config --prefix=/app1/openssl --openssldir=/app1/openssl -fPIC shared threads

2.  apache 2.2.8(2.2.9는 소소한 버그가 있어 2.2.8을 선택)
./configure --prefix=/app1/apache --enable-modules=most --enable-so --with-ssl=/app1/openssl

3.  PHP 4.4.8(역시 소소한 버그로 인하여 4.4.8선택)
php는 openssl과 apache와는 달리 설치가 조금 다르다. 정상적으로 설치가 되진 않는다. 일단 선행작업을 조금 해주어야 한다.


oracle을 정상적으로 인식하게 하기 위한 링크작업
ln –s $ORACLE_HOME/lib32/libclntsh.a $ORACLE_HOME/lib32/libclntsh.so
ln -s $ORACLE_HOME/lib/libclntsh.a $ORACLE_HOME/lib/libclntsh.so
ln -s $ORACLE_HOME/lib32/libclntsh.a /usr/lib/libclntsh.so
ln –s $ORACLE_HOME/lib32/libclntsh.a /lib/libclntsh.so

./configure --prefix=/app1 \
--with-apxs2=/app1/apache/bin/apxs \
--with-config-file-path=/app1/apache/conf \
--with-oci8=/oracle/app/product/102 \
--with-gd \
--with-zlib-dir=/opt/freeware/lib \
--with-zlib \
--with-jpeg-dir=/opt/freeware/lib \
--with-png-dir=/opt/freeware/lib \
--with-freetype-dir=/opt/freeware/lib \
--enable-sigchild \
--enable-shared --disable-static \
--without-xpm
(설치문서를 찾던 중 --with-xpm의 옵션을 사용하면 에러가 발생 한다고하여 빼버렸다.)

 
./configure가 끝이 난 후, make 까지만 하자.
make install시에는 오류가 나며 더 이상 진행되지 않는다.
make install시 생기는오류내용

Installing PHP SAPI module:       apache2handler
/app1/apache/build/instdso.sh SH_LIBTOOL='/app1/apache/build/libtool' libphp4.la /app1/apache/modules
rm -f /app1/apache/modules/libphp4.so
/app1/apache/build/libtool --mode=install cp libphp4.la /app1/apache/modules/
cp .libs/libphp4.a /app1/apache/modules/libphp4.a
cp .libs/libphp4.lai /app1/apache/modules/libphp4.la
libtool: install: warning: remember to run `libtool --finish /data1/dunet_data/apm/php-4.4.8/libs'
chmod 755 /app1/apache/modules/libphp4.so
chmod: /app1/apache/modules/libphp4.so: No such file or directory
apxs:Error: Command failed with rc=65536
.
make: The error code from the last command is 1.

아래와 같이 해결한다.
# cp .libs/libphp4.so /app1/apache/modules/libphp4.so
# cp php.ini-dist /app1/apache/conf/php.ini
수작업으로  so 파일을 모듈에 넣어준 뒤 httpd.conf를 수정한다.

LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php .php4 .php3
AddType application/x-httpd-php-source .phps

# /app1/apache/bin/apachectl –t
Syntax OK

이렇게 하면 apapche + PHP + oci 연동이 된 것이다.
Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30