- 论坛徽章:
- 0
|
##########################################################################################
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;
还需要修改以下几行:
<IfModule mod_dir.c>;
DirectoryIndex index.html index.htm index.php index.php3
</IfModule>;
追加以下几行:
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.jar 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 配置文件内容如下:
<caucho.com>;
<http-server
app-dir='/usr/local/apache/htdocs'>;
<http port='8080'/>;
<srun host='localhost' port='6802'/>;
<servlet-mapping url-pattern='/servlets/*'
servlet-name='invoker'/>;
<servlet-mapping url-pattern='*.xtp'
servlet-name='com.caucho.jsp.XtpServlet'/>;
<servlet-mapping url-pattern='*.jsp'
servlet-name='com.caucho.jsp.JspServlet'/>;
</http-server>;
</caucho.com>;
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
<IfModule mod_caucho.c>;
CauchoConfigFile <installdir>;/resin/conf/resin.conf
<Location /caucho-status>;
SetHandler caucho-status
</Location>;
</IfModule>;
想获得更多的关于 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 如果没有显示出错, 只显示
出一个空白页面就表示联结已经成功.
########################################################################################## |
|