2008.05.19 20:42
1. source 파일 다운로드
설치에 필요한 파일을 /usr/local/src 디렉토리에서 다운로드 하고 압축 해제 한다.
apache -> http://apache.org/
mysql -> http://mysql.com/
php -> http://php.net/
ZendOptimizer -> http://zend.org/
jkd -> http://java.sun.com/
resin -> http://caucho.com/
[root@localhost root]# cd /usr/local/src/
[root@localhost src]# tar xvzfp resin-3.0.23.tar.gz
[root@localhost src]# httpd-2.2.3.tar.gz
[root@localhost src]# mysql-5.0.26.tar.gz
[root@localhost src]# php-5.1.6.tar.gz
[root@localhost src]# ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
2. mysql 설치
[root@localhost src]# cd mysql-5.0.26/
[root@localhost mysql-5.0.26]# ./configure --prefix=/usr/local/mysql --with-charset=euckr --with-extra-charsets=all && make && make install
[root@localhost mysql-5.0.26]# cd /usr/local/mysql/bin/
[root@localhost bin]# ./mysql_install_db --user=mysql
[root@localhost bin]# /usr/local/mysql/bin/mysqld_safe &
3. apache 설치
- apache를 설치하기전에, source 디렉토리내의 server/mpm/prefork/prefork.c 파일에서 #define DEFAULT_SERVER_LIMIT 부분을 1024로 수정 한다. 디폴트값 256으로 컴파일 하게 되면, 아파치 데몬이 최대 256개 까지 밖에 뜰수 없게 된다, 이런 경우는 서버의 접속량이 많을경우 서버의 자원이 남아도 더 이상의 데몬을 띄우지 못해서 서버가 느려지게 된다.
[root@localhost bin]# cd /usr/local/src/
[root@localhost src]# cd httpd-2.2.3/
[root@localhost httpd-2.2.3]# ./configure --prefix=/usr/local/apache2 --enable-module=so --enable-shared=max --enable-rewrite --enable-ssl && make && make install
[root@localhost httpd-2.2.3]# cd /usr/local/apache2/
[root@localhost apache2]# /usr/local/apache2/bin/apachectl start
4. jdk 설치
[root@localhost apache2]# cd /usr/local/src
[root@localhost src]# sh jdk-1_5_0_09-linux-i586.bin
[root@localhost src]# mv jdk1.5.0_09/ /usr/local/java
[root@localhost src]# vi /etc/profile
- /etc/export 파일에 아래와 같이 java, resin 환경 변수 추가
----------------------------------------------------------------------------------------
JAVA_HOME=/usr/local/java
RESIN_HOME=/usr/local/resin
CLASSPATH="$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar"
export JAVA_HOME CLASSPATH RESIN_HOME
----------------------------------------------------------------------------------------
- 수정된 /etc/profile 적용
[root@localhost src]# source /etc/profile
5. resin 설치
[root@localhost src]# cd resin-3.0.23
[root@localhost resin-3.0.23]# ./configure --prefix=/usr/local/resin --with-apxs=/usr/local/apache2/bin/apxs && make && make install
[root@localhost resin-3.0.23]# cd /usr/local/src/
- apache와 연동해서 설치하기 위해서 --with-apxs 옵션을 추가해서 설치한다. resin 설치가 완료되면, /usr/local/apache2/conf/httpd.conf 파일 하단에 아래의내용이 추가된다.
----------------------------------------------------------------------------------------
LoadModule caucho_module /usr/local/apache2/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
----------------------------------------------------------------------------------------
6. php 설치
[root@localhost src]# cd php-5.1.6/
[root@localhost php-5.1.6]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --enable-sysvshm=yes --enable-sysvsem=yes --enable-debug=no --enable-track-vars=yes --enable-url-fopen-wrapper=yes --with-ttf --with-png-dir=/usr --with-zlib-dir --with-jpeg-dir=/usr --with-gdbm=/usr --enable-ftp --with-tiff-dir=/usr --enable-memory-limit --enable-mbstring --with-expat-dir=/usr --enable-sockets --enable-wddx --with-freetype-dir=/usr --enable-bcmath --enable-mbstr-enc-trans --enable-mbregex --enable-exif --with-gd --enable-gd-native-ttf --enable-gd-imgstrttf --enable-calendar --with-openssl=/usr && make && make install
[root@localhost php-5.1.6]# cp php.ini-dist /usr/local/php/lib/php.ini
- php 설치가 완료되면 /usr/local/apache2/conf/httpd.conf 파일에 아래와 같이 php 모듈을 load 하는 부분이 추가되게 된다.
-------------------------------------------------------------------------------------------
LoadModule php5_module modules/libphp5.so
-------------------------------------------------------------------------------------------
- .html .htm 등의 확장자에서도 php 코드가 인식가능 하도록 httpd.conf 파일에 아래와 같이 AddType 부분을 추가하고, DirectoryIndex 부분에도 Index 파일 우선순위별로 확장자를 추가한다.
-------------------------------------------------------------------------------------------
AddType application/x-httpd-php .php .php3 .ph .inc .html .htm .tpl
AddType application/x-httpd-php-source .phps
~
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
-------------------------------------------------------------------------------------------
7. Zend 설치
[root@localhost php-5.1.6]# cd /usr/local/src/ZendOptimizer-3.0.1-linux-glibc21-i386/
[root@localhost ZendOptimizer-3.0.1-linux-glibc21-i386]# ./install.sh
- resin 데몬 실행 : /usr/local/resin/bin/httpd.sh start
- apache 데몬 실행 : /usr/local/apache2/bin/apachectl start
- 이상의 작업으로 mysql + apache + resin + php 의 연동 설치 작업이 끝나게 된다.
- 가상호스트 설정을 하기전 default 설정으로는 .html, .php, .htm 등의 확장자로 끝나는 파일들의 DocumentRoot 디렉토리는 /usr/local/apache2/htdocs 디렉로리, .jsp로 끝나는 확장자의 DocumentRoot 디렉토리는 /usr/local/resin/webapps/ROOT 이다.
즉, http://아이피주소/*.html, http://아이피주소/*.htm, http://아이피주소/*.php 등의 파일은 /usr/local/apache2/htdocs 디렉토리에서 찾게되며 http://아이피주소/*.jsp 파일은 /usr/local/resin/webapps/ROOT 디렉토리에서 찾게 된다.
8. 가상호스트 설정
- apache 가상호스트 설정
/usr/local/apache2/conf/httpd.conf 파일에서 아래와 같이 /home/*/public_html 디렉토리에 대한 권한 설정을 추가한다.
---------------------------------------
<Directory "/home/*/public_html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
---------------------------------------
가상호스트 설정 파일인 conf/extra/httpd-vhosts.conf 파일을 Include 하기 위해서 httpd.conf 파일에서 아래와 같이 주석을 제거한다.
---------------------------------------
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
---------------------------------------
/usr/local/apache2/conf/extra/httpd-vhosts.conf 파일에 아래와 같이 가상호스트 설정을 한 후에 apache 데몬을 리스타트 한다.
----------------------------------------------------------------------
NameVirtualHost 10.30.101.200
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost 10.30.101.200>
ServerAdmin jook@hostway.co.kr
DocumentRoot /home/jook/public_html
ServerName www.jook.pe.kr
ServerAlias jook.pe.kr
ErrorLog logs/jook.pe.kr-error_log
CustomLog logs/jook.pe.kr-access_log common
</VirtualHost>
----------------------------------------------------------------------
[root@localhost conf]# /usr/local/apache2/bin/apachectl restart
- resin 가상호스트 설정
resin의 설정파일은 /usr/local/resin/conf/resin.conf 파일이며, default host 설정은 아래와 같이 되어 있으며, default DocumentRoot 디렉토리를 변경하려면 <web-app id="/" document-directory="webapps/ROOT"/> 부분에서 변경할 수 있다.
-----------------------------------------------------------------------------------
<host id="" root-directory=".">
<!--
- configures an explicit root web-app matching the
- webapp's ROOT
-->
<web-app id="/" document-directory="webapps/ROOT"/>
<resin:if test="${java.isJava5()}">
<!--
- Administration application /resin-admin
-
- password is the md5 hash of the password.
- localhost is true to limit access to the localhost
-->
<resin:set var="resin_admin_password" default=""/>
<resin:set var="resin_admin_localhost" default="true"/>
<web-app id="/resin-admin" document-directory="${resin.home}/php/admin"/>
</resin:if>
</host>
-----------------------------------------------------------------------------------
가상호스트 추가는 아래와 같은 형식으로 추가하며, 추가위치는 default host 설정부분의 아래에 차례로 추가 하면 된다.
가상호스트 추가완료후 resin 데몬을 restart 한다.
--------------------------------------------------------------
<host id="www.jook.pe.kr" root-directory="/home/jook">
<host-alias>jook.pe.kr</host-alias>
<web-app id="/" document-directory="public_html"/>
</host>
--------------------------------------------------------------
[root@localhost conf]# /usr/local/resin/bin/httpd.sh stop
[root@localhost conf]# /usr/local/resin/bin/httpd.sh start
9. mysql connector 설치
- jsp를 이용해서 mysql을 연결하기 위해서는 mysql connector를 설치해야한다.
connector는 http://mysql.com 에서 다운로드 받을수 있다.
http://mysql.com 에서 "Downloads" -> "Connectors" -> "Connector/J" 메뉴에서 다운로드 받아서 /usr/local/src 디렉토리에 업로드 한후 압축 해제한다.
mysql 연결에 필요한 connector 파일은 mysql-connector-java-5.0.7-bin.jar 이기 때문에 mysql-connector-java-5.0.7-bin.jar 파일을 /usr/local/java/lib 디렉토리에 옮겨놓고, /etc/profile에서 CLASSPATH에 추가한다.
[root@localhost conf]# cd /usr/local/src
[root@localhost src]# tar xvzfp mysql-connector-java-5.0.7.tar.gz
[root@localhost src]# cd mysql-connector-java-5.0.7
[root@localhost mysql-connector-java-5.0.7]# cp mysql-connector-java-5.0.7-bin.jar /usr/local/java/lib
[root@localhost mysql-connector-java-5.0.7]# vi /etc/profile
----------------------------------------------------------------------------------------------------------------
CLASSPATH="$JAVA_HOME/lib/mysql-connector-java-5.0.7-bin.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar"
----------------------------------------------------------------------------------------------------------------
[root@localhost mysql-connector-java-5.0.7]# source /etc/profile
- 최종적으로 resin 데몬을 재시작 하면 모든 작업이 완료되게 된다.
[root@localhost mysql-connector-java-5.0.7]# cd /usr/local/resin/bin
[root@localhost bin]# /usr/local/resin/bin/httpd.sh stop
[root@localhost bin]# /usr/local/resin/bin/httpd.sh start
10. php, jsp mysql 연결 확인
- 아래와 같이 test.php, test.jsp, dbtest.jsp 파일을 만들어 DocumentRoot 디렉토리에 업로드 하고 웹상에서 php와 jsp가 정상적으로 동작하는지, 이상없이 DB 연결이 되는지를 테스트 한다.
test.php
----------
<?
phpinfo();
?>
----------
test.jsp
--------------------
2 + 2 = <%= 2 + 2 %>
--------------------
dbtest.jsp
-------------------------------------------------------------------
<%@ page import="java.sql.*"
contentType="text/html;charset=euc-kr"%>
<%
String DB_URL = "jdbc:mysql://localhost:3306/mysql";
String DB_USER = "root";
String DB_PASSWORD= "";
Connection conn;
Statement stmt;
try {
Class.forName("org.gjt.mm.mysql.Driver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = conn.createStatement();
conn.close();
out.println("MySQL connected");
} catch(Exception e)
{out.println(e);}
%>
-------------------------------------------------------------------
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
83 | 웹접속 속도가 느려 졌을때 점검 해보기 | sylee | 2008.05.20 | 61951 |
82 | mod_rewrite 모듈 설치 및 기본 사용법 | sylee | 2009.07.02 | 39546 |
81 | ModSecurity 설치 해보기 | sylee | 2008.09.11 | 38946 |
80 | register_globals 옵션에 따른 변수 전달 | jook | 2009.02.19 | 35793 |
» | apache + resin 연동하여 설치하기 | 호스트웨이 | 2008.05.19 | 34033 |
78 | 웹브라우저에서 디렉토리 리스트가 보일때 | hostway | 2008.05.14 | 32180 |
77 | 아파치 에러 코드 | sylee | 2008.05.15 | 32017 |
76 | 홈페이지 포워딩 하기 | jook | 2008.05.21 | 31772 |
75 | ab 사용방법 | sylee | 2008.05.15 | 29908 |
74 | 보안 서버 구축 - TOMCAT | 호스트웨이 | 2008.07.08 | 28546 |
73 | php.ini 옵션 중 short_open_tag | jook | 2009.02.12 | 28370 |
72 | 웹 계정 추가 스크립트 | jook | 2008.07.01 | 28237 |
71 | Apache event MPM, Prefork MPM, Worker MPM 방식의 차이점 및 설치 시 설정 방법 | 호스트웨이 | 2014.07.20 | 28152 |
70 | 보안을 위한 php.ini 설정 | HOSTWAY | 2008.07.31 | 27389 |
69 | 아파치 가상 호스트 설정 해보기 | sylee | 2008.05.20 | 26821 |
68 | 아파치와 tomcat 연동 | 호스트웨이 | 2008.07.01 | 26730 |
67 | apache 가상호스트(virtualhost) 사용하기 | 호스트웨이 | 2013.06.03 | 26709 |
66 | PHP에서 MS-SQL 서버를 연동하기 위한 방법 | 호스트웨이 | 2012.04.13 | 26463 |
65 | 아파치2 에서 mod_cband 사용법 | sylee | 2009.06.05 | 25610 |
64 | 업로드 디렉토리의 .php파일을 text처럼 인식하기 | sylee | 2008.05.15 | 25163 |