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
2 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>=1G my-huge.cnf
512k<men<1G large.cnf
256k<men<=512 medium.cnf
Mem<=256k my-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>
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.7 TCP_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
/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