RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'OperatingSystem/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 에 넣어주면 된다!!
  | 2011.11.21 18:21
비밀댓글입니다
설치환경 )
AIX 5.35.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 -qaXgd rpm.rte rpm.rte


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

설치한 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/libLIBPATH=/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
./configure --prefix=/app1/apache --enable-modules=most --enable-so --with-ssl=/app1/openssl

3. PHP 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 \
--enable-shared --disable-static \
--with-zlib \
--with-jpeg-dir=/opt/freeware/lib \
--with-png-dir=/opt/freeware/lib \
--with-freetype-dir=/opt/freeware/lib \
--enable-sigchild \
--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/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 commandcommand is 1.

해결방법
# cp .libs/libphp4.so.libs/libphp4.so /app1/apache/modules/libphp4.so


수작업으로  so 파일을 모듈에 넣어준 뒤 httpd.conf를 수정한다.
LoadModule php4_module modules/libphp4.so

AddType application/x-httpd-phpapplication/x-httpd-php .php .php4 .php3
AddTypeAddType application/x-httpd-php-source .phps

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

이렇게 하면 apapche + PHP + oci 연동이 된 것이다.

우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
Tips! (1)
OpenSource (1)
«   2018/01   »
  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 31      
  1. 2012/12 (2)
  2. 2012/04 (3)
  3. 2012/03 (6)
  4. 2012/02 (6)
  5. 2012/01 (2)