'php'에 해당되는 글 1건

  1. 2008.02.11 [작성중]PHP+MySQL+Apache+JSP(Tomcat+J2SE) 설치 종합 by ㉡ㅐ꼬

이 글은 완성본이 아니라 계속 업데이트되는 문서입니다
------------------------------------------------------------------
PHPH+MySQL+Apache+JSP(Tomcat+J2SE) 설치

1. RPM으로 설치된 Package제거

# killall httpd
# ps -ef | grep httpd
# killall mysqld
# rpm -e apache
# rpm -e apache-devel
# rpm -e php
# rpm -e imap
# rpm -e mysql


2. mysql 설치
주의) mysql-3.23.44이후부터 mysql계정으로 설치
(편하게 root로 설치하고 나중에 mysql계정추가)

# ./configure --prefix=/usr/local/mysql  --with-charset=euckr --with-extra-charsets=all
# make
# make install
# cd /usr/local/mysql/bin
# ./mysql_install_db

# groupadd mysql
# adduser -g mysql mysql
# vi /etc/passwd
mysql:x:522:523::/home/mysql:/sbin/nologin // nologin 으로 수정
# rm -rf /home/mysql
# chown -R root.mysql /usr/local/mysql
# chown -R mysql.mysql /usr/local/mysql/var
[root@www /bin]# cd /usr/local/mysql/share/mysql
[root@www /mysql]#vi mysql.server

편집기로 열어서 mysqld_safe이 실행되는 라인에 --language=korean 옵션을 추가한다
$bindir/mysqld_safe --user=$mysql_daemon_user --pid-file=$pid_file --datadir=$datadir --language=korean &
(버전에 따라서 옵션이 변경될 수 있다)

시스템 부팅시 자동적으로 Mysql을 실행하고자 할 경우에는 support-files/mysql.server 파일을
/etc/rc.d/init.d 디렉토리로 copy 합니다.
그리고 /etc/rc.d/rc0.d에는 K01mysql이라는 이름으로
/etc/rc.d/rc3.d에는 S90mysql이라는 이름으로 symbolic link를 만들어줍니다.

# cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql.server
# ln -s /etc/rc.d/init.d/mysql.server /etc/rc.d/rc0.d/K01mysql
# ln -s /etc/rc.d/init.d/mysql.server /etc/rc.d/rc3.d/S90mysql

# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
my-medium.cnf는 선택...(어떤 화일을 사용할지 선택)

mysql DB에 접속 후 root 비밀번호변경
-----------------------------------------------------------
update user set password=password('ppp') where user='root';
flush privileges;
-----------------------------------------------------------


3. zlib 설치
Download : http://www.gzip.org/zlib/

# tar xvfz zlib-1.2.3.tar.gz
# mv  zlib-1.2.3 /usr/local/zlib
# cd /usr/local/zlib
# ./configure -s // libz.so 관련모듈생성
# make
# ./configure // libz.a 생성
# make test
# make install
# ls -al libz.so*
lrwxrwxrwx    1 root     root           13 Jul  5 08:01 libz.so -> libz.so.1.2.3
lrwxrwxrwx    1 root     root           13 Jul  5 08:01 libz.so.1 -> libz.so.1.2.3
-rwxr-xr-x    1 root     root        60880 Jul  5 08:01 libz.so.1.2.3
# cp libz.so* /usr/local/lib
# cd /usr/local/lib
# ls
libz.a  libz.so  libz.so.1  libz.so.1.2.3
# rm -rf libz.so
# rm -rf libz.so.1
# ln -s libz.so.1.2.3 libz.so
# ln -s libz.so.1.2.3 libz.so.1
# vi /etc/ld.so.conf
/usr/local/lib // 구문 추가 ( rpm 설치시 lib 는 /usr/lib 이기에 )
# ldconfig


4.libpng,jpeg 설치 여부 확인(설치 경로에 따라 아파치 옵션에서 디렉토리 경로를 알맞게 설정해야 함)
# rpm -qa | grep libpng
# rpm -qa | grep jpeg
// -->설치가 안되어 있으면 rpm을 다운받아 설치하거나 소스를 받아 설치한다
//(버전업도 가능하면 하면 좋다)
// rpm 설치시 보통 /usr/lib에 설치되고 소스 설치시 /usr/local/lib에 주로 설치하자
// 그러나 확인은 하자
===============================================================================
== 소스 설치시(rpm으로 설치가 되어 있어도 소스로 /usr/local/lib에 설치해서 PHP에서 최신버전 사용하게 하자)
===============================================================================
libpng 설치
Download : http://www.libpng.org/pub/png/libpng.html

# tar xvfj libpng-1.2.16.tar.bz2
# cd libpng-1.2.16
# cp scripts/makefile.linux Makefile
# make test
# make install

jpeg 설치
Download : ftp://ftp.uu.net/graphics/jpeg/

// /usr/local/man/man1 디렉토리가 있는지 확인하고 없으면 생성해준다
# tar xvfz jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --enable-shared --enable-static
# make
# make test
# make install

===============================================================================


5. GD설치(libpng, zlib, jpeg 라이브러리를 요구한다)
Download : http://www.boutell.com/gd/http/

// ./configure --prefix=/usr/local/gd --with-gif=/usr --with-png=/usr --with-jpeg=/usr --with-freetype=/usr
// 위 처럼 설정해서 컴파일 할 수 있지만 그냥 기본값을 사용해서 컴파일하면
// /usr/local/lib에 설치된다(가장 편함)
# tar xvfj gd-2.0.34.tar.bz2
# cd gd-2.0.34
# ./configure
# make
# make install

여기까지 설치


6. libxml2설치
# tar xvfz libxml2-2.6.27.tar.gz
# cd libxml2-2.6.27
# ./configure
# make
# make install


7. libiconv-1.11설치
# tar xvfz libiconv-1.11.tar.gz
# cd libiconv-1.11
# ./configure
# make
# make install


8. 아파치 configure 설정 및 설치
Download : http://www.apache.org/dist/httpd/

# tar xvfj httpd-2.2.4.tar.bz2
# cd httpd-2.2.4
# ./configure --prefix=/usr/local/apache \
--enable-module=status \
--enable-module=most \
--enable-module=so \
--enable-so \
--enable-headers \
--enable-deflate \
--enable-module=deflate \
--enable-module=expires \
--enable-rewrite \
--enable-shared=max \
--enable-module=rewrite \
--enable-shared=rewrite \
--enable-rule=SHARED_CORE \
--with-included-apr
// enable-module=so  : Java Shared Object
// enable-shared=max : DSO Support(Dynamic Shared Object )
// rewrite : TextCube 경로 재지정 사용을 위해 필요한 모듈
// httpd 2.0 configure시 아래 에러 발생하면
// configure: error: Cannot use an external APR-util with the bundled APR
// --with-included-apr 을 옵션에 넣어 강제지정해준다

# make
# make install

/usr/local/apache/conf/httpd.conf 를 편집(내용은 적절히 수정)
--------------------------------------------------------------
DirectoryIndex index.php index.html index.php3  index.htm
AddType application/x-httpd-php .php .html .php3 .inc .ph .htm
AddType application/x-httpd-php-source .phps
LoadModule php5_module        modules/libphp5.so
--------------------------------------------------------------

// 서비스 등록하기
# cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apachectl
# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc0.d/K02apachectl
# ln -s /etc/rc.d/init.d/apachectl /etc/rc.d/rc3.d/S91apachectl

------------------------------------------------------------------------
-- Apache root 권한 실행으로 컴파일할 경우 환경변수를 아래처럼 한다 --
CFLAGS="-DBIG_SECURITY_HOLE"
export CFLAGS
------------------------------------------------------------------------



9. PHP 설치
Download : http://www.php.net/downloads.php

// 간혹 --with-apxs2관련 에러가 나는 경우 미리 컴파일한
// libiconv.so.2 화일을 아래 경로에 복사해본다
// cp /usr/local/lib/libiconv.so.2 /usr/lib

// configure에서 옵션을 줄 때 위에서 컴파일 한 경로대로 지정하자
# tar xvfj php-5.2.1.tar.bz2
# cd php-5.2.1
# ./configure \
--prefix=/usr/local/php \
--with-exec-dir=/usr/bin \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-apache-install=/usr/local/apache \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/etc \
--disable-debug \
--enable-safe-mode \
--enable-track-vars \
--enable-sockets \
--with-png-dir=/usr/local/lib \
--with-freetype-dir=/usr/local/lib \
--with-mod_charset \
--with-charset=euc_kr \
--with-xml \
--with-language=korean \
--enable-mailparse \
--enable-calender \
--enable-sysvsem=yes \
--enable-sysvshm=yes \
--enable-ftp \
--enable-magic-quotes \
--enable-gd-native-ttf \
--enable-versioning \
--enable-url-includes \
--enable-trans-id \
--enable-inline-optimization \
--enable-bcmath \
--enable-mbstring \
--with-jpeg \
--with-png \
--with-zlib \
--with-jpeg-dir=/usr/local/lib \
--with-gd \
--with-ttf \
--with-gettext \
--enable-sigchild \
--enable-module=so \
--with-libxml-dir=/usr/local/lib \
--with-zlib-dir=/usr/local/lib \
--with-iconv=/usr/local/lib \
--with-db \
--enable-memory-limit \
--enable-freetype-4bit-antialias-hack \
--with-gdbm \
--enable-exif

// 오라클 및 기타 관련 설정시
// --with-oci8=$ORACLE_HOME \
// --with-oracle=$ORACLE_HOME \
// --with-imap=/usr/local/imap \
// --enable-sigchild \
// --enable-pcntl


* 옵션설명
--enable-sockets  : Socket functions
--enable-pcntl    : Process Control Functions
--enable-sigchild : oracle-php 좀비 문제처리


아래와 같이 CreateFrom[Png,Gif] 가 yes가 되어야 한다. no로 나올 경우는 다시 설치한다.

checking for gdImageCreateFromPng in -lgd... yes
checking for gdImageCreateFromGif in -lgd... yes
checking for gdImageGif in -lgd... yes
checking for gdImageWBMP in -lgd... yes
checking for gdImageCreateFromJpeg in -lgd... yes
checking for gdImageCreateFromXpm in -lgd... yes
checking for gdImageCreateFromGd2 in -lgd... yes

// with-apxs2=/usr/local/apache/bin/apxs 에러 발생시
// 아차피 make install 확인요

# make
# make install

// 설정 화일 복사
# cp php.ini-recommended /etc/php.ini





// 이하는 다른 내용

ProFTPD 설치 및 운영
----------------------------------
# tar xvfj proftpd-1.3.0a.tar.bz2
# cd proftpd-1.3.0a
# ./configure --prefix=/usr/local/proftpd
# make
# make install
# /usr/local/proftpd/sbin/proftpd &
// 만약 실행시 nogroup 어쩌구 에러 나오면
// #groupadd nogroup 로 nogroup 추가

/usr/local/proftpd/etc/proftpd.conf에 다음 추가하면 접속 속도 개선
UseReverseDNS   off
IdentLookups    off

// 자동실행을 위해서 /etc/rc.d/init.d/ 에 스크립트 화일 복사
// 화일을 vi로 열어서 설치 경로에 맞게 편집한다(PATH부분)
# cp ./contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd



http://ncmi.bcm.tmc.edu/homes/lpeng/projects/autoconf_eman/eman-autoconf.html
// AutoConf 설치
Download : http://sunfreeware.com(ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/)
# tar xvfz autoconf-2.60.tar.gz
# cd autoconf-2.60
# ./configure
# make
# make install


// 커널 컴파일
uname -a
finger @ftp.kernel.org
cd /usr/src


Posted by ㉡ㅐ꼬
,