一般WIN主机推荐PHP环境组合:PHP4.4.x+MySQL4.0.x,故以下关于PHP4.4.x+MySQL4.0.x组合的安装以蓝色文字显示,如果你只需要安装PHP4.4.x+MySQL4.0.x的组合只看蓝色文字的相关内容即可
当然喜欢体验的或者WIN2003系统也可体验尝试最新的版本,推荐组合PHP5.1.x+MYSQL5.0.x/MySQL4.1.x
1.PHP,推荐PHP4.4.0的ZIP解压版本:
PHP(4.4.0):http://cn.php.net/get/php-4.4.0-Win32.zip/from/a/mirror
[供选用]:
PHP(5.1.2):http://www.chinaser.net/download/php-5.1.2-Win32.zip
2.MySQL,配合PHP4推荐MySQL4.0.26的WIN系统安装版本:
MySQL(4.0.26):http://download.discuz.net/mysql-4.0.26-win32.zip
http://dev.mysql.com/get/Downloads/MySQL-4.0/mysql-4.0.26-win32.zip/from/pick#mirrors
[供选用]:
MySQL(5.0.18):http://www.chinaser.net/download/mysql-5022-win32.zip
3.Zend Optimizer,当然选择当前最新版本拉:
Zend Optimizer(2.6.2):http://www.chinaser.net/download/ZendOptimizer-3.0.1-Windows-i386.exe
官方下载https://www.zend.com/store/getfreefile.php?pid=13&zbid=995
4.phpMyAdmin,当然同样选择当前最新版本拉,注意选择for Windows 的版本哦:
phpMyAdmin(2.8.2):http://www.chinaser.net/download/PHPMyadmin-v2.82.rar
https://www.zend.com/store/getfreefile.php?pid=13&zbid=995
假设 C: 为你现在所使用操作系统的系统盘,如果你目前操作系统不是安装在 C: ,请自行对应修改相应路径。同时由于C盘经常会因为各种原因重装系统,数据放在该盘不易备份和转移
选择安装目录,故本文将所有PHP相关软件均安装到D:php目录下,这个路径你可以自行设定,如果你安装到不同目录涉及到路径的请对应修改以下的对应路径即可
二、安装 PHP :本文PHP安装路径取为D:phpphp4(为避混淆,PHP5.1.x版本安装路径取为D:phpphp5)
(1)、下载后得到 php-4.4.0-Win32.zip ,解压至D:php目录,将得到二级目录php-4.4.0-Win32,改名为 php4,也即得到PHP文件存放目录D:phpphp4[如果是PHP5.1.2,得到的文件是php-5.1.2-Win32.zip,直接全部接压至D:phpphp5目录即可得PHP文件存放目录D:phpphp5];
(2)、再将D:phpphp4目录和D:phpphp4dlls目录[PHP5为D:phpphp5]下的所有dll文件拷到c:Windowssystem32(win2000系统为 c:/winnt/system32/)下,覆盖已有的dll文件;
搜索
register_globals = Off
,将 Off 改成 On ,即得到register_globals = On;
注:这个对应PHP的全局变量功能,考虑有很多PHP程序需要全局变量功能故打开,打开后请注意-PHP程序的严谨性,如果不需要推荐不修改保持默认Off状态
再搜索
extension_dir =
,并将其路径指到你的 PHP 目录下的 extensions 目录,比如:修改extension_dir = "./"为extension_dir = "D:/php/php4/extensions/" ;
PHP扩展功能目录[PHP5对应修改为extension_dir = "D:/php/php5/ext/"]
在D:php下建立文件夹并命名为tmp
;upload_tmp_dir =
将;upload_tmp_dir该行的注释符,即前面的分号“;”去掉,使该行在php.ini文档中起作用。upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个绝对路径,这里设置的目录必须有读写权限。
这里我设置为upload_tmp_dir = D:/php/tmp (即前面建立的这个文件夹呵)
搜索找到
;Windows Extensions
将下面一些常用的项前面的;去掉
;extension=php_mbstring.dll
;extension=php_curl.dll
;extension=php_dbase.dll
;extension=php_gd2.dll
这个是用来支持GD库的,一般需要,必选
;extension=php_ldap.dll
extension=php_zip.dll
去掉前面的";"
对于PHP5的版本还需要查找
;extension=php_mysql.dll
并同样去掉前面的";"
这个是用来支持MYSQL的,由于PHP5将MySQL作为一个独立的模块来加载运行的,故要支持MYSQL必选
查找
;session.save_path =
去掉前面;号,本文这里将其设置置为
session.save_path = D:/php/tmp
其他的你可以选择需要的去掉前面的;然后将该文件另存为为php.ini到C:Windows ( Windows 2000 下为 C:WINNT)目录下,注意更改文件后缀名为ini,得到C:Windowsphp.ini ( Windows 2000 下为 C:WINNTphp.ini)
若路径等和本文相同可直接保存到C:Windows ( Windows 2000 下为 C:WINNT)目录下使用若路径等和本文相同可直接保存到C:Windows ( Windows 2000 下为 C:WINNT)目录下使用
一些朋友经常反映无法上传较大的文件或者运行某些程序经常超时,那么可以找到C:Windows ( Windows 2000 下为 C:WINNT)目录下的PHP.INI以下内容修改:
max_execution_time = 30 ; 这个是每个脚本运行的最长时间,可以自己修改加长,单位秒
max_input_time = 60 ; 这是每个脚本可以消耗的时间,单位也是秒
memory_limit = 8M ; 这个是脚本运行最大消耗的内存,也可以自己加大
upload_max_filesize = 2M ; 上载文件的最大许可大小 ,自己改吧,一些图片论坛需要这个更大的值
(4)、配置 IIS 使其支持 PHP :
首先必须确定系统中已经正确安装 IIS ,如果没有安装,需要先安装 IIS ,安装步骤如下:
Windows 2000/XP 下的 IIS 安装:
用 Administrator 帐号登陆系统,将 Windows 2000 安装光盘插入光盘驱动器,进入“控制面板”点击“添加/删除程序”,再点击左侧的“添加/删除 Windows 组件”,在弹出的窗口中选择“Internet 信息服务(IIS)”,点下面的“详细信息”按钮,选择组件,以下组件是必须的:“Internet 服务管理器”、“World Wide Web 服务器”和“公用文件”,确定安装。
安装完毕后,在“控制面板”的“管理工具”里打开“服务”,检查“IIS Admin Service”和“World Wide Web Publishing Service”两项服务,如果没有启动,将其启动即可。
Windows 2003 下的 IIS 安装:
由于 Windows 2003 的 IIS 6.0 集成在应用程序服务器中,因此安装应用程序服务器就会默认安装 IIS 6.0 ,在“开始”菜单中点击“配置您的服务器”,在打开的“配置您的服务器向导”里左侧选择“应用程序服务器(IIS,ASP.NET)”,单击“下一步”出现“应用程序服务器选项”,你可以选择和应用程序服务器一起安装的组件,默认全选即可,单击“下一步”,出现“选择总结界面”,提示了本次安装中的选项,配置程序将自动按照“选择总结”中的选项进行安装和配置。
打开浏览器,输入:http://localhost/,看到成功页面后进行下面的操作:
PHP 支持 CGI 和 ISAPI 两种安装模式,CGI 更消耗资源,容易因为超时而没有反映,但是实际上比较安全,负载能力强,节省资源,但是安全性略差于CGI,本人推荐使用 ISAPI 模式。故这里只解介绍 ISAPI 模式安装方法:(以下的截图因各个系统不同,窗口界面可能不同,但对应选项卡栏目是相同的,只需找到提到的对应选项卡即可)
在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,对于WIN2000系统在”Internet 服务管理器“的下级树一般为你的”计算机名“上单击右键选择“属性”,再在属性页面选择主属性”WWW 服务“右边的”编辑“
对于XP/2003系统展开”Internet 服务管理器“的下级树一般为你的”计算机名“选择”网站“并单击右键选择“属性”
在弹出的属性窗口上选择“ISAPI 筛选器”选项卡找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将浏览可执行文件使路径指向 php4isapi.dll 所在路径,如本文中为:D:phpphp4sapiphp4isapi.dll[PHP5对应路径为D:phpphp5php5isapi.dll]。
打开“站点属性”窗口的“主目录”选项卡,找到并点击“配置”按钮
在弹出的“应用程序配置”窗口中的”应用程序映射“选项卡找到并点击“添加”按钮新增一个扩展名映射,在弹出的窗口中单击“浏览”将可执行文件指向 php4isapi.dll 所在路径,如本文中为:D:phpphp4sapiphp4isapi.dll[PHP5对应路径为D:phpphp5php5isapi.dll],扩展名为 .php ,动作限于”GET,HEAD,POST,TRACE“,将“脚本引擎”“确认文件是否存在”选中,然后一路确定即可。如果还想支持诸如 .php3 ,.phtml 等扩展名的 PHP 文件,可以重复“添加”步骤,对应扩展名设置为需要的即可如.PHPX。
此步操作将使你服务器IIS下的所有站点都支持你所添加的PHP扩展文件,当然如果你只需要部分站点支持PHP,只需要在“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”,在打开的“ Web 站点属性”“主目录”选项卡,编辑或者添加PHP的扩展名映射即可或者将你步需要支持PHP的站点中的PHP扩展映射删除即可
再打开“站点属性”窗口的“文档”选项卡,找到并点击“添加”按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。
确定 Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器
对于2003系统还需要在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许,Active Server Pages 允许
完成所有操作后,重新启动IIS服务。
在CMD命令提示符中执行如下命令:
net stop w3svc
net stop iisadmin
net start w3svc
到此,PHP的基本安装已经完成,我们已经使网站支持PHP脚本。
检查方法是,在 IIS 根目录下新建一个文本文件存为 php.php ,内容如下:
<?php
phpinfo();
?>
打开浏览器,输入:http://localhost/php.php,将显示当前服务器所支持 PHP 的全部信息,可以看到 Server API的模式为:ISAPI 。
三、安装 MySQL :
对于MySQL4.0.26下载得到的是mysql-4.0.26-win32.zip,解压到mysql-4.0.26-win32目录双击执行 Setup.exe 一路Next下一步,选择安装目录为D:phpMySQL和安装方式为Custom自定义安装,再一路Next下一步即可。
安装完毕后,在CMD命令行中输入并运行:
D:phpMySQLbinmysqld-nt -install
如果返回Service successfully installed.则说明系统服务成功安装
新建一文本文件存为MY.INI,编辑配置MY.INI,这里给出一个参考的配置
[mysqld]
basedir=D:/php/MySQL
#MySQL所在目录
datadir=D:/php/MySQL/data
#MySQL数据库所在目录,可以更改为其他你存放数据库的目录
#language=D:/php/MySQL/share/your language directory
#port=3306
set-variable = max_connections=800
skip-locking
set-variable = key_buffer=512M
set-variable = max_allowed_packet=4M
set-variable = table_cache=1024
set-variable = sort_buffer=2M
set-variable = thread_cache=64
set-variable = join_buffer_size=32M
set-variable = record_buffer=32M
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
set-variable = connect_timeout=10
set-variable = wait_timeout=10
server-id = 1
[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[WinMySQLadmin]
Server=D:/php/MySQL/bin/mysqld-nt.exe
保存后复制此MY.INI文件到C:Windows ( Windows 2000 下为 C:WINNT)目录下
回到CMD命令行中输入并运行:
net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
将启动 MySQL 服务;
DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例:给root加个密码chinaser.net
首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令
mysqladmin -uroot password chinaser.net
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
D:phpMySQLbin>mysqladmin -uroot password chinaser.net回车后ROOT密码就设置为chinaser.net了
如果你下载的是 MySQL5.x或者MySQL4.1.x,例mysql-5.0.18-win32:解压后双击执行 Setup.exe ,Next下一步后选择Custom自定义安装,再Next下一步选择安装路径这里我们选择D:phpMySQL,继续Next下一步跳过Sign UP完成安装。
安装完成后会提示你是不是立即进行配置,选择是即可进行配置。当然一般安装后菜单里面也有配置向导MySQL Server Instance Config Wizar,运行后按下面步骤配置并设置ROOT密码即可
Next下一步后选择Standard Configuration
Next下一步,钩选Include .. PATH
Next下一步,设置ROOT密码,建议社设置复杂点,确保服务器安全!
Apply完成后将在D:phpMySQL目录下生成MY.INI配置文件,添加并启动MySQL服务。
四、安装 Zend Optimizer :
下载后得到 ZendOptimizer-2.6.2-Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。我这里安装到D:phpZend
以下两步的目录根据你自己的默认WEB站点目录来选,当然也可以选择到D:phpZend目录
Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer 的配置选项。以下为本人安装完成后 php.ini 里的默认配置代码(分号后面的内容为注释):
zend_extension_ts="D:phpZendlibZendExtensionManager.dll"
;Zend Optimizer 模块在硬盘上的安装路径。
zend_extension_manager.optimizer_ts="D:phpZendlibOptimizer-2.6.2"
;优化器所在目录,默认无须修改。
zend_optimizer.optimization_level=1023
;优化程度,这里定义启动多少个优化过程,默认值是 15 ,表示同时开启 10 个优化过程中的 1-4 ,我们可以将这个值改为 1023 ,表示开启全部10个优化过程。
调用phpinfo()函数后显示:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend Technologies 则表示安装成功。
四.安装GD库
这一步在前面PHP.INI配置中去掉“;extension=php_gd2.dll”前面的;实际上已经安装好了~
[在php.ini里找到"extension=php_gd2.dll"这一行,并且去掉前面的分号,gd库安装完成,用echophpinfo();测试是否成功! ]
五、安装 phpMyAdmin:
下载得到 phpMyAdmin-2.7.0.zip ,将其解压到D:php或者 IIS 根目录,改名phpMyAdmin-2.7.0为phpMyAdmin,并在IIS中建立新站点或者虚拟目录指向该目录以便通过WEB地址访问,这里建立默认站点的phpMyAdmin虚拟目录指向D:phpphpMyAdmin目录通过http://localhost/phpmyadmin/访问
找到并打开D:phpphpMyAdmin目录下的 config.default.php ,做以下修改:
查找:$cfg['PmaAbsoluteUri']
设置你的phpmyadmin的WEB访问URL,如本文中:$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; 注意这里假设phpmyadmin在默认站点的根目录下
搜索:$cfg['blowfish_secret'] =
设置COOKIES加密密匙,如xqin.com则设置为$cfg['blowfish_secret'] = 'chinaser.net';
搜索$cfg['Servers'][$i]['auth_type'],默认为config,是不安全的,不推荐,推荐使用cookie,将其设置为$cfg['Servers'][$i]['auth_type'] = 'cookie';
注意这里如果设置为config请在下面设置用户名和密码!例如:
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user-----MySQL连接用户
$cfg['Servers'][$i]['password'] = 'chinaser.net';
搜索$cfg['DefaultLang'] ,将其设置为 zh-gb2312 ;
搜索$cfg['DefaultCharset'] ,将其设置为 gb2312 ;
打开浏览器,输入:http://localhost/phpMyAdmin/
首先点击权限进入用户管理,删除除ROOT和主机不为localhost的用户并重新读取用户权限表,这里同样可以修改和设置ROOT的密码,添加其他用户等
phpMyAdmin 的具体功能,请慢慢熟悉,这里不再赘述。至此所有安装完毕。
六、目录结构以及MTFS格式下安全的目录权限设置:
当前目录结构为
D:php
|
+—————+——————+———————+———————+
php4(php5) tmp MySQL Zend phpMyAdmin
D:php设置为管理员和SYSTEM完全权限即可,其他用户均无权限
对于其下的二级目录
php4(或者php5)、 tmp 给EVERYONE完全权限
MySQL 、Zend 管理员和SYSTEM完全权限
phpMyAdminWEB匿名用户读取运行权限
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> mysql> insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub
ject) values("localhost","pppadmin",password("passwd"),'','','');
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/
3.删除用户。
@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
5.列出所有数据库
mysql>show database;
6.切换数据库
mysql>use '数据库名';
7.列出所有表
mysql>show tables;
8.显示数据表结构
mysql>describe 表名;
9.删除数据库和数据表
mysql>drop database 数据库名;
mysql>drop table 数据表名;
数据库采用mysql(配置过程如有问题可以重启tomcat试一下)
一、下载软件
.J2SE
http://java.sun.com/j2se/.4.2/download.html
2.Tomcat服务器
http://tomcat.apache.org/download-4.cgi
3.mysql服务器
http://dev.mysql.com/downloads/mysql/5.0.html
安装时字符集选latin(应与数据库采用字符集相同)
安装好数据库后用以下命令看数据库采用什么字符集:
help
4.JDBC驱动
http://dev.mysql.com/downloads/connector/j/5.0.html
二、依次安装以上软件
假设安装后的路径分别如下:
.J2SE
C:\j2sdk.4.2
2.Tomcat
C:\Program Files\Apache Software Foundation\Tomcat 4.
3.mysql
C:\Program Files\MySQL\MySQL Server 5.0
三、配置
.设置环境变量
在'我的电脑'上点右键,属性->高级->环境变量,添加如下变量:
PATH=%PATH%;C:\j2sdk.4.2\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin
JAVA_HOME=C:\j2sdk.4.2
CLASSPATH=C:\j2sdk.4.2\lib\tools.jar;mysql-connector-java-5.0.5-bin.jar;mysql-connector-java-5.0.5-bin-g.jar
TOMCAT_HOME=C:\Program Files\Apache Software Foundation\Tomcat 4.
2.jsp连接mysql设置
把
mysql-connector-java-5.0.5-bin.jar
mysql-connector-java-5.0.5-bin-g.jar
拷贝到C:\j2sdk.4.2\lib
把
mysql-connector-java-5.0.5-bin.jar
拷贝到
C:\Program Files\Apache Software Foundation\Tomcat 4.\common\lib
C:\Program Files\Apache Software Foundation\Tomcat 4.\shared\lib
(千万别复制mysql-connector-java-5.0.5-bin-g.jar)
四、JSP连接mysql测试
.建立数据库xia
打开命令行窗口,输入:
mysql -h localhost -u root -p
crate database xia;
use xia;
crate table member(id int(8) primary key,name varchar(0));
insrt into member values(,'yang');
insrt into member(name,id) values('xia',2);
(安全:为数据库设置权限(用户和密码)
命令:grant all privileges on shujuku.* to test@localhost identified by “23456”;
当你执行完这个命令以后,只要你再以用户名:test,密码:23456登录时你就只可以对shujuku这个数据库操作,
这样避开使用root,对数据库的安全有很大帮助.)
2.把以下文件保存为index.jsp到C:\Program Files\Apache Software Foundation\Tomcat 4.\webapps\ROOT
----------------begin----------------------
<%@ page contentType="text/html; charset=gb232" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="root";
//密码
String userPasswd="";
//数据库名
String dbName="xia";
//表名
String tableName="member";
//联结字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.crateStatement();
String sql="Selct * FROM "+tableName;
ResultSet rs = statement.executeQuery(sql);
//获得数据结果集合
ResultSetMetaData rmeta = rs.getMetaData();
//确定数据集的列数,亦字段数
int numColumns=rmeta.getColumnCount();
// 输出每一个数据值
out.print("id");
out.print("|");
out.print("name");
out.print("
");
while(rs.next()) {
out.print(rs.getString()+" ");
out.print("|");
out.print(rs.getString(2));
out.print("
");
}
out.print("
");
out.print("数据库操作成功,恭喜你");
rs.close();
statement.close();
connection.close();
%>
--------------------end------------------------
输入http://localhost:8080测试
五、安装网站程序
)、拷贝文件
.拷贝C:\Program Files\MySQL\MySQL Server 5.0\data\dataname
2.把
C:\Program Files\Apache Software Foundation\Tomcat 4.\webapps\ROOT\mywebroot
C:\Program Files\Apache Software Foundation\Tomcat 4.\webapps\ROOT\web-inf
目录拷贝过去
3.建立
C:\Program Files\Apache Software Foundation\Tomcat 4.\webapps\ROOT\web-inf\classes
把用到的包拷贝到
C:\Program Files\Apache Software Foundation\Tomcat 4.\webapps\ROOT\web-inf\classes
目录下面
2)、javabean安装配置测试
建立自己的Bean:
.文件名TestBean.java:
--------begin---------
package test;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}
}
---------end-------------
2 .编译
将TestBean.java放在c:\test下,使用如下命令编译:
C:\Test>javac TestBean.java
然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
3 .将TestBean.class文件剪切到 C:\Program Files\Apache Software Foundation\Tomcat 4.\webapps\ROOT\WEB-INF\classes\test
4 .新建一个TestBean.jsp文件,文件内容为:
<%@ page import="test.TestBean" %>
<%
TestBean testBean=new TestBean("This is a test java bean.");
%>
Java bean name is: <%=testBean.getName()%>
5 .好了,重启Tomcat,启动浏览器,输入http://localhost:8080/TestBean.jsp
如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
六、问题解决
.页面乱码
在jsp文件前面加
<%@page contentType="text/html; charset=gb232"%>
2.mysql返回结果乱码
解决方法一:
连接mysql时(无论在从mysql读还是取数据的情况),指定使用的编码方式为gb232,具体代码如下
//装载mysql-jdbc驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
//连接数据库
Connection sqlCon = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gb232" );
解决方法二:
如果方法一不行那么在方法一的基础上对读入的字符串进行强制编码方式转换。
代码示例如下:
String name = rst.getString("name");
name= new String(name.getBytes("ISO-8859-"),"gb232");
注:代码也可以为:String name =new String( rst.getString("name").getBytes("ISO-8859-"),"gb232"));其中rst为返回的resultset,ISO-8859-为mysql默认的编码方式,代码的目的是把以ISO-8859-的编码转换为gb232编码方式,这样强制转换,可以解决一部分问题,如果结合方法一,应该可以解决中文乱码问题。
http://www.dfmqp.cn
本人的全部安装过程提供给LINUX爱好者共同分享,需要软件如下
resin:http://www.caucho.com/
jdk:http://java.sun.com/
apache:http://www.apache.org
mysql:http://www.mysql.com
php:http://www.php.net
jdbc:http://mmmysql.sourceforge.net/
本人所用的软件版本如下:
resin-3.0.0.tar.gz
j2sdk-_4_2_05-linux-i586.bin
httpd-2.0.52.tar.gz
mysql-4..9.tar.gz
php-4.3.0.tar.gz
mysql-connector-java-3..6.tar.gz
一.安装MYSQL
我把他全部下在到/root 目录下
# chmod 755 mysql-4..9.tar.gz
# tar xfz mysql-4..9.tar.gz
解压后生成mysql-4..9目录,我们进入该目录:
cd mysql-4..9
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help:
在这里我要特别强调在 编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了
所以我这样编译
# ./configure --prefix=/usr/local/mysql --with-charset=gbk
然后等几秒钟,配置完成后就编译源代码
# make
这个编译的过程比较长,如果机器比较慢的话,可能要近二十分种 ( 我的是联想服务器都需要了5分钟 ) . 编译完成后就安装:
# make install
等上几秒钟,安装完成.下面就到了最关键的部分了,为什么老安装不成功,(至少我是安装了N次,N > 0 ,呵呵),问题关键就在这里,访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.
我们先建立一个mysql和mysql用户来访问mysql:
# groupadd mysql #建立mysql组
# useradd mysql -g mysql #建立mysql用户并且加入到mysql组中
建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)
# ./scripts/mysql_install_db --user=mysql #初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:
# cd /usr/local/mysql
然后设置权限
# chown -R root . #设定root能访问/usr/local/mysql
# chown -R mysql var #设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件
# chown -R mysql var/. #设定mysql用户能访问/usr/local/mysql/var下的所有文件
# chown -R mysql var/mysql/. #设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件
# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql
设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果没有问题的话,应该会出现类似这样的提示:
[] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
这就证明你安装成功了
用如下命令修改MYSQL密码,默认安装密码为空,为了安全你必须马上修改
/usr/local/mysql/bin/mysqladmin -uroot password pengyong
现在修改的密码为:pengyong
二、安装jdk
# chmod 755 j2sdk-_4_2_05-linux-i586.bin
# ./j2sdk-_4_2_05-linux-i586.bin 释放j2sdk-_4_2_05-linux-i586.bin
在/root目录下生成j2sdk.4.2_05目录和文件我是将JDK装到/usr/java/目录下
将文件剪切到/usr/java/目录下
# mv j2sdk.4.2_05/ /usr/java/
设置JDK变量环境
# vi /etc/profile
# /etc/profile
JAVA_HOME=/usr/java/j2sdk.4.2_05
RESIN_HOME=/usr/resin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/htmlco
nverter.jar:$RESIN_HOME/lib:/usr/java/jdbc/mysql-connector-java-3..6-bin.jar
退出当前登录的环境,重新登录,这样刚刚设定的环境变量就会生效,然后用如下命令测试:
[root@LINUX root]# echo $JAVA_HOME
/usr/java/j2sdk.4.2_05
[root@LINUX root]# echo $CLASSPATH
.:/usr/java/j2sdk.4.2_05/lib/dt.jar:/usr/java/j2sdk.4.2_05/lib/tools.jar:/usr/
java/j2sdk.4.2_05/lib/htmlconverter.jar:/usr/resin/lib:/usr/java/jdbc/mysql-con
nector-java-3..6-bin.jar
[root@LINUX root]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bi
n:/usr/local/sbin:/usr/bin/X:/usr/java/j2sdk.4.2_05/bin:/usr/XR6/bin:/root/
bin
[root@LINUX root]# java -version
java version ".4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build .4.2_05-b04)
Java HotSpot(TM) Client VM (build .4.2_05-b04, mixed mode)
看到类似信息就表示jdk环境已经好了。其实在上面的/etc/profile中,我们不仅仅设置了jdk的环境变量,还一并设置了resin和jdbc的环境变量,这些都是后面安装resin所必需的设定
三、安装mysql的jdbc
# tar xfz mysql-connector-java-3..6.tar.gz
# mv mysql-standard-4.0.23-pc-linux-i686/ /usr/java/ 将解压的文件剪切到/usr/java/目录下。
# cd /usr/java/
# ln -s mysql-standard-4.0.23-pc-linux-i686/ jdbc 创建JDBC的软连接与/usr/java/目录下
四、安装apache
# chmod 755 httpd-2.0.52.tar.gz
# tar xfz httpd-2.0.52.tar.gz
# cd httpd-2.0.52
开始配置APACHE
# ./configure --prefix=/usr/java/httpd2 --enable-module=most --enable-shared=max
察看编译进apache的模块:
#/usr/java/httpd2/bin/httpd -l
[root@LINUX root]# /usr/java/httpd2/bin/httpd -l
compiled-in modules:
http_core.c
mod_so.c
看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。
五、安装php
我们使用的PHP版本是4.3.0,先去下载: http://www.php.net/downloads.php, 下回来的包叫做 php-4.3.0.tar.gz, 放到/usr/local/src目录下.
首先进入该目录后解压缩:
# cd /usr/local/src
# tar xfz php-4.3.0.tar.gz
解压后进入目录:
# cd php-4.3.0
进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure --help来获得:
# ./configure --with-mysql=/usr/java/mysql --with-apxs=/usr/java/httpd2/bin/apxs
果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误.
比如你没有安装mysql,那么--with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项,配置之后就进行编译:
# make
编译成功后出现"Build complete."字样,那么就可以进行安装了:
# make install
安装完成后把/usr/local/src/php-4.3.8/php.ini-dist复制到/usr/local/lib/,并重命名为php.ini
# cp /usr/local/src/php-4.3.0/php.ini-dist /usr/local/lib/php.ini
基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误.
为了让Apache能够直接解析php,我们还要进行一些配置.
# vi /usr/java/httpd/conf/httpd.conf
在httpd.conf文件中,添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
应该将以上两句添加在其他AddType之后。
确保文件中有以下一句话,没有就自己添加在所有LoadModule之后。
LoadModule php4_module modules/libphp4.so
好了,在vi中使用":wq"保存httpd.conf文件,退出vi。启动apache server:
# /usr/java/httpd2/bin/apachectl restart
现在apache就能够运行php了,写个文件测试一下,在/usr/java/httpd2/htdocs目录下,新建一个phpinfo.php文件,
文件中只有一行代码:
<? phpinfo(); ?>
保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。
如果出现错误,比如提示你下灾phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确.
六.安装resin
下载的resin的安装包解开后应该可以直接单独运行的。笔者将其解开后放到/usr/java/目录下
# tar xfz resin-3.0.0.tar.gz
# mv resin-3.0.0 /usr/java/
# cd /usr/java/
# ln -s resin-3.0.0/ resin
启动resin
# /usr/java/resin/bin/httpd.sh start
现在就能够从http://localhost:8080/上能看到resin的页面,这也就表示单独的resin运行成功了。然后,为了整合resin和apache,我们需要重新编译一下,以生成mod_caucho给apache调用。
# cd /usr/java/resin
# ./configure --with-apache=/usr/java/httpd2
# make
# make install
修改/usr/java/resin/conf/resin.conf,大约在最后(安装的resin版本不同,配置文件的内容可能有所不同),将<document-directory>修改成自己的apache的documentroot的值。
<document-directory>/usr/java/httpd2/htdocs</document-directory> ##这里修改成/usr/java/httpd2/htdocs
最后vi /usr/java/httpd2/conf/httpd.conf
复制以下内容
<location /caucho-status>
sethandler caucho-status
</location>
保存后。从启APACHE和RESIN
# /usr/java/resin/bin/httpd.sh restart
# /usr/java/httpd2/bin/apachectl restart
通过浏览器去访问http://localhost/caucho-status/,如果出现以下页面刚表示resin和apache已经成功整合了。
http://www.dfmqp.cn/caucho-status/
七.建立resin和apache的虚拟主机 我们建立的是tes.jsp.com test2.jsp.com 两个虚拟主机
vi /usr/java/httpd2/conf/httpd.conf
复制如下内容到httpd.conf里
NameVirtualHost 92.68.0. 虚拟主机建立所在的IP
<VirtualHost 99.99.0.>
DocumentRoot /home/jsp/ 文件所在目录
ServerName tes.jsp.com 访问的域名
</VirtualHost>
VirtualHost 92.68.0.>
DocumentRoot /home/jsp2/
ServerName test2.jsp.com
</VirtualHost>
vi /usr/java/resin/conf/resin.conf
查找如下代码并修改:
<host id="" root-directory=".">
<!--
- configures an explicit root web-app matching the
- webapp's ROOT
-->
<web-app id='/' document-directory="/usr/java/httpd2/htdocs"/>
</host>
<host id='tes.jsp.com'>
<web-app id='/' document-directory="/home/jsp"/>
</host>
<host id='tes2.jsp.com'>
<web-app id='/' document-directory="/home/jsp2"/>
</host>
保存从启apache和resin
tes.jsp.com 和tes2.jsp.com 虚拟主机可以运行了
可以做如下测试http://localhost/caucho-status/
可以看到测试面上有
Virtual Host: tes.jsp.com:80
Virtual Host: tes2.jsp.com:80
证明JSP虚拟主机工作很正常
四、IIS的高级服务配置
为了使当前IIS Server提供的IIS服务更加安全可靠,应当进行高级服务配置,从某种意义上,IIS服务器代表着本企业或者校园网的形象,甚至作为网络办公的平台,其中往往涉及一些非常重要的数据资料,事实上,黑客们攻击的对象也大都是Web站点和FTP站点,因此IIS Server服务器的安全越来越显得重要,所以IIS服务器需要配置包括对Web站点的访问帐号验证及访问的IP地址授权以及对FTP站点的访问帐号验证,上传文件权限配置以及对FTP站点提供的IP地址授权等等。
此外,还可以在路由器Router2中做IP地址的访问控制ACL,通过ACL访问控制列表来拒绝或者接受来自各客户机的访问。
1.在IISserver中配置安全访问帐号
步骤○1为了在提供Web服务时进行身份验证,实例中,在IIS Server上建立一个用以提供Web访问的帐号webuser,并设置相应的密码为123456,如图19
图19
步骤○2为了在提供FTP服务时进行身份验证,实例中,在IIS Server上建立一个用以提供FTP访问的帐号ftpuser,并设置相应的密码为123456,如图20
图20
步骤○3添加IIS server的本地组webgroup,并将webuser添加至该组中,如图21
图21
步骤○4添加IIS server的本地组ftpgroup,并将ftpuser添加至该组中,如图22
图22
步骤○5打开在IIS server中为Web提供服务的主目录wwwroot的属性对话框,在安全选项卡中添加webuser用户,并为其设置相应的访问权限,如图23
图23
步骤○6打开IIS信息服务控制台,在默认的Web站点属性对话框中的目录安全性选项卡,将匿名访问前的复选框去掉,对WEB访问用户进行身份验证设置,如图24
图24
步骤○7打开IIS信息服务控制台,在默认的FTP站点属性对话框中的安全帐号选项卡,将允许匿名连接前的复选框去掉,并通过添加将ftpuser帐号加入其中,对FTP访问用户进行身份验证设置,如图25
图25
五、IIS高级服务测试
1.在PC1和PC2上做Web站点的访问测试
步骤○1在PC1和PC2中打开Internet Explorer浏览器,输入WEB站点的IP地址http://172.16.1.2,访问后如图26
图26
步骤○2此时如不输入正确的webuser帐号及密码或者使用取消,访问将被拒绝。如图27
图27
步骤○3访问时提供正确的webuser帐号及密码后,如图28
图28
步骤○4正确的帐号Webuser验证通过以后,Web站点访问成功,如图29
图29
2.在PC1和PC2上做FTP站点的访问测试
步骤○1在PC1和PC2中打开Internet Explorer浏览器,输入FTP站点的IP地址ftp://172.16.1.2,访问后如图30
图30
步骤○2此时如果不能提供正确的ftpuser帐户和密码,访问被拒绝,如果提供的帐号和密码正确,则如图31-图32
图31
图32
(3) 在PC4(Red Hat Linux 9)上做WEB站点及FTP站点测试,同样也需要提供正确的帐号和密码,在访问Web站点时提供webuser帐号,在访问FTP站点时提供ftpuser帐号。
(4) 比如使用RED HAT LINUX 9的终端登陆FTP站点,正常访问如图33,如果FTP站点配置了写入权限,还可以在PC4上上传文件至FTP站点,如图33中所示
图33
(5) 如果不能提供正确的ftpuser帐号和密码,访问将被拒绝。如图34
图34
六、在IIS server服务器上做访问控制配置
1.在IIS Server上做Web服务的IP地址及域名限制,打开默认web站点属性对话框,并在目录安全性选项卡中通过编辑IP地址及域名限制,配置如图35
图35
2.在IIS Server上做FTP服务的IP地址及域名限制,打开默认FTP站点属性对话框,并在目录安全性选项卡中通过编辑IP地址及域名限制,配置如图36
图36
3. 此时,在PC4(IPAddress:172.16.1.3)和PC2(IPAddress:192.168.1.2)上访问可通过,能正常使用IISServer所提供的Web站点或者FTP站点服务,而在PC1(IPAddress:192.168.2.2)上访问被拒绝,如图37,图38
图37
图38
七、远程管理Web站点
由于某些时候在IIS Server服务器上操作不是很方便,我们还需要对IIS服务器进行远程管理,这样,只要能够通过局域网或者在企业网内部,事实上在INTERNET上也可以与IIS server服务器相连,就可以使用IE浏览器来实现对WEB站点的远程管理。
步骤1.在控制台中选择管理Web站点,打开管理web站点属性对话框,此时应注意端口的配置,在实例中选择默认的3914端口。如图39
图39
步骤2:打开操作员选项卡,将Webuser帐号添加进来,今后通过webuser帐号可对IIS进行远程管理。如图40
图40
步骤3:出于IIS管理的安全性,不允许任何机器登陆IIS服务器进行配置,我们将IP地址及域名限制到管理员经常使用的PC2机上。如图41
图41
步骤4:此时在PC1和PC4的浏览器中输入http://172.16.1.2:3914,访问被拒绝,而在PC2上输入管理WEB站点的地址http://172.16.1.2:3914,访问正常,可对IIS做远程的WEB站点管理,如图42
图42
八、在路由上做访问控制
为了在IIS Server上提供更加安全可靠的服务,如当前IIS Server服务器向PC2和PC4提供IIS服务,而拒绝给PC1提供服务,这时候可以在路由器上做ACL访问控制表。
实例中我们以Router2作为ACL控制路由器,登陆到Router2后,对Router2做标准的访问控制
router2#config t
Enter configuration commands, one per line. End with CNTL/Z.
router2(config)#access-list 1 permit 192.168.1.0 0.0.0.255
router2(config)#int serial 0
router2(config-if)#ip access-group 1 in
router2(config-if)#exit
router2(config)#exit
router2#
使用show running-config 后可看到
ip classless
access-list 1 permit 192.168.1.0 0.0.0.255
snmp-server community public RO
!
这时从PC2(IPAdress 192.168.1.2)上访问IIS Server,服务被接受,访问正常。如果从PC1(IPAdress 192.168.2.2)上访问IIS Server,服务被觉得,无法正常访问。
总之,IIS在Intranet中提供了很重要的信息共享服务,但是在提供IIS服务时如果只是对其进行基本设置,提供匿名访问的话可能会带来许多安全性的问题,所以需要IIS Server的访问安全性做合理的规划,如访问身份验证和IP地址及域名访问控制,其中访问控制可以在IIS Server服务器本身或者在路由器中做ACL的访问控制表进行安全访问控制。此外IIS还提供了虚拟网站和虚拟目录,虚拟网站可以将一个IIS服务器配置成多个WEB站点。