/*------------------------------------------------------------------------ 写在前面: 我看到很多网友的提问都跟服务器配置有关,搭建一个可靠而又安全的应用开发服务器是WEB编程的基础,尤其对于在LINUX上进行JSP开发的朋友而言。 
这篇文档是我多年服务器配置的结晶,发表前已历经本人N此修改(最后一次大的修改是在RH7.2刚刚发布之即,而后一来由于忙于开发二来由于没有发现错误,所以没有升级),文档于2001年底被天极网转载(http://www.yesky.com/20020206/217592.shtml),后经linuxbye.net,cnjsp.com等多个linux和JAVA社区转载,历经时间考验,至今未曾发现错误,各位尽可放心使用。 
文档在web页面的显示效果不够理想,如果您希望得到本文档的PDF,或有任何意见建议,可邮件至[email protected] 
文档较长分为多篇发布,这是第三篇,以下为正文: -----------------------------------------------------------------------*/
  
  
我的建议: 
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和远程登陆等无法使用; 
当然,如果您熟悉防火墙设置,可以自行处理。 
-------------------------------------------------------------------------------------------- 
##这一步完成后,重启服务器,然后你就可以使用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.* 
-------------------------------------------------------------------------------------------- 
Shell> ntsysv 
运行ntsysv命令启用named 、telnet 和 wu_ftpd 服务,禁用httpd 、mysqld、iptables和ipchains 服务和其他一些不需要的服务,然后用reboot重启服务器。 
-------------------------------------------------------------------------------------------- 
vi /etc/named.conf 
  
##你可以根据你的喜好来命名,这里我使用的后缀是.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"; 
} 
  
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. 
  
/etc/rc.d/init.d/named restart 
  
##测试域名是否解析成功,这是一个交互式的命令行,你可以输入域名或者IP地址进行正向和反向查询 
nslookup -sil 
-------------------------------------------------------------------------------------------- 
这一步是可有可无的,因为你完全可以不去理会而直接使用默认界面。一般的做法是先根据KDE配置向导进行总体设置,然后再使用KDE控制中心进行详细配置,在此不多介绍。需要提的一点是你可以通过KDE Control Panel 中的Windows Manager来设置默认Session,当然也可以通过配置文件来实现这一点。 
-------------------------------------------------------------------------------------------- 
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 
-------------------------------------------------------------------------------------------- 
使用Package管理器或者rpm命令卸载MySQL、Apache和PHP,建议初学者使用Package管理器,分别查找这三个关键词直到将所有相关的软件包都卸载干净。我们接着会编译安装这些软件。 
-------------------------------------------------------------------------------------------- 
Step 8 MySQL install
## 注意,这里所说的准备用户,指的是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                   //建库 
  
##下面修改相关文件夹权限,否则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 
  
##因为我们采用自定义编译安装的方式,所以跟系统原先定义的库位置不一样,现在我们重新指定它并重新加载 
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                                      //开始使用 
  
##创建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 
-------------------------------------------------------------------------------------------- 
1 安装Apache
cd /home/src 
tar xvzf apa*                                                  //解包 
cd apa* 
./configure --prefix=/usr/local/apache --enable-module=so          //设置编译参数 
make                                                        //编译 
make install                                                  //安装 
   
 
 
  |