http://www.douzhe.com/jh/14/68151.html 貢獻一篇我寫的安裝說明給大家
作者:microcao 發表時間:2003-05-14 19:21:34 以下這些問題可能和郵件伺服器沒有多大關係, 但是大家安裝郵件伺服器的時候卻常會用到, 對新手來說這篇文章也許有點幫助! ###################################################################### Redhat 7.3 下 Apache+MySQL+PHP+JSP 的安裝 作者: micro (webmaster@fastirc.com)
時間: 2003 年 5 月 14 日 本文僅獻給在防治 SARS 工作中作出貢獻的所有中國公民. 本文介紹在 Redhat 7.3 下安裝 Apache, MySQL, PHP, phpMyAdmin, JDK, RESIN, JDBC 的操作步驟. 所需軟體: apache_1.3.27.tar.gz http://www.apache.org/
php4.2.3.tar.gz http://www.php.net/
mysql-3.23.56.tar.gz http://www.mysql.com/
phpMyAdmin-2.5.0-php.tar.gz http://sourceforge.net/projects/phpmyadmin/
j2sdk-1_3_1_08-linux-i586.bin http://java.sun.com/
resin-2.1.9.tar.gz http://www.caucho.com/
mm.mysql-2.0.14-you-must-unjar-me.jar http://sourceforge.net/projects/mmmysql/ 在安裝前我們假設 Redhat 系統中並沒有安裝上述軟體, 或者上述軟體已被停用. ###################################################################### 安裝順序: 安裝 MySQL
配置 Apache 預編譯
安裝 PHP
安裝 Apache
配置 PHP, Apache, phpMyAdmin
安裝 JDK
安裝 RESIN
配置 JSP 作爲 Apache 模組方式運行
安裝 MySQL JDBC ###################################################################### 準備安裝: 1. 登錄 Redhat 系統並切換到 root 用戶. 2. 假設原始檔案在 /home/soft/ 目錄下. shell> cd /home/soft/ 3. 解套裝軟體方法 安裝 rpm 包命令: rpm -ivh *.rpm
升級 rpm 包命令: rpm -Uvh *.rpm
解 tar 包命令: tar -xvf *.tar
解 tgz 和 tar.gz 包命令: tar -xzvf *.tgz
tar -xzvf *.tar.gz
###################################################################### 安裝 MySQL: shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /home/soft/
shell> tar -zxvf mysql-3.23.56.tar.gz
shell> cd mysql-3.23.56
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cd /usr/local/mysql/bin
shell> ./mysql_install_db
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp /usr/local/mysql/share/mysql/mysql.server ./
shell> chmod 711 mysql.server
啓動 MySQL:
shell> ./mysql.server start 測試 MySQL 是否正常工作:
shell> ./mysqladmin ping 顯示 MySQL 的運行狀態:
shell> ./mysqlshow 設置 MySQL root 用戶密碼:
shell> ./mysqladmin -u root password yourpassword 開機自動啓動 MySQL:
shell> cd /etc/rc.d
shell> vi rc.local
在最後增加一行: /usr/local/mysql/bin/mysql.server start 關機時自動停止 MySQL:
shell> cd /etc/rc.d/init.d
shell> vi killall
在最後增加一行: /usr/local/mysql/bin/mysql.server stop 增加 MySQL 全局環境變數:
shell> vi /etc/profile
在最後增加一行: PATH=$PATH:/usr/local/mysql/bin:/usr/local/bin
shell> cp /usr/local/mysql/share/mysql/my-xxx.cnf /etc/my.cnf
my-xxx.cnf 分別是 my-huge.cnf my-large.cnf my-medium.cnf my-small.cnf
四個不同的文件, 你需要根據你自己機器的硬體資源情況選擇一個合適你的把它
複製到 /etc 目錄下並命名爲 my.cnf.
shell> vi /etc/my.cnf
根據你自己的情況在對 my.cnf 的內容做適當調整,並建議加入這樣一行:
set-variable = max_connections=200
這行的意思是設置一個全局環境變數使得 MySQL 允許的最大並發連接數爲 200
默認是 100 你可以適當增加, 具體的要看伺服器硬體資源情況決定. ###################################################################### 預編譯 Apache: 首先要停止所有的 http 服務
shell> killall httpd
shell> cd /home/soft/
shell> tar -zxvf apache_1.3.27.tar.gz
shell> cd apache_1.3.27
shell> ./configure --prefix=/usr/local/apache
###################################################################### 安裝 PHP: shell> cd /home/soft/
shell> tar -xzvf php-4.2.3.tar.gz
shell> cd php-4.2.3
shell> ./configure --with-mysql=/usr/local/mysql --with-apache=/home/soft/apache_1.3.27 --enable-track-vars --with-charset=gb2312 --with-xml --enable-url-includes --disable-debug --enable-ftp --with-apx
shell> make
shell> make install ###################################################################### 安裝 Apache:
shell> cd /home/soft/apache_1.3.27
shell> ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=so
shell> make
shell> make install
shell> cd /home/soft/php-4.2.3
shell> cp -f php.ini-dist /usr/local/lib/php.ini
shell> vi /usr/local/lib/php.ini
按自己的情況配置 php.ini 文件, 如果你需要相容 php-4.1.2 以前所開發的
一些 PHP 程式建議把其中的 register_globals = Off 設置爲 On. 但是這可
能會帶來一些安全問題, 所以 PHP 從 4.2 版本開始默認設置是 Off. 配置 Apache:
shell> cd /usr/loca/apache/conf
shell> vi httpd.conf
去掉 "#ServerName ……" 行前的 "#" 號, 把伺服器名字定義爲你的功能變數名稱;
將 "MaxClients 150" 修改成 "MaxClients 256" 默認 Linux 下的 Apache 並發連接最高 256;
還需要修改以下幾行:
DirectoryIndex index.html index.htm index.php index.php3
追加以下幾行:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .inc
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps 啓動 Apache:
shell> /usr/local/apache/bin/apachectl start 開機自動啓動 Apache:
shell> vi /etc/rc.d/rc.local
在最後增加一行: /usr/local/apache/bin/apachectl start ###################################################################### 配置 phpMyAdmin-2.5.0: shell> cd /home/soft
shell> tar -zxvf phpMyAdmin-2.5.0-php.tar.gz
shell> mv phpMyAdmin-2.5.0 /usr/local/apache/htdocs/phpMyAdmin
shell> cd /usr/local/apache/htdocs/phpMyAdmin
shell> vi config.inc.php
修改以下幾行:
$cfg['PmaAbsoluteUri'] = 'http://yourdomainname/phpMyAdmin/';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'yourpassword';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourpassword';
$cfg['DefaultLang'] = 'zh';
$cfg['DefaultCharset'] = 'gb2312'; 測試工作: 1. 進行測試前建議首先重新啓動伺服器
shell> reboot
2. 測試 PHP shell> cd /usr/local/apache/htdocs
shell> vi info.php
測試文件內容如下:
<? phpinfo(); ?>
在瀏覽器中訪問 http://yourdomainname/info.php, 將得到有關 PHP 的運行資料. 3. 測試 phpMyAdmin 在瀏覽器中訪問 http://yourdomainname/phpMyAdmin/
輸入 MySQL 用戶名和密碼後就可以登陸 phpMyAdmin 實現對 MySQL 的 WEB 管理. ###################################################################### 安裝 JDK: shell> cd /home/soft
shell> ./j2sdk-1_3_1_08-linux-i586.bin
閱讀許可協定後輸入 yes 表示同意 jdk 許可協定, 程式將進行自動解壓縮工作.
shell> mv jdk1.3.1_08 /usr/local/jdk
shell> cd /usr/local
shell> ln -s /usr/local/jdk/jre jre
shell> vi /etc/profile
在最後加入:
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.$JAVA_HOME/lib/dt.jar
export CLASSPATH
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH
以上操作完成後退出系統重新登陸使環境變數生效. ###################################################################### 安裝 RESIN:
shell> cd /home/soft
shell> tar -xzvf resin-2.1.9.tar.gz
shell> mv resin-2.1.9 /usr/local/resin
shell> vi /etc/profile
在最後加入:
RESIN_HOME=/usr/local/resin
export RESIN_HOME 以上操作完成後退出系統重新登陸使環境變數生效. 啓動 RESIN
shell> /usr/local/resin/bin/httpd.sh start
在瀏覽器中訪問 http://yourdomainname:8080 如果看到 "Resin? Default Home Page"
的頁面出現表示 RESIN 安裝成功了.
你可以通過編輯 /usr/local/resin/conf/resin.conf 文件來對 RESIN 進行配置. ######################################################################
配置 JSP 作爲 Apache 模組方式運行:
以下文檔修改自 http://www.caucho.com/resin/ref/cse-apache-unix.xtp
shell> cd /usr/local/resin
shell> ./configure --with-apxs=/usr/local/apache/bin/apxs
shell> make
shell> ./configure --with-apache=/usr/local/apache
shell> make
shell> make install
shell> /usr/local/resin/bin/httpd.sh stop
shell> cd /usr/local/resin/conf
shell> mv resin.conf resin.conf.bak
shell> vi resin.conf
新建 RESIN 配置文件內容如下:
shell> /usr/local/resin/bin/httpd.sh start
shell> vi /usr/local/apache/htdocs/test.jsp
測試文件內容如下:
2 + 2 = <%= 2 + 2 %> 在瀏覽器中訪問 http://yourdomainname/test.jsp 如果看到顯示爲 "2 + 2 = 4"
表示 JSP 已經可以作爲 Apache 模組方式運行了. 默認在編譯 mod_caucho 模組的時候程式會自動在 httpd.conf 文件中增加以下內容: LoadModule caucho_module /usr/local/apache/libexec/mod_caucho.so CauchoConfigFile /usr/local/resin/conf/resin.conf
一般情況下這樣時候就可以滿足使用需求了如果你需要手工配置可以參考以下內容: LoadModule caucho_module libexec/mod_caucho.so
AddModule mod_caucho.c
CauchoConfigFile /resin/conf/resin.conf
SetHandler caucho-status
想獲得更多的關於 Resin with Apache 的說明請訪問:
http://www.caucho.com/resin/ref/cse-apache-unix.xtp 注意: 以上方法存在一些安全隱患, 比如用戶可以通過訪問一個 URL 地址查看到你
PHP 只類的中間件程式的原代碼.
例如: http://yourdomainname:8080/phpMyAdmin/config.inc.php 就相當危險.
由於 RESIN 無法處理 PHP 文件所以將 PHP 文件作爲文本方式顯示了出來, 這樣可
能會出現一系列安全問題, 比如資料庫密碼被盜等等. 建議對 Apache, RESIN 做進
一步的嚴格設置後才能正式使用, 或者乾脆不將 JSP 作爲 Apache 模組方式運行. ########################################################################################## 安裝 MySQL JDBC 驅動: shell> cd /home/soft
shell> jar -xvf mm.mysql-2.0.14-you-must-unjar-me.jar
shell> cd mm.mysql-2.0.14
shell> cp mm.mysql-2.0.14-bin.jar /usr/local/jdk/lib/
shell> vi /etc/proflie
在 CLASSPATH 行最後追加 :$JAVA_HOME/lib/mm.mysql-2.0.14-bin.jar 以上操作完成後退出系統重新登陸使環境變數生效. shell> mysql -u root -p -h localhost
系統會提示輸入密碼輸入你設置好 root 用戶密碼就可以進入 mysql 字元管理介面. 以下命令在 MySQL 中增加一個 root@127.0.0.1 的用戶此用戶具有對所有資料庫和表的操作許可權:
shell> mysql> grant all privileges on *.* to root@127.0.0.1 identified by 'yourpassword';
shell> vi /usr/local/apache/htdocs/testjdbc.jsp
測試文件內容如下:
<%@ page contentType="text/html;charset=gb2312" %>
<%
java.sql.Connection conn;
java.lang.String strConn;
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = java.sql.DriverManager.getConnection("jdbc:mysql://127.0.0.1/test?user=root&password=yourpassword");
%>
shell> /usr/local/resin/bin/httpd.sh restart 在瀏覽器中訪問 http://yourdomainname/testjdbc.jsp 如果沒有顯示出錯, 只顯示
出一個空白頁面就表示聯結已經成功. ######################################################################
發表人 - conundrum 於 2004/02/08 19:15:09