RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'OperatingSystem'에 해당되는 글 5
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
HPUX 에서 cifs 방식으로 마운트가 안될때..

시껍했다 ' ㅂ')

아래의 데몬이 돌아가야 정상적으로 cifsmount가 된다.
/opt/cifsclient/sbin/cifsclientd

마운트 명령어들 예시
# mount 192.168.120.10:/flex_fs /data1
# cifsmount //vod/streams /flv  <- 이때 vod 는 /etc/hosts에 등록이 되어 있어야한다.
Trackback
Reply
설치환경 )
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 –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 연동이 된 것이다.

Trackback
Reply

HPUX 64bit apache2 + php5 + oracle DSO방식으로 연동하기

 

오오! 수정 이 후에는 php4 버전도 DSO 모듈로 올라간다ㅜ_ㅜ 만세 

 

먼저 open source를 사용하기 위해선 사전 작업을 해 둬야 한다.

 

작업환경

HP-UX B.11.23 U ia64

Apache 2.2.9

Php 5.2.6

Oracle 9i 64bit

 

 

기본셋팅

 

1) 소스 다운로드 : http://hpux.connect.org.uk/hppd/auto/dependencies.html

 

* HP-UX에서 GCC을 이용한 Apache Php를 연동을 위해서는 반드시 먼저 설치되어야 함!

패키지명

버전

Autoconf

2.59

Automake

1.9.6

Bash

3.1.16

Bison

2.1

Expat

2.2.0

Flex

2.5.4a

Fontconfig

2.3.2

Gawk

3.1.5

Gcc

4.1.0

Gettext

0.14.5

Glib

1.2.10

Gzip

1.3.5

libiconv

1.10

Libtool

1.5.22

Libxml2

2.6.23

M4

1.4.4

Make

3.80

Ncurses

5.5

Perl

5.8.7

Popt

1.7

rsync

2.6.8

Tcltk

8.4.12

Texinfo

4.8

Xpm

3.4

zlib

1.2.3

 

2) 설치방법

- SWINSTALL을 이용한 설치

swinstall –s 절대경로명/파일명

ex) #> swinstall –s /다운로드경로/gcc-3.4.3-sd-11.23.Depot

 

 

APM 설치

 

1) apache configure

./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-so

apache의 경우 기본 perl경로를 /usr/bin에서 찾으니 HPUX는 /opt/perl/bin에 있다. 정상적으로 수정해야

php와 연동이 가능하다.

 

# vi /usr/local/apache2/bin/apxs

1번째라인 수정

#!/usr/bin/perl -w  -> #!/opt/perl/bin/perl -w

 

이것으로 apache는 완료

 

2) php configure

apache는 별 무리 없이 올라가지만, php는 약간의 작업을 해 줘야한다.

oracle 64bit로 설치되어 있지만, php는 컴파일시 32bit의 오라클 라이브러리를 요구하기 때문이다.

 

# vi configure(php5버전에서는 따로 안 해주어도 되는 듯하다!)

(vi 편집기에서 입력) %s/OCI8_DIR\/lib/OCI8_DIR\/lib32/g

 

이후 컴파일을 한다.

 

<<PHP 4버전일 경우>>

# CFLAGS=-pthread LDFLAGS="-lrt -lcl" ./configure --enable-libgcc \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-oci8=/oracle/ora920/app/oracle/product/9.2.0 \
--with-iconv-dir=/usr/local \
--enable-shared \
--enable-magic-quotes \
--enable-sigchild \
--enable-ftp \
--without-mysql \
--enable-sockets

 

 

<<PHP 5버전일 경우>>

# CFLAGS=-pthread LDFLAGS="-lrt -lcl" ./configure --prefix=/usr/local/php2 \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-config-file-path=/usr/local/apache2/conf \

--with-oci8=/oracle/ora920/app/oracle/product/9.2.0 \

--enable-shared \

--enable-magic-quotes \

--enable-sigchild \

--without-mysql \
--enable-ftp \

--enable-sockets

 

컴파일 완료 후, 한가지 더 작업을 해줘야 make, make install시 문제가 발생하지 않는다.

(그냥 make 하면 so 모듈을 생성하지 못한다.)

 

# vi libtool(컴파일 완료 후 생성된다.)

deplibs_check_method="어쩌구 저쩌구" 항목을 deplibs_check_method="pass_all"로 수정한다.

 

이 후, make && make install 하면 완료된다.

Trackback
Reply
무슨놈의 서버들이 이렇게나 특성을 타는지.
동일한 버전의  HPUX에 동일한 package를 설치했는데도 이상하게
어떤 서버에는 php를 compile할때 oracle library를 찾지 못한다는 메세지만 뿌려대는 녀석을 발견했다.

지친다 이놈들아.
그래도 해결했다. 하핫.

1. oracle library를 찾지 못할때 configure 파일을 직접 수정한다.
*hpux*)
SHLIB_SUFFIX_NAME=sl

위부분을 찾아
SHLIB_SUFFIX_NAME=so로 수정
(※ oracle이 설치된 lib 디렉토리에서 libclntsh.so 파일을 libclntsh.sl로 링크도 해봤지만 안되서 configure파일을 직접수정해버렸음)

2. 64bit의 OS로 인하여 lib디렉토리를 찾지 못할때 역시 configure 파일을 직접 수정한다.
OCI8_DIR/lib 을 모두 OCI8_DIR/lib32 로 수정

3. php make 시에 다음의 오류 메세지가 나올 경우
/usr/local/php/ext/oci8/php_oci8.h:52:17: oci.h: No such file or directory
$ORACLE_HOME/rdbms/demo/oci.h 파일등이 없어서 생기는 문제로
잘 되는 oracle 이 깔린 서버의 rdbms 디렉토리를 통째로 copy 하여 해결
이러니 compile및 make, make install 이 다 잘되더라.

ex) 그때 사용한 compile option
./configure --prefix=/tmax/webtob/php \
--with-oci8 \
--with-mysql \
--with-pear \
--enable-shared \
--enable-magic-quotes \
--enable-sigchild \
--enable-ftp
Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2025/03   »
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