본문 바로가기

WEB서버

CENTOS + apache2 + mysql5 + php5 + jdk + resin2

d

CENTOS 설치(그냥 중요한 부분만 넣겠습니다..)

* text버젼 설치..

* 전부 영문으로 지정

* InstallationType = custom

* 파티션은 나 같은경우 swap을 768 그리고 /boot와 / <-- 요넘만 준다...(요넘한테 모든 M수를 다 준다..-_ㅡ;귀차니즘..)

* GRUB부트 로더 선택

* 부트로더 configlation과 password지정은 그냥 넘어 가자

* firewall 설치시 주의사항(난 솔찍히 방화벽 안깜..-_ㅡ;;)

- Customize 에 들어가 SSH와 HTTP 를 체크한다..물론 쓸것만 체크하면 된다..
- 체크를 안하면???나중에 설정에서 바꾸면 되나 귀찮다...(난 귀차니즘..)

* 언어는 영어로 하되 시간은 asia - seoul 이란걸 까묵지 말자..(이거 까묵으면 나중에 DB에 now()라고 넣어 버리면 외국 시간이 들어가 버린다..젠장..)

* package Group 내가 선택한 것..
- Editors
- Engineering and Scientific
- Development Tools
- Administration Tools
- System Tools


APM 컴파일 과정

1. 구성
CENTOS + apache2 + mysql5 + php5 + jdk + resin2

2. 패키지 정보

httpd-2.0.55.tar.gz
mysql- 5.0.18.tar.gz
php-5.1.2.tar.gz
resin-2.1.14.tar.gz
jpegsrc.v6b.tar.gz
jdk-1_5_0_05-linux-i586-rpm.bin
libpng-1.2.8.tar.gz
freetype-2.1.10.tar.gz
imap-2001a-18.src.rpm

libxml2-2.6.23.tar.gz

3. 컴파일

1) mysql install

# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-charset=euckr

i

--with-named-curses-libs=/your/path/to/lib/libncurses.so.5.0 (안될경우 추가)


# make && make install

2) mysql DB생성 및 설정

# cd /usr/local/mysql/bin
# ./mysql_install_db
# useradd -M mysql
# chown -R mysql:mysql /usr/local/mysql/data
# /usr/local/mysql/bin/mysqld_safe &
# cd /usr/local/mysql/bin
# ./mysqladmin -u root password 암호
# ./mysql -u root -p mysql

암호입력...접속 되면 잘 설치 되었음...

apache install

# cd 아파치 압축 푼 곳..

1) preparation

접속자 수 최대로 올리기
# vi server/mpm/prefork/prefork.c
[EDITOR]#define DEFAULT_SERVER_LIMIT 256 을
[EDITOR]#define DEFAULT_SERVER_LIMIT 1280 으로 수정
저장하고 아웃
# vi server/mpm/worker/worker.c
[EDITOR]#define DEFAULT_SERVER_LIMIT 16 을
[EDITOR]#define DEFAULT_SERVER_LIMIT 20 으로 수정
저장하고 아웃

2) install

# ./configure --prefix=/usr/local/apache2 --enable-so --enable-modules=so --with-mpm=worker
# make && make install

3) configuration

/usr/local/apache2/conf/httpd.conf 파일 수정
# vi /usr/local/apache2/conf/httpd.conf
[EDITOR]# ServerName www.example.com:80 을
[EDITOR]ServerName 도메인 또는 IP:80 으로 수정

[EDITOR]# NameVirtualHost *:80 을
[EDITOR]NameVirtualHost *:80 으로 수정

[DITOR]#<VirtualHost *:80>
[EDITOR]# ServerAdmin webmaster@dummy-host.example.com
[EDITOR]# DocumentRoot /www/docs/dummy-host.example.com
[EDITOR]# ServerName dummy-host.example.com
[EDITOR]# ErrorLog logs/dummy-host.example.com-error_log
[EDITOR]# CustomLog logs/dummy-host.example.com-access_log common
[EDITOR]#</VirtualHost>
를< br>[EDITOR]<VirtualHost *:80>
[EDITOR]# ServerAdmin webmaster@dummy-host.example.com
[EDITOR] DocumentRoot /home/site/html
[EDITOR] ServerName 도메인 또는 IP
[EDITOR]# ErrorLog logs/dummy-host.example.com-error_log
[EDITOR]# CustomLog logs/dummy-host.example.com-access_log common
[EDITOR]</VirtualHost>
로 수정

/home/site/html 디렉토리 생성
# cd /home/site/html
# vi index.html 생성
[EDITOR]#test
/usr/local/apache2/bin/apachectl start

해당 아이피나 도메인으로 페이지가 뜨는지 확인...만약 살아 있지 않다면 뭔가 문제가 있음..ㅋㅋㅋ

libjpeg install

# tar xzvf jpegsrc.v6b.tar.gz -C /usr/lib
# cd /usr/lib/jpeg-6b/
# ./configure --enable-shared --enable-static
# make && make install

에러가 발생한다면

mkdir /usr/local/man
mkdir /usr/local/man/man1

하고 해결하세요.


jdk install

jdk-1_5_0_05-linux-i586-rpm.bin 파일로 받았다면
# ./jdk-1_5_0_05-linux-i586-rpm.bin 을 하고 엔터를 쭉 하면 yes / no가 나올것이다..
그럼 yes를 입력 해 주자...

resin install

resin은 패키지 디렉토리에 바로 설치되기 때문에 설치할 디렉토리에 압축을 풉니다.
# tar xzvf resin-2.1.14.tar.gz -C /usr/local
# mv resin-2.1.14 ./resin
# cd resin
# ./configure --with-apache=/usr/local/apache2
# make && make install

libpng install

# tar xzvf libpng-1.2.8.tar.gz -C /usr/lib
# cd /usr/lib/libpng-1.2.8
# cp scripts/makefile.linux makefile
# make install

freetype install

# ./configure
# make && make install


imap install

shell>tar -xvzf imap-2004.RC6.tar.Z
shell>cd imap-2004.RC6
shell>make lrh (레드햇 7.3 이상 버전) // 구 버전일시 make slx (다른 배포판등은 configure 문서를 참고)

shell>cp ipopd/ipop3d /usr/sbin/ipop3d
shell>cp imapd/imapd /usr/sbin/imapd

shell>cp c-client/c-client.a /usr/local/lib/libc-client.a

shell>cp c-client/mail.h /usr/local/include/mail.h
shell>cp c-client/rfc822.h /usr/local/include/rfc822.h
shell>cp c-client/linkage.h /usr/local/include/linkage.h // 더 필요한 헤더가 있을경우 같은방법으로 /usr/local/include 로 복사한다.



◈ /etc/xinetd.d/ipop3d 를 다음 내용으로 만들어서 pop3가 되게끔 한다.

# default: on
# description: This is pop3 service.
service pop3
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
}



◈ /etc/xinetd.d/imapd 를 다음 내용으로 만들어서 imap이 되게끔 한다.

# default: on
# description: This is imap service.
service imap
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/imapd
log_on_success += HOST DURATION
log_on_failure += HOST
}



◈ shell>/etc/rc.d/init.d/xinetd restart //xinetd 데몬 재가동

◈ shell>telnet localhost 110

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK POP3 localhost 2003.85 server ready // 이런 문자가 나오면 정상



◈ shell>telnet localhost 143

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 LITERAL+ SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED] localhost IMAP4rev1 2003.346 at Sun, 1 Feb 2004 22:19:00 +0900 (KST) // 이런 문자가 나오면 정상

*glibxml2 설치하기
wget
http://xmlsoft.org/sources/libxml2-2.6.23.tar.gz
tar -xzvf libxml2-2.6.23.tar.gz
cd libxml2-2.6.23
./configure

make

make install

libungif-4.1.3 install before Ming install

Ming(0.3b) install

Ming is a very powerful, but still rather experimental library which allows you to generate SWF (Flash) format files. At the time of writing the latest version was 0.3b which compiled pretty well (although the bundled INSTALL instructions are entirely misleading). There's no autoconf for this one, so just make and make install straight off. The one gotcha was that 'make install' seems to want to install a file that does not exist - hence the 'mv' line.

wget http://heanet.dl.sourceforge.net/sourceforge/ming/ming-0.3beta1.tar.gz
tar -zxvf ming-0.3beta1.tgz
cd ming-0.3beta1/
make
mv libming.so libming.so.0.3beta1
make install

php install

# ./configure --enable-bcmath --enable-ftp --enable-filepro --enable-libxml --enable-memory-limit --enable-sockets --enable-spl --enable-sysvsem --enable-sysvshm --enable-track-vars --enable-versioning --enable-wddx --disable-cli --disable-debug --disable-dmalloc --disable-posix --disable-rpath --with-apxs2=/usr/local/apache2/bin/apxs --with-bz2 --with-freetype-dir --with-gd --with-gettext --with-imap --with-imap-ssl --with-jpeg-dir --with-kerberos --with-libxml-dir --with-mod-charset --with-mysql=/usr/local/mysql --with-openssl --with-png-dir --with-ttf --with-zlib --with-ming=/usr/local



./configure \
--with-apxs2_value=/usr/local/apache/bin/apxs \
--with-exec-dir=/usr/bin \
--with-pgsql=shared \
--with-gd=/usr/local/gd/ \
--with-zlib-dir=/usr/local/lib --with-zlib=/usr/local/ \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/local/lib \
--with-language=korean \
--with-charset=euc_kr \
--with-xml \
--enable-track-vars \
--disable-debug \
--enable-magic-quotes \
--enable-sigchild \
--enable-sockets \
--enable-pcntl
# make && make install
# cp php.ini-dist /usr/local/lib/php.ini




sudo ./configure --with-apx2=/usr/local/apache/bin/apxs --with-zlib --with-gd --with-ttf --with-libpng --with-expat-dir=/usr --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-sysvshm --enable-wddx --enable-pic --enable-inline-optimization --enable-memory-limit --enable-mbstring --enable-mbrehex --enable-mbstr-enx-trans --with-cofig-file-path=/usr/local/lib --enable-ftp --disable-debug --enable-track-vars=yes --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib --enable-gd-native-ttf --enable-dl --with-imap=shared --with-imap-ssl=/usr/lib --with-kerberos --with-openssl=/usr





나같은 경우 register_globals = On을 사용한다.
# vi /usr/local/lib/php.ini
[EDITOR]# register_globals = Off 를
[EDITOR]# register_globals = On 으로 수정

소켓 기반 스트림의 기본 시간 제한(초단위).
PHP 4.3.0버젼 이후에 추가되었습니다
[EDITOR]# default_socket_timeout = 60 울
[EDITOR]# default_socket_timeout = 30 으로 수정

POST 데이터의 최대 용량 수정
[EDITOR]# post_max_size = 8M 을
[EDITOR]# post_max_size = 16M 로 수정

php스크립트가 최대 사용할 수 있는 메모리 용량 수정
[EDITOR]# memory_limit = 8M 을
[EDITOR]# memory_limit = 16M 로 수정

upload_max_filesize <-- 알겠죠??알아서 수정..ㅋㅋ

allow_url_fopen <-- 이건 오프로 하자...왜냐??악성코드가 저장된 파일을 불러 올 수 있으니....조심...ㅎㅎ


(*) 다시 httpd.conf를 확인해 보잣...

# vi /usr/local/apache2/conf/httpd.conf

이것을 추가 하고..
[EDITOR] AddType application/x-httpd-php .php .html .phtml
[EDITOR] AddType application/x-httpd-php-source .phps

웹 로그 파일에 이미지에 관한 로그내역을 기록하지 않기 위해서는 제일 하단부에 이걸 추가하자
[EDITOR] SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
[EDITOR] CustomLog logs/access_log common env=!IMAGE

# /usr/local/apache2/bin/apachectl restart
# vi /home/site/html/index.html
[EDITOR] <?
[EDITOR] phpinfo();
[EDITOR] ?>

이담 해당 URL로 접속하여 PHP정보가 잘 나오면 끝.........ㅋㅋㅋㅋ

본 내용을 카피하여 타 싸이트에 올릴시.......제 닉넴은 꼭 써 주시길 바랍니다...음훼훼훼훼훼훼훼...