세이박스

리눅스 sulinux 2.0 설치후 Apache make시 오류 발생 처리

서버,보안

IBM 345 서버에 페도라 10을 설치할려고 하니 Raid 카드 인식이 되지 않아 결국 sulinux 2.0 을 설치 하였다.
역시 IBM에서 지원하는 OS라 그런지 쉽게 Raid카드가 인식되어 설치 성공하였다.
문제는 mysql 설치 후 apache를 설치 하는 과정중 make시에 다음과 같은 오류가 나타났다.

sockopt.c: In function 'apr_socket_opt_set':
sockopt.c:216: error: 'SCTP_NODELAY' undeclared (first use in this function)
sockopt.c:216: error: (Each undeclared identifier is reported only once
sockopt.c:216: error: for each function it appears in.)
make[4]: *** [sockopt.lo] 오류 1
make[4]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib/apr/network_io/unix'
make[3]: *** [all-recursive] 오류 1
make[3]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib/apr/network_io/unix'
make[2]: *** [all-recursive] 오류 1
make[2]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib/apr'
make[1]: *** [all-recursive] 오류 1
make[1]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib'
make: *** [all-recursive] 오류 1

위와 같은 오류가 발생시 lksctp-tools-devel 을 yum 으로 손쉽게 설치를 하고 나면 이후엔 오류가 발생하지 않았었다. 하지만, 이상하게도 아래와 같은 오류가 나타났다.
페도라10과 sulinux 2.0에서 yum 설치시 요청하는 업데이트 서버가 틀린가 보다.

# yum install lksctp-tools-devel
Setting up Install Process
Parsing package install arguments
Requested dep: lksctp-tools-devel is provided by installed package
Nothing to do

그래서 rpm을 직접 받아서 설치후 make 성공 하였다.

lksctp-tools-devel 다운로드 받는 곳 :
http://sourceforge.net/projects/lksctp/files/

여기서 자신의 os에 해당하는 파일 다운로드
저의 경우 lksctp-tools-devel-1.0.10-1.i386.rpm 로 다운 받았습니다.
http://sourceforge.net/projects/lksctp/files/lksctp/lksctp-tools-1.0.10/lksctp-tools-devel-1.0.10-1.i386.rpm/download

다운로드 페이지에 광고가 있는데 잘 찾아 보시면 하늘색으로 된 "direct link" 라는 링크가 있을꺼에요 그걸 클릭하시면 됩니다.
또는 서버에서 해당 링크를 wget으로 받으셔도 됩니다.

wget http://downloads.sourceforge.net/project/lksctp/lksctp/lksctp-tools-1.0.10/lksctp-tools-devel-1.0.10-1.i386.rpm?use_mirror=jaist

* rpm 설치
rpm -Uvh lksctp-tools-devel-1.0.10-1.i386.rpm



그리고 기존에 설치 하셨던 apache는 삭제 하시고 원소스를 다시 압축 푸셔서 처음부터 다시 configure > make 진행 하세요!

세이박스에서는 제가 접한 오류들을 해결하는 과정을 매일 기록하고 있습니다.
전문적인 답변은 아닐지라도 분명 어떤분께는 도움일 자료가 될거라 생각합니다.

해당글은 세이박스에서 작성한 글이므로 퍼가실땐 꼭 출처를 남겨 주세요! ^^ ㅋㅋ

리눅스 페도라10 버전에 php-5.1.4 버전 설치하기

서버,보안

1. php-5.1.4 버전 다운로드 및 압축 풀기
wget http://ftp.linux.co.kr/pub/php/php-5.1.4.tar.bz2
tar xvfj php-5.1.4.tar.bz2
cd php-5.1.4

* 위 URL로 PHP를 다운로드 안 받아 질경우 아래 파일 직접 다운로드


2. 환경설정
중요한 세팅을 할 필요가 있다. 바로 환경변수부분인데..
/etc/profile 파일을 열어서 제일 상단에 아래부분을 추가하도록 하자.
# vi /etc/profile
=======================================================================================
APACHE_HOME=/usr/local/apache
ORACLE_HOME=/usr/lib/oracle
LD_LIBRARY_PATH=/usr/lib/oracle
export APACHE_HOME ORACLE_HOME LD_LIBRARY_PATH
export NLS_LANG=.KO16KSC5601
=======================================================================================
파일을 수정했다면 시스템에 반영하도록 한다.
# source /etc/profile

CFLAGS="-O3 -march=i686 -funroll-loops -fomit-frame-pointer" ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd --with-ttf --with-png --with-expat-dir=/usr --with-gmp --with-xml --with-mysql=/usr/local/mysql --with-language=korean --with-charset=euc_kr --disable-debug --disable-posix --disable-rpath --enable-safe-mode --enable-magic-quotes --disable-dmalloc --enable-bcmath --enable-dio --enable-gd-native-ttf --enable-sysvsem --enable-wddx --enable-versioning --enable-pic --enable-inline-optimization --enable-memory-limit --enable-mbstring --enable-mbregex --enable-mbstr-enc-trans --with-config-file- --enable-ftp --disable-debug --enable-track-vars=yes --with-jpeg-dir --with-freetype-dir --enable-gd-native-ttf --enable-dl
make && make install


3. php.ini 파일 복사
cp php.ini-dist /usr/local/lib/php.ini


4. Zend Optimizer 다운로드 압축 풀기
http://www.zend.com/download/140 에서 최신 버전을 다운 받거나 아래 파일을 다운로드
tar xvzf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.9-linux-glibc23-i386
./install.sh

* 위 사이트 접속후 다운로드 받기 귀찮을 경우 아래 다운로드 (회원가입해야함)


5. 아파치에서 php를 인식하도록 추가
vi /usr/local/apache/conf/httpd.conf
# 위의 부분이 추가되어 있는지 확인하자.
LoadModule php5_module        modules/libphp5.so

#  DirectoryIndex 조회후  index.php index.phtml 추가
DirectoryIndex index.html index.html.var index.php index.phtml

# AddType application/x-gzip .gz .tgz 이 내용 바로 밑에 붙여주면 좋겠죠
AddType application/x-httpd-php .php .phtml
AddType application/s-httpd-php-source .phps


6. 아파치 재시작
/usr/local/apache/bin/apachectl restart


* 아파치 실행시 libphp5.so error 발생시
/usr/local/apache/bin/apachectl restart
Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

cd /usr/local/apache/modules
restorecon -v libphp5.so
chcon -t texrel_shlib_t libphp5.so


* make Warning 발생시
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
.........

http://www.pear-forum.org/post-5065.html 참고

make test
php 설치된 디렉토리에 하부 .channels 라는 디렉토리 내용만 지워주면 됨

위 글은 세이박스에서 작성한 글이므로 퍼가기 하실때에는 반드시 출처를 남겨 주세요.
 

리눅스 페도라 10 버전에서 아파치 Httpd-2.0.49 설치 하기

서버,보안

아파치를 이미 설치 해보신 분이 설치하는 것으로 생각하며 디테일한 설명은 생략했으니 참고하셔서 활용 하시기 바랍니다.
아파치는 PHP보다 먼저 설치 되어야 하며 한 서버에 MySQL도 같이 설치 하신다면 아파치 보다 MySQL이 먼저 설치 되어야 합니다.
설치순서 : MySQL > Apache > PHP

1. 아파치 설치전 yum 으로 필요한 라이브러리 설치
yum install lksctp-tools-devel


2. 다운로드 후 압축풀기
wget http://ftp.superuser.co.kr/pub/apache/httpd-2.0.49.tar.gz
tar xvzf httpd-2.0.49.tar.gz
cd httpd-2.0.49

* 위 url로 다운로드 되지 않을 경우 아래 파일을 직접 받으셔도 됩니다.



3. 소스파일 일부 수정
vi server/mpm/prefork/prefork.c
수정전 : #define DEFAULT_SERVER_LIMIT 256
수정후 : #define DEFAULT_SERVER_LIMIT 4096

vi server/mpm/worker/worker.c
수정전 : #define DEFAULT_SERVER_LIMT 16
수정후 : #define DEFAULT_THREAD_LIMT 256


4. 환경설정
./configure --enable-so --prefix=/usr/local/apache
make
make install


5. 아파치를 어디에서나 실행할 수 있게 환경변수를 등록
PATH=$PATH:/usr/local/apache/bin


* 아파치 실행시 libphp5.so error 발생시
cd /usr/local/apache2/modules
restorecon -v libphp5.so
chcon -t texrel_shlib_t libphp5.so


* 아파치 설치시 make 오류
sockopt.c: In function 'apr_socket_opt_set':
sockopt.c:216: error: 'SCTP_NODELAY' undeclared (first use in this function)
sockopt.c:216: error: (Each undeclared identifier is reported only once
sockopt.c:216: error: for each function it appears in.)
make[4]: *** [sockopt.lo] 오류 1
make[4]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib/apr/network_io/unix'
make[3]: *** [all-recursive] 오류 1
make[3]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib/apr/network_io/unix'
make[2]: *** [all-recursive] 오류 1
make[2]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib/apr'
make[1]: *** [all-recursive] 오류 1
make[1]: Leaving directory `/usr/local/src/httpd-2.0.49/srclib'
make: *** [all-recursive] 오류 1

yum install lksctp-tools-devel
(설치전 미리 먼저 설치 해두는게 좋음)


위 내용은 세이박스에서 작성한 내용으로 퍼가실때에는 반드시 출처를 남겨 주세요!