准备工作:获取下列信息:交换分区的大小;IP地址,掩码,网关;boot loader 口令,root 口令;
1. 分区: /boot: 100M
Swap: 假设RAM 为 m G, IF m =1 THEN swap = 2G ELSE swap = mG END
/: 2G
/usr: 6G
/var: 2G
/home 2G
/tmp 2G
/opt: 所有剩余空间
2. 设置 boot loader password: 参考《XX LINUX主机安全规范》
3. 配置静态IP, Gateway, DNS Server, hostname
4. 防火墙:No Firewall; Enable SELinux? Active
5. 语言:English(USA), Chinese(P.R. of China)
6. 时区:Asia/Shanghai
7. root 口令:参考《XX LINUX主机安全规范》;
8. 软件包: X Window System, GNOME Desktop Environment;
Editors;
Text Internet;
Development Tools, X Software Development, Legacy Software Development
Administration Tools, System Tools(net-snmp-utils, sysstat)
1. 初始配置
RedHat Login:选择Tell my why…
Why Register?:选择 …. Remind me later.
System User:不建立任何系统用户.
2.配置内核启动参数:位置:/boot/group/grub.conf 的 kernel 行
DB服务器:elevator=deadline
WEB 服务器:elevator=as
服务器有很好的RAID卡:elevator=noop
其它情况:使用RHEL4的默认配置(elevator=cfq)
3. 建立并进入/opt/software目录,从sftp [email protected]:/software 下载host.tar.gz包, 解压, 进入host目录
4.配置默认运行级别:3
5.配置时间同步:a. 每天5:10 AM跟时间服务器172.16.0.60作一次同步
b. 该配置在“配置cron”部分完成
6.配置/etc/hosts 文件: a. 配置:#install config/hosts /etc/hosts
b. 验证:#cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
<loghost IP> loghost.xx.com loghost
<software IP> software.xx.com software
<backcenter IP> backcenter.xx.com backcenter
7.配置内核参数:a. 配置:#install config/sysctl.conf /etc/sysctl.conf; sysctl -p
b. 验证:#sysctl –p
net.ipv4.ip_forward = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 0
net.ipv4.tcp_max_syn_backlog = 1280
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.ip_local_port_range = 32768 61000
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.ctrl-alt-del = 1
8. 配置系统日志:a.. 系统日志集中存放到主机loghost上; 本地保存4周的日志备份
b. 配置:运行脚本script/config_log.sh
c. 验证: #cat /etc/syslog.conf
*.=emerg *
*.=emerg /var/log/emergent.log
*.=crit;kern.none /var/log/critical.log
kern.* /var/log/kernel.log
authpriv.* /var/log/secure.log
mail.* /var/log/mail.log
cron.* /var/log/cron.log
local7.* /var/log/boot.log
*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info @loghost
#cat /etc/logrotate.d/syslog
/var/log/emergent.log /var/log/critical.log /var/log/kernel.log /
/var/log/secure.log /var/log/mail.log /var/log/cron.log /
/var/log/boot.log /var/log/messages {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
9. 脚本:1). 目录结构:/opt/script/prod: 存放经过严格测试的(在使用中的)脚本
/opt/script/test: 编写,测试脚本的地方
/opt/script/temp: 存放脚本的临时文件的地方
/opt/script/data: 存放脚本的永久性数据的地方
2). 基准脚本:backup.sh 备份脚本
monitor_ cpu_mem.sh 监控单个系统进程对CPU和内存使用情况的脚本
app_log_dealwith.sh 处理应用程序日志的脚本
3). 运行脚本 script/config_script.sh
10. 应用程序:1). 原则:a. 所有应用程序都装到/opt目录下
b. 在/opt下建立目录software,存放需要安装的软件,并在此目录下安装软件
2). JAVA: a. JAVA_HOME= /opt/java/jdk/jdk
b. 建立符合连接/opt/java/jdk/jdk,指向/opt/java/jdk/jdk-<version>
c. 运行脚本: script/install_jdk.sh 完成本步骤的安装
3). MySQL: a. MYSQL_HOME= /opt/mysql
b. 数据文件目录:/opt/mysql/data
c. 日志文件目录:/opt/mysql/log
d. 配置文件:将定制的配置文件config/my.conf 拷贝到/etc/下
e. 用户:mysql
f. 编译选项: --prefix=/opt/mysql
--sysconfdir=/etc
--localstatedir=/opt/mysql/data
--with-mysqld-user=mysql
--enable-largefile
--with-extra-charsets=gbk
g. 启动选项:skip-innodb=1
log-bin=/opt/mysql/log/mysql-bin
log-bin-index=/opt/mysql/log/mysql-bin.index
log=/opt/mysql/log/access.log
log-error=/opt/mysql/log/error.log
pid-file=/opt/mysql/log/mysql.pid
h. 自动启动脚本:使用MySQL自带的脚本mysql.server,将其拷贝
为/etc/init.d/mysql
i. 运行脚本 script/install_mysql.sh完成MySQL的安装配置
4). Apache::a. APACHE_HOME=/opt/apache2
b. 数据, 日志和配置文件目录:默认位置
c. 模块:authn-basic authn-default authn-file authz-default authz-host
authz-groupfile authz-user access dir env http log-config mime
setenvif status cache disk-cache expires file-cache
headers logio mem-cache mime-magic rewrite so
worker
(httpd –l 可以验证安装了那些模块)
d. MPM模式:worker
e. 配置文件:将定制的配置文件config/httpd.conf拷贝到/opt/apache2/conf/ 下, 如果需要作修改,在该文件的相应位置修改。
f. 自动启动脚本:将定制的脚本script/apache.sh 拷贝为/etc/init.d/apache
g. 运行脚本 script/install_apache.sh完成Apache的安装配置
5). resin: a. RESIN_HOME= /opt/resin
b. 数据, 日志和配置文件目录:默认位置
c. 编译选项:--enable-jni --enable-linux-smp –with-apxs=/opt/apache2/bin/apxs
e. 启动选项:
f. 配置文件:将定制的配置文件config/resin.conf 拷贝到/opt/resin/conf/下, 如果需要作修改,在该文件的相应位置修改。
g. 自动启动脚本:将定制脚本script/resin.sh 拷贝为/etc/init.d/resin
h. 运行脚本 script/install_resin.sh完成Resin的安装配置
6). JAVA 应用程序:a. 安装点:/opt/java_app
b. 将每个应用程序放到/opt/java_app目录下的以该应用程序名称命名的目录下
7). 配置环境变量:a. 将JAVA_HOME, MYSQL_HOME, RESIN_HOME, APACHE_HOME 加入/etc/profile
b. 将$JAVA_HOME/bin, $MYSQL_HOME/bin, $RESIN_HOME/bin,
$APACHE_HOME/bin 加入/etc/profile
c. 运行定制的脚本script/config_env.sh完成配置
8. 备份:a. 工具:rsync
b. 方法:incremental
c. 备份源:/opt目录下除backup目录和不需要备份的java 应用程序日志目录外的所有目录
d. 目的地:backcenter.xx.com上的目录 /backup/<本机的外部IP>; 本地的/opt/backup/下
e. 时间:每天的凌晨5点10分(需要根据备份中心的设定作相应调整)
f. 运行脚本script/config_backup.sh完成备份配置;
9. 配置cron:a. 内容:备份; 时间同步; 进程, DISK, CPU, MEM监控; 应用程序日志处理
b. 运行脚本 script/config_cron.sh 完成cron 配置
10. 配置安全:1). 关闭除以下服务外的所有服务: syslog, network, sshd, crond, mysql, resin, apache
2). 修改sshd默认的端口(65522)
3). 防火墙:使用定制的脚本script/my_iptables.sh, 将其拷贝为/etc/init.d/my_iptables,
拷贝config/my_iptables.conf 拷贝到/etc/rc.d/下,并根据应用的需要作相应
修改,然后执行chkconfig my_iptables on
4). 运行脚本script/config_security.sh 完成安全配置;
建议:用kickstart 方式安装
补充一个:
Redhat kickstart 安装光盘制作介绍通过kickstart 制作redhat linux自动安装光盘的过程和步骤
使用环境pc server +redhat linux
步骤:
1)将安装ISO文件挂接在一台Linux服务器上(制作自动安装光盘的服务器):
mount -o loop /tmp/rhel-5-u1-i386-es-disc1.iso /iso1
mount -o loop /tmp/rhel-5-u1-i386-es-disc2.iso /iso2
mount -o loop /tmp/rhel-5-u1-i386-es-disc3.iso /iso3
mount -o loop /tmp/rhel-5-u1-i386-es-disc4.iso /iso4
2)建立将生成新ISO文件的目录:
mkdir /iso
4) 3)复制文件
rsync -rv /iso[1-4]/* /iso
mv /iso/isolinux/initrd.img /iso/isolinux/initrd-rhel5u1-i386.img
mv /iso/isolinux/vmlinuz /iso/isolinux/vmlinuz-rhel5u1-i386.img
4)配置修改自动安装文件
1>cd /iso
修改.discinfo文件:
cp /iso1/.discinfo /iso
vi .discinfo文件:
/.diskinfo在文件中第三行应该是1.把它改成1,2,3,4
2>编辑文件 isolinux.cfg
修vi /tmp/iso/isolinux/isolinux.cfg
改修改自动启动选项制定ks.cfg位置:
KERNEL vmlinuz-rhel5u1-i386
APPEND ks=cdrom: /ks.cfg initrd=initrd-rhel5u1-i386.img
3>编辑 ks.cfg文件,并把ks.cfg文件拷贝到/iso目录下
4) 创建新的安装盘:
ct cd /tmp/linuxiso
mkisofs -J -R -v -T -V "RHEL_ES5u1 Build" -o ../ks.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -input-charset iso8859-1 ./
5)ISO文件刻录
将您所建立的映像文件ks.iso 用烧录软件以「Burn Image」烧录映像文件的方式制作成光盘