[修改回复]
删除回复
插入表情:
宋体
楷体
幼圆
黑体
隶书
华文行楷
方正舒体
Arial
Arial Black
Arial Narrow
Century Gothic
Comic Sans MS
#0000FF
#8A2BE2
#DEB887
#5F9EA0
#7FFF00
#000000
#D2691E
#FF7F50
#FF0000
#DC143C
#99ccff
字体颜色
#FFF8DC
#00FFFF
#EE82EE
#F5DEB3
#FFFFFF
#F5F5F5
#FFFF00
#9ACD32
使用帮助
Step 1 RedHat 7.2 install 我的建议: 1、 安装时为/home建立单独的分区,因为/home是用户数据的存放之地,本文档中也将软件的安装文件都放到这个目录下,所以,这样做当你下次重新安装系统的时候,可以保留该分区,数据也就得以保全; 2、 采用定制安装的方式并选中’Everything’选项,这样特别适合于初学者,否则后面的安装过程中可能会出现找不到某个包或某个命令的情况;但如果是配置Internet服务器,就应该只选择必需的包,做到尽量的精简才够安全; 3、 选择语言时,建议选中simplified chinese(P.R.CHINA)选项,这样,当你配置好服务器的时候,在程序代码中无需任何声明,中文将被支持而不会乱码; 4、 使用Gnome做为登陆管理器,使用KDE作为默认的Session,设置默认启动到X,这样做的目的是为了方便远程控制; 5、 IP: 192.168.1.2,这是我在本文档中使用的IP,这个可以自行设置。 6、 文档中我没有涉及到防火墙的设置,系统安装完成后你可以使用ntsysv或者chkconfig命令将iptables和ipchains两个服务禁用掉,否则会导致telnet和远程登陆等无法使用; 当然,如果您熟悉防火墙设置,可以自行处理。 -------------------------------------------------------------------------------------------- Step 2 X setup ##这一步完成后,重启服务器,然后你就可以使用Extra!X等远程控制软件以图形界面在微软平台上进行服务器配置,这样做的好处是可以同时控制服务器端和客户端,不必奔走在两台机器之间。如果你按照下面的设置不能进行远程控制,那么,很有可能你的防火墙策略不允许这样做,禁用掉iptables和ipchains就可以了。 vi /etc/X11/gdm/gdm.conf //启用远程控制 [xdmcp] Enable=1 vi /etc/X11/gdm/Sessions/Default //设置默认Session exec /etc/X11/xdm/Xsession kde vi /etc/X11/xdm/Xaccess //设置广播对象 192.168.1.* -------------------------------------------------------------------------------------------- Step 3 Services setup Shell> ntsysv 运行ntsysv命令启用named 、telnet 和 wu_ftpd 服务,禁用httpd 、mysqld、iptables和ipchains 服务和其他一些不需要的服务,然后用reboot重启服务器。 -------------------------------------------------------------------------------------------- Step 4 Dns setup vi /etc/named.conf 1 创建标准区域 ##你可以根据你的喜好来命名,这里我使用的后缀是.loc,主要是为了避免和Internet已经注册的域名相冲突,你可以自行决定你的后缀。 ##添加下面的文本到 /etc/named.conf zone yesgo.loc{ type master; file "yesgo.loc"; } zone 1.168.192.in-addr.arpa{ type master; file "192.168.1"; } 2 创建域名库文件 touch /var/named/yesgo.loc touch /var/named/192.168.1 ##编辑正向域名库文件,建立主机名和主机别名 vi /var/named/yesgo.loc @ IN SOA ns.yesgo.loc. root.ns.yesgo.loc. ( 2001050801 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.yesgo.loc. IN MX 0 ns.yesgo.loc. ns IN A 192.168.1.2 ftp IN CNAME ns.yesgo.loc. mail IN CNAME ns.yesgo.loc. pop IN CNAME ns.yesgo.loc. smtp IN CNAME ns.yesgo.loc. ##编辑反向域名库文件,建立主机名指针 vi /var/named/192.168.1 @ IN SOA ns.yesgo.loc. root.ns.yesgo.loc. ( 2001050801 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.yesgo.loc. IN MX 0 ns.yesgo.loc. 2 IN PTR ns.yesgo.loc. 3 重新启动DNS服务 /etc/rc.d/init.d/named restart 4 域名查询 ##测试域名是否解析成功,这是一个交互式的命令行,你可以输入域名或者IP地址进行正向和反向查询 nslookup -sil -------------------------------------------------------------------------------------------- Step 5 KDE setup 这一步是可有可无的,因为你完全可以不去理会而直接使用默认界面。一般的做法是先根据KDE配置向导进行总体设置,然后再使用KDE控制中心进行详细配置,在此不多介绍。需要提的一点是你可以通过KDE Control Panel 中的Windows Manager来设置默认Session,当然也可以通过配置文件来实现这一点。 -------------------------------------------------------------------------------------------- Step 6 Ftp setup vi /etc/shells ##添加下面一行到/etc/shells,将作为FTP用户的shell,使其不能使用命令和telnet服务 /dev/null ## 增加ftpchroot组,该组中的用户将以自己的home目录作为FTP根目录 groupadd ftpchroot ## 添加FTP用户,该类用户只能使用FTP服务,且以自己的home目录为根目录 useradd src –s /dev/null –g ftpchroot //本帐号用来存放软件包 passwd src /* 我习惯将软件包放到自定义的/home/src目录,主要目的还是上面提到的数据保全和软件上传问题,如果放到/usr/local/src目录,这两点也能实现但不方便,如果你习惯将软件包放到/usr/local/src,你可以删除/usr/local/src然后为/home/src建立一个符号连接。 */ rm –R -f /usr/local/src ln –s /home/src /usr/local/src -------------------------------------------------------------------------------------------- Step 7 MySQL、Apache and php Unistall 使用Package管理器或者rpm命令卸载MySQL、Apache和PHP,建议初学者使用Package管理器,分别查找这三个关键词直到将所有相关的软件包都卸载干净。我们接着会编译安装这些软件。 -------------------------------------------------------------------------------------------- Step 8 MySQL install 1 准备用户 ## 注意,这里所说的准备用户,指的是MySQL服务的启动用户,这个用户是Linux系统的用户,并非MySQL用户。需要搞清的是,Linux和MySQL有各自的用户机制,他们都有一个最高权限的用户root,MySQL安装完毕默认只有一个用户,root ,其密码为空,可以使用mysqladmin –u root –p password 指令来更改其密码。 userdel mysql useradd mysql –s /dev/null passwd mysql 2 安装MySQL cd /home/src tar xvzf my* //解包 cd my* ./configure --prefix=/usr/local/mysql //配置 make //编译 make install //安装 ./scripts/mysql_install_db //建库 3 修改文件夹权限 ##下面修改相关文件夹权限,否则MySQL服务不能启动,或者说你对数据库没有写权限 chown –R root /usr/local/mysql chgrp –R mysql /usr/local/mysql chown –R root /usr/local/mysql/bin chgrp –R mysql /usr/local/mysql/bin chown –R root /usr/local/mysql/var chgrp –R mysql /usr/local/mysql/var chmod 770 /usr/local/mysql/var chown –R root /usr/local/mysql/var/mysql chgrp –R mysql /usr/local/mysql/var/mysql chmod 770 /usr/local/mysql/var/mysql chown –R root /usr/local/mysql/var/mysql/* chgrp –R mysql /usr/local/mysql/var/mysql/* chmod 770 /usr/local/mysql/var/mysql/* chmod 770 /usr/local/mysql/lib/mysql/libmysqlclient.a 4 重新加载动态库 ##因为我们采用自定义编译安装的方式,所以跟系统原先定义的库位置不一样,现在我们重新指定它并重新加载 vi /etc/ld.so.conf #添加下面一行 /usr/local/mysql/lib shell>ldconfig //重新加载动态库 5 测试MySQL cd /usr/local/mysql ./bin/safe_mysqld –-user=mysql & //启动MySQL服务 mysqladmin –u root –p password 'your_password' //更改用户密码 mysql –p //开始使用 6 创建启动脚本 ##创建MySQL服务,使之在系统启动时自动启动 cd /etc/rc.d/init.d touch mysqld vi mysqld ##文件内容如下: #!/bin/bash #Start MySQL service cd /usr/local/mysql ./bin/safe_mysqld - -user=mysql& ##改变该脚本的权限,否则系统启动时会说由于没有执行权限而启动失败 chown –R root /etc/rc.d/init.d/mysqld chmod 700 /etc/rc.d/init.d/mysqld ##将此服务连接到init 5,如果你使用init 3启动机器,连接到rc3.d即可,60代表启动的次序,S要大写 ln –s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S60mysqld -------------------------------------------------------------------------------------------- Step 9 Apache install 1 安装Apache cd /home/src tar xvzf apa* //解包 cd apa* ./configure --prefix=/usr/local/apache --enable-module=so //设置编译参数 make //编译 make install //安装 2 建立符号连接 ##为启动程序建立符号连接,便于以后重启服务 ln –s /usr/local/apache/bin/apachectl /usr/bin/apache 3 编辑配置文件 ## 设置默认页面,中间用空格分开 DirectoryIndex index.html index.jsp index.xtp index.php index.php3 4 测试Apache Shell>apache start lynx http://localhost ##如果出现Apache的文档页面,表示安装成功。 5 创建启动脚本 ##创建Apache服务 touch /etc/rc.d/init.d/httpd vi /etc/rc.d/init.d/httpd ## 文件内容如下: #!/bin/bash #Start httpd service /usr/local/apache/bin/apachectl start ##设置文件权限 chown –R root /etc/rc.d/init.d/httpd chmod 700 /etc/rc.d/init.d/httpd ##连接到你默认init 级别的所在目录 ln –s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S65httpd -------------------------------------------------------------------------------------------- Step 10 Php install ## 本版本中我采用的是DSO安装模式,这样当你升级PHP的时候就无需重新安装Apache 1 安装PHP cd .. tar xvzf php* cd php* ./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --enable-track-vars --enable-sockets --enable-ftp //设置PHP编译参数 make //编译 make install //安装 cp ./php.ini-dist /usr/local/lib/php.ini //复制配置文件到/usr/local/lib 2 配置Apache vi /usr/local/apache/conf/httpd.conf //配置Apache支持PHP ## 以php为关键词查找到如下几行,去掉前面的注释符号 # AddType application/x-httpd-php .php # AddType application/x-httpd-php .php3 //本行需要自行添加,用来支持PHP3 # AddType application/x-httpd-php-source .phps #重新启动Apache apache restart ---------------------------------------------------------------------------------------------------------------------- Step 11 Jvm setup cp /home/src/ j2sdk-1_3_1-linux-i386.bin /usr/local cd /usr/local chmod a+x j2sdk-1_3_1-linux-i386.bin ##下面的指令是一个脚本,它先要问你是否同意,输入Y,然后它会自行安装 ./j2sdk-1_3_1-linux-i386.bin ##为当前的JDK版本建立一个符号连接,这样做的目的是将来如果有新的版本安装到系统上,可以将新的目录连接为/usr/local/jvm,这样就无需修改很多配置文件 ln –s /usr/local/jdk1.3.1_01 /usr/local/jvm -------------------------------------------------------------------------------------------- Step 12 Classes Install ##这个步骤是我的一个习惯,如果不做JAVA或者JSP开发可能不需要这一步,这个步骤的目的是设置一个放置自己JAVA类库的主目录,然后在此主目录下建立子目录分别存放不同种类的类文件。 ##这里需要探讨的是MySQL的驱动程序。大家可以看到我下面使用的仍然是mm驱动,有网友建议我使用resin自带的驱动,我到caucho的站点上看到caucho声明它的驱动比mm驱动快很多,并附有相关数据;然而我测试的结果是resin驱动在rs跳转时除了rs.next()其他的rs.previous();、rs.first();和rs.last();都没任何作用,所以我仍然使用mm.mysql-2.0.4-bin.jar.zip 。 ##创建类库主目录 mkdir /usr/local/lib/java ##下面安装MySQL的JDBC驱动,这个驱动是支持JDBC2.0的 mkdir /usr/local/lib/java/drivers cp /home/src/mm.mysql-2.0.4-bin.jar.zip /usr/local/lib/java/drivers //MySQL driver ##下面安装JAF,需要说明的是,下载的jaf包是个winzip文件,我是windows上解压的,然后创建了一个jaf的目录将activation.jar放到里面又上传到/home/src的,你可以自行解决 mkdir /usr/local/lib/java/jaf cp /home/src/java/jaf/activation.jar /usr/local/lib/java/jaf //Jaf class ##下面安装JAVAMAIL,我的处理办法同上 mkdir /usr/local/lib/java/javamail cp /home/src/java/javamail/*.jar /usr/local/lib/java/javamail //JavaMail classes -------------------------------------------------------------------------------------------- Step 13 Edit /etc/profile ##这一步用来配置环境变量,Resin的安装需要依赖该步骤 Vi /etc/profile ## 在/etc/profile文件末添加如下内容: JAVA_HOME=/usr/local/jvm RESIN_HOME=/usr/local/resin CLASS_HOME=/usr/local/lib/java CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib:$RESIN_HOME/lib:$CLASS_HOME/drivers/mm.mysql-2.0.4-bin.jar.zip:$CLASS_HOME/jaf/activation.jar: $CLASS_HOME/javamail/mail.jar: $CLASS_HOME/javamail /smtp.jar: $CLASS_HOME/javamail /pop3.jar: $CLASS_HOME/javamail/mailapi.jar: $CLASS_HOME/javamail/imap.jar PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local:/usr/local/bin:/usr/local/jvm/bin:/usr/local/jvm/jre/bin:/usr/local/mysql/bin:/usr/bin/X11:/usr/X11R6/bin export JAVA_HOME RESIN_HOME CLASS_HOME CLASSPATH PATH ## 保存文件后注销登陆,然后重新进入,输入下面的命令查看系统变量是否已经生效: Shell>env -------------------------------------------------------------------------------------------- Step 14 Resin Install 1 安装Resin cd /home/src cp /home/src/resin-2.0.5.tar.gz /usr/local cd /usr/local tar xvzf resin* cd resin* ./configure --with-apache=/usr/local/apache //设置编译参数 (Or: ./configure --with-apxs=/usr/local/apache/bin/apxs) make //编译 make install //安装 2 建立符号连接 ##建立resin的符号连接,道理同建立jvm符号连接 ln –s /usr/local/resin2.0.5 /usr/local/resin ##建立resin服务程序的符号连接,道理同建立apache符号连接 ln –s /usr/local/resin/bin/httpd.sh /usr/bin/resin 3 修改配置文件 vi /usr/local/resin/conf/resin.conf Modify One: 建立连接池,类似于NT上的DSN(数据源) <resource-ref> <res-ref-name>jdbc/test</res-ref-name> //数据源名称 <res-type>javax.sql.DataSource</res-type> //数据源类型 <init-param driver-name="org.gjt.mm.mysql.Driver"/> //数据库驱动 <init-param url=" jdbc:mysql://localhost/test "/> //连接串 <init-param user="your_user_name"/> //用户名 <init-param password="your_password"/> //密码 <init-param max-connections="20"/> //最大连接数 <init-param max-idle-time="30"/> //延时时间 </resource-ref> ##后面的测试部分有例子介绍如何调用数据源 Modify Two: 修改默认主目录,如果使用虚拟主机,其实也可以不理会这个地方 <app-dir> /usr/local/apache/htdocs </app-dir> Modify Three: 修改Resin端口,与Apache协同工作 <http port='8080' /> //删除本行即可 Modify Four: 添加支持JSP的虚拟主机 ##添加一个支持JSP的虚拟主机需要做如下四方面的工作: DNS、FTP、APACHE、RESIN 1、添加一个DNS别名(当然主机名也可以) vi /var/named/yesgo.loc # 追加如下一行,当然你可以自定义其他别名或主机名 www IN CNAME ns.yesgo.loc. /etc/rc.d/init.d/named restart //重启DNS服务 nslookup //测试是否解析成功 2、添加一个FTP帐号 Useradd www –s /dev/null –g ftpchroot //添加帐号 Passwd www //修改密码 Chmod 701 /home/www //设置权限,否则将来访问时服务器会说你没权限 3、在Apache中添加虚拟主机 vi /usr/local/apache/conf/httpd.conf # 指定你建立虚拟主机所用的IP地址 NameVirtualHost 192.168.1.2 # Add virtual host <VirtualHost www.yesgo.loc> ServerAdmin webmaster@yesgo.loc //管理员邮件 DocumentRoot /home/www //根目录 ServerName www.yesgo.loc //域名 ErrorLog logs/www.yesgo.loc-error_log //错误日志名称 CustomLog logs/www.yesgo.loc -access_log common //自定义日志名称 </VirtualHost> 4、在Resin中添加虚拟主机,以支持JSP vi /usr/local/resin/conf/resin.conf ##在文档中查找</host>,然后在其后加入如下内容: <host id='www.yesgo.loc'> <app-dir>/home/www</app-dir> //指定该站点的根目录 <classpath id='classes' source='classes' compile='true'/ > //指定class文件目录 </host> 『注意』: 按照上面地设置,你放置JavaBean的目录就是站点根目录下的classes目录,不可以死记硬背/WEB-INFO/classes,关键要明白其中的道理,其实你设置什么都可以的,例如Amao,Agou啦,呵呵。 『强烈建议』:设置classes目录的权限,否则客户端可以浏览和下载你的组件 chmod 701 /home/www/classes //设置classes目录的权限,避免非法获取 4 测试Resin ##启动Resin shell>resin start ##重新启动Apache,因为刚才修改了httpd.conf,需要重启才生效 shell>apache restart #创建文件 touch /home/www/index.jsp chown –R www /home/www/index.jsp chmod 701 /home/www/index.jsp ##编辑源文件 vi /home/www/index.jsp ##源代码只有一句: 1+1=<%=1+1%> ##测试该程序 lynx http://www.yesgo.loc/ ##输出结果应该是:1+1=2
不能为空
不能含有 ` 字符,字数8000以内
(CTRL+ENTER提交)
关闭窗口