CSDN博客

img zhaofj

Linux 网络服务器构架实务之三

发表于2003/3/28 9:21:00  516人阅读

/*------------------------------------------------------------------------
写在前面:
我看到很多网友的提问都跟服务器配置有关,搭建一个可靠而又安全的应用开发服务器是WEB编程的基础,尤其对于在LINUX上进行JSP开发的朋友而言。

这篇文档是我多年服务器配置的结晶,发表前已历经本人N此修改(最后一次大的修改是在RH7.2刚刚发布之即,而后一来由于忙于开发二来由于没有发现错误,所以没有升级),文档于2001年底被天极网转载(http://www.yesky.com/20020206/217592.shtml),后经linuxbye.net,cnjsp.com等多个linux和JAVA社区转载,历经时间考验,至今未曾发现错误,各位尽可放心使用。

文档在web页面的显示效果不够理想,如果您希望得到本文档的PDF,或有任何意见建议,可邮件至roczhao@msn.com

文档较长分为多篇发布,这是第三篇,以下为正文:
-----------------------------------------------------------------------*/

配置步骤

 

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命令将iptablesipchains两个服务禁用掉,否则会导致telnet和远程登陆等无法使用;

当然,如果您熟悉防火墙设置,可以自行处理。

--------------------------------------------------------------------------------------------

Step 2 X setup

##这一步完成后,重启服务器,然后你就可以使用Extra!X等远程控制软件以图形界面在微软平台上进行服务器配置,这样做的好处是可以同时控制服务器端和客户端,不必奔走在两台机器之间。如果你按照下面的设置不能进行远程控制,那么,很有可能你的防火墙策略不允许这样做,禁用掉iptablesipchains就可以了。

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 mysqldiptablesipchains 服务和其他一些不需要的服务,然后用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命令卸载MySQLApachePHP,建议初学者使用Package管理器,分别查找这三个关键词直到将所有相关的软件包都卸载干净。我们接着会编译安装这些软件。

--------------------------------------------------------------------------------------------

Step 8 MySQL install

1 准备用户

## 注意,这里所说的准备用户,指的是MySQL服务的启动用户,这个用户是Linux系统的用户,并非MySQL用户。需要搞清的是,LinuxMySQL有各自的用户机制,他们都有一个最高权限的用户rootMySQL安装完毕默认只有一个用户,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                                                  //安装

 

0 0

相关博文

我的热门文章

img
取 消
img