分享
 
 
 

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

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

/*------------------------------------------------------------------------

写在前面:

我看到很多网友的提问都跟服务器配置有关,搭建一个可靠而又安全的应用开发服务器是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命令将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 //安装

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有