linux系统的安装(redhat7.2)+jsp环境+mysql+安全设置

发表于:2007-07-04来源:作者:点击数: 标签:
11 Linux RedHat7.2安装 RedHatLinux7.2的安装光盘共有两张:第一张可以直接从光盘启动,包含了大部分的软件包和一些安装工具;第二张光盘除了附加的软件包外,主要是源码、预览版软件等。 RedHatLinux7.2的安装界面非常友好,左面有即时详尽的帮助信息,右

1 1 Linux Red Hat 7.2 安装
Red Hat Linux 7.2的安装光盘共有两张:第一张可以直接从光盘启动,包含了大部分的软件包和一些安装工具;第二张光盘除了附加的软件包外,主要是源码、预览版软件等。
Red Hat Linux 7.2的安装界面非常友好,左面有即时详尽的帮助信息,右面是选项,完全支持鼠标操作。
将Red Hat Linux 7.2第一张安装盘放入光驱,计算机从CD-ROM自启动后,会出现简洁的欢迎安装信息。(详细安装说明请参阅安装盘附带的《RedHat 7.2 使用指南》。
1.1 安装模式选择
敲回车键,安装模式有:默认、“text”、“expert”、“Linux rescue”、“Linux dd”五种选项。
本例中敲回车键,按默认图形界面安装模式进行安装。
1.2 语言选择
选择安装过程中所用的语言。列表中共给出了18种语言,选择“English”。<Next>
1.3 键盘配置
一般选择默认配置方式。<Next>
1.4鼠标配置
一般选择默认配置方式。<Next>,进入red hat Linux 系统安装界面,<Next>
1.5安装方式选择
安装方式有两大类:Install和Upgrade。前者包含下面三种选择:WorkStation、Server System、Custom System。后者则是升级程序,使用RPM,可以把硬盘原有的旧版本的Linux软件替换掉。
    WorkStation----工作站安装方式。工作站类型安装将会清除掉所有硬盘上原有的所有Linux分区信息。
Server System----服务器类型安装将会清除掉硬盘上所有分区的一切信息。
Custom System----定制类型的安装。用户在安装过程中可进行自由的配置。
本例中选择Custom System安装方式。<Next>
1.6 分区方式选择
分区有两种方式,Disk Druid和fdisk。建议使用图形界面的Disk Druid,即默认方式,简单易用。<Next>
1.7 建立硬盘分区
安装Red Hat Linux至少需要两个硬盘分区:一个或多个“Linux native”类型的分区;一个“Linux swap”类型的分区。
使用Add按钮首先创建根分区“/”,分区类型为Linux native,系统文件类型为ext3,占整个硬盘容量的35%;
使用Add创建交换分区,“/swap“,分区类型为Linux swap一般为内存的两倍;
使用Add创建“/home“,分区类型为Linux native,系统文件类型为ext3,占整个硬盘容量的25%。
使用Add创建“/var“,分区类型为Linux native,系统文件类型为ext3,占剩余硬盘容量。
1.8 选择分区格式化
按默认选择方式,<Next>
1.9 配置LILO
安装LILO,可以选择安装在主引导记录(MBR)或者是Linux分区的第一扇区。选择默认安装。<Next>
1.10 网络配置
网络配置就是基本的TCP/IP配置。你将要输入服务器的IP地址以及子网掩码、默认网关、主名称服务器等。比如IP Address:192.168.29.8 Netmask :255.255.255.0 这些内容也可安装完毕以后进入系统再进行配置。<Next>
1.11 时区选择
右上边有张世界地图,鼠标箭头往上一放,程序自动选择最近的地区时区。
选择“Asia/Shanghai” 时区。<Next>
1.12 帐号配置
输入超级用户root的口令,口令是非常重要的屏障,最好使用大小写字母混合数字的口令形式。也可以在这里Add按钮建立一个普通用户的账号(gameserver)和口令(gamepassword)。
1.13 选择授权配置
选择默认方式。<Next>
1.14 选择软件包
选择所要安装的软件包。如果你的Linux主分区很大,则可以选择全部安装。
作为网络服务器,应选择Web Server、Development、Chinese Tools BJLC、Utilities Anonymous FTP Server等软件包。
本例中不配置X Window软件包、打印机服务软件包。只需要选者以下包:
Network Support
Anomymous FTP Server
Utilities
Software Development
Kernel Development
1.15 未解决的依赖关系
选择默认方式。<Next>
1.16 准备安装
<Next>
1.17 启动软盘
制作启动软盘,插入一张格式化后的空白软盘,点<Next>就可以了。
不乐意也跳过去。接下来就会祝贺安装完毕,<Exit>重新启动系统。

创建用户lujingyu,将安装程序拷贝到该用户目录下。
[root]useradd lujingyu
[root]passwd lujingyu

原文转自:http://www.ltesting.net

 tianci3982730 回复于:2004-08-03 09:19:52
MySQL 安装
2.1 安装MySQL_3.23.41
以root 身份登录系统,从Linux RedHat 7.2第二张安装盘安装。
[root] mount /dev/cdrom /mnt/cdrom
  [root] cd /mnt/cdrom/ReHat/RPMS
  [root] rpm -i mysql*
  [root] cd /
  [root] umount /dev/cdrom

  根据内存大小选择mysql运行配置文件my.cnf
内存大小配置文件
mem>=1Gmy-huge.cnf
512k<men<1Glarge.cnf
256k<men<=512medium.cnf
Mem<=256kmy-small.cnf

[root] cp /usr/share/mysql/my- ?.cnf /etc/my.cnf

修改/etc/hosts文件
[root] vi /etc/hosts
 127.0.0.1 localhost localhost
 本机ip   本机名称

修改mysql启动,使每次启动先修复数据库
[root] vi /usr/bin/safe_mysqld
214行 删除#号即可

2.2 初始化mysql
启动mysql
  [root] /etc/rc.d/init.d/mysqld start

设置管理员帐户(root)口令tomtom
  [root] /usr/bin/mysqladmin  -u  root  password  tomtom
关闭mysql
[root] /etc/rc.d/init.d/mysqld stop

如果关闭失败,修改文件/etc/rc.d/init.d/mysqld中stop()函数
/bin/kill `cat /var/run/mysqld/mysqld.pid  2> /dev/null `处
用正确的/var/lib/mysql/本机名称.pid文件替换/var/run/mysqld/mysqld.pid即可。
2.3 数据库安装
  安装数据库
  [root] mysql -u root -ptomtom</home/lujingyu/db_tables.sql
3 apache安装
版本号1.3.24
安装包名 apache_1.3.24.tar.gz
[root] cd /usr/local
[root] cp /home/lujingyu/ apache_1.3.24.tar.gz ./
[root] tar -zvxf apache_1.3.24.tar.gz
[root] cd  apache_1.3.24
[root] ./configure --prefix=/usr/local/apache --enable-module=all
[root] make
[root] make install
4 RESIN安装
4.1安装J2sdk
版本号1_2_2_008
安装包名 jdk-1_2_2_008-linux-i386.tar.gz
[root] cd /usr/local
[root] cp /home/lujingyu/jdk-1_2_2_008-linux-i386.tar.gz ./
[root] tar -zvxf jdk-1_2_2_008-linux-i386.tar.gz
[root] mv jdk1.2.2 jdk
4.2修改环境变量
[root] vi /etc/profile 
在24行添加 
PATH=/usr/local/jdk/bin:$PATH
在42行添加 
JAVA_HOME=/usr/local/jdk
RESIN_HOME=/usr/local/resin1.1.6
CLASSPATH=/usr/local/jdk/lib/tools.jar:/usr/local/jdk/lib/dt.jar:/usr/local/resin1.1.6/lib/resin.jar:/usr/local/resin1.1.6/lib/jsdk22.jar:/usr/local/resin1.1.6/lib/mm.mysql-2.0.4-bin.jar:/usr/local/local/resin1.1.6/lib/jdk12.jar
export JAVA_HOME
export RESIN_HOME
export CLASSPATH
4.3安装resin
版本号1.1.6 
安装包名resin-1.1.6.tar.gz
[root] cp /home/lujingyu/resin-1.1.6.tar.gz ./
[root] tar -zvxf resin-1.1.6.tar.gz
[root] ./configure --with-apache=/usr/local/apache
[root] make
[root] make install

配置Resin的数据库连接池、http端口
  [root] cd /usr/local/resin1.1.6/conf/
  [root] vi resin.conf
  修改33行-38行
<dbpool.sql id="test"
   driver="org.gjt.mm.mysql.Driver"
   url="jdbc:mysql://localhost(数据库服务器IP,本机就是localhost)  :3306/tomtom_db(数据库名称)"
   user="tomtom"(用户名)
   password="tomtom"(密码)
   max-connections=20/>(最大连接数)
  修改http端口(59行)
  <httpd-port>80(端口)</httpd-port>
修改session的设置
  <session-max>4096</session-max>
  <session-timeout>30</session-timeout>

[root]cd  /usr/local/apache/
[root] vi httpd.conf
修改283行为
DocumentRoot "/usr/local/resin1.1.6/doc"
修改308行为
<Directory "/usr/local/resin1.1.6/doc">
修改362行为
<IfModule mod_dir.c>
    DirectoryIndex index.htm bbsall.jsp login.jsp
</IfModule>

 tianci3982730 回复于:2004-08-03 09:20:43
6 安全设置
6.1 关闭一些服务
  [root] /usr/sbin/ntsysv
只需启动以下服务:
network
Sshd
Syslog
xinetd
6.2 删除一些用户
[root] userdel username
adm
lp
sync
shutdown
halt
news
uucp
operator
games
gopher
rpc
6.3删除一些不必要的组
[root] groupdel adm
lp
news
uucp
games
dip
popusers
slipusers
rpc
rpcuser
6.4保护以下文件
[root] chattr +i /etc/passwd 
[root] chattr +i /etc/shadow 
[root] chattr +i /etc/group 
[root] chattr +i /etc/gshadow
[root] chattr +i /etc/services
6.5防止任何人都可以用su命令成为root
[root] vi /etc/pam.d/su
删除第6行的#号
auth       required     /lib/security/pam_wheel.so use_uid
赋予lujingyu 用户有su命令权限
[root] /usr/sbin/usermod -g wheel lujingyu
6.6限制历史命令个数
[root] vi /etc/profile
HISTSIZE=20
6.7TCP_WRAPPERS
[root] vi /etc/hosts.deny
添加all:all
[root]vi /etc/hosts.allow
添加
sshd:221.7.128.123
6.8“/etc/host.conf”文件
[root] vi /etc/host.conf
添加
nospoof on
6.9使TCP SYN Cookie保护生效
[root] echo 1 > /proc/sys/net/ipv4/tcp_syncookies
将该命令添加到/etc/rc.d/rc.local中
[root] vi /etc/rc.d/rc.local
6.10使ping失效
[root] echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
将该命令添加到/etc/rc.d/rc.local中
[root] vi /etc/rc.d/rc.local
6.11修改sshd配置文件
[root]vi /etc/ssh/sshd_config
PermitRootLogin no

 tianci3982730 回复于:2004-08-03 09:33:32
/sbin/chkconfig --level 0123456 ipchains off
/sbin/service ipchains stop
/sbin/rmmod ipchains
/sbin/chkconfig --level 235 iptables on
/sbin/service iptables start
#防止同步包洪水(Sync Flood)
  iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT 
#防止各种端口扫描 
 iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 
#Ping洪水攻击(Ping of Death) 
 iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

 飘2228 回复于:2004-08-03 09:46:26
不错,特别适合于我们这些新手,辛苦了,期待其它服务的配置教程。

 tianci3982730 回复于:2004-08-04 11:34:32
打算再写proftpd+收费电影网站全过程
但如何下笔。。诶
考虑中。。。。。。。

 netzh 回复于:2004-08-04 12:09:20
不错,很适合新手,不过这样的配置真正用起来应该会有不少问题

 tianci3982730 回复于:2004-08-04 12:59:18
一直处于应用状态,未发现任何问题。这么安装几十台服务器了

 netzh 回复于:2004-08-04 13:19:25
强啊7.2盘上自带的mysql漏洞很多哈,内核也没有打过补丁,在局域网内使用应该还是没有问题的

 tianci3982730 回复于:2004-08-04 14:12:20
忘说了。 mysql已经补了
测试了缓冲漏洞。不过是基于本地用户的。打不打补丁没什么必要
不过安全第一建议该打的打。因为服务器上不提供其他用户使用,应该很安全吧。

 tianci3982730 回复于:2004-08-04 14:13:16
最新的应用是在redhat9当然mysql,apache,resin都是最新的

 netzh 回复于:2004-08-04 14:31:46
:mrgreen: 
是我多嘴了 :em07:

 tianci3982730 回复于:2004-08-04 14:36:24
楼上其实说的很对。在安全方面是该多讨论学习的
目前正在研究网络安全,有机会请指教

 eagerlinuxer 回复于:2004-08-04 14:42:50
问一下楼主:iptables设置那段是不是最后少了一条DENY的规则?还有我个人认为把这些设在INPUT链上好象更好,你这服务器不是用来转发数据包的吧?

 wuwei7716 回复于:2004-08-04 14:46:04
不设就等於DENY

 tianci3982730 回复于:2004-08-04 14:46:48
说的不错。上面贴的并非我的防火墙
防火墙最后都该是drop的
我上面的后面
#防止同步包洪水(Sync Flood) 
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT 
#防止各种端口扫描 
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 
#Ping洪水攻击(Ping of Death) 
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
是个列子。还需要自己更改成自己习惯的。

 tianci3982730 回复于:2004-08-04 14:51:35
更多的防火墙设置请研究iptables
这里不在多说
如果有需要。再写iptables教程好了
不过觉得精华里面有很多这样帖子。再讨论就有些多于了
我做防火墙的目的是为了
#防止同步包洪水(Sync Flood)
#防止各种端口扫描 
#Ping洪水攻击(Ping of Death) 
等攻击。对于禁止哪些端口和ip,哪些服务都没涉及到。请见谅

 zjl5352 回复于:2004-08-06 10:26:46
谢谢楼主的教导.......

请问有没有Redhat上安装oricle 8i的步骤说明啊。....

本人急需..\\

感激!!!!!!!!!!!!!!!!!

 tianci3982730 回复于:2004-08-06 11:55:44
到精华里找找。实在找不到。哪天把我写的发给你

 batonzhang 回复于:2004-08-06 12:44:40
恩,不错,这个我喜欢。我是新手,来顶哈。。。。。