home-server
操作系统版本:Slackware 12.2
1 硬件
配置1块网卡,映射到/dev/vmnet2。
2 安装基础系统
只安装a/目录下的软件包,全部安装。
配置lilo,安装在MBR中。
3 安装基本网络包
从光盘安装:
# mount /dev/cdrom /mnt # cd /mnt/slackware/n # installpkg iputils-s20070202-i486-2.tgz # installpkg net-tools-1.60-i486-2.tgz # installpkg network-scripts-12.2-noarch-4.tgz
4 配置网络
执行netconfig配置网络:
# netconfig
5 配置软件源
这里使用slackpkg工具来进行后续的软件包管理。
首先安装slackpkg和依赖的软件:
# mount /dev/cdrom /mnt # cd /mnt/slackware/ap # installpkg slackpkg-2.70.5-noarch-1.tgz # installpkg diffutils-2.8.1-i486-3.tgz # cd ../n # installpkg gnupg-1.4.9-i486-1.tgz # installpkg gnupg2-2.0.9-i486-1.tgz # installpkg wget-1.11.4-i486-1.tgz
编辑/etc/slackpkg/mirrors,添加本地镜像:
ftp://10.10.20.199/pub/slackware/slackware-12.2/
初始化:
# slackpkg update # slackpkg update gpg
修补当前系统:
# slackpkg upgrade-all
6 切换为generic内核
制作initrd:
# cd /boot # mkinitrd -c -k 2.6.27.7-smp -m ext3:scsi_transport_spi:mptbase:mptscsih:mptspi
编辑/etc/lilo.conf,添加启动项:
image = /boot/vmlinuz-generic-smp-2.6.27.7-smp initrd = /boot/initrd.gz root = /dev/sda1 label = Generic read-only
运行lilo,使之生效:
# /sbin/lilo
重启系统。
7 安装库文件
# slackpkg install zlib # slackpkg install libcap # slackpkg install apr(包括apr和apr-util)
8 安装其他需要的网络软件
# slackpkg install iptables # slackpkg install tcpdump # slackpkg install openssl # slackpkg install openssh # slackpkg install mailx # slackpkg install bind # slackpkg install netkit-ftp # slackpkg install lftp
9 安装网络服务器
# slackpkg install vsftpd # slackpkg install httpd # slackpkg install inetd # slackpkg install tcp_wrappers # slackpkg install openldap-client # slackpkg install cyrus-sasl
10 防火墙配置
有关各个iptables脚本的详细内容见:Iptables脚本。
这里使用服务器脚本,从本地服务器获得rc.iptables-server.ref、rc.ip6tables.ref和rc.S.ref。执行:
# cp rc.iptables-server.ref /etc/rc.d/rc.iptables # cp rc.ip6tables.ref /etc/rc.d/rc.ip6tables # cd /etc/rc.d # chmod +x rc.iptables # chmod +x rc.ip6tables
修改/etc/rc.d/rc.S文件,把rc.S.ref模板内容粘贴到rc.S的末尾。
修改/etc/rc.d/rc.iptables脚本,去掉相关注释,使得:
- 提供服务:ping、ssh。
11 设置内核参数
有关脚本的详细内容见:Sysctl脚本。
从本地服务器获得rc.sysctl.ref和rc.M.ref。执行:
# cp rc.sysctl.ref /etc/rc.d/rc.sysctl # cd /etc/rc.d # chmod +x rc.sysctl
编辑/etc/rc.d/rc.M,把rc.M.ref模板内容粘贴到rc.inet2的前面。
12 配置httpd
启动apache:
# chmod a+x /etc/rc.d/rc.httpd
启用mod_ssl,编辑/etc/httpd/httpd.conf,取消如下注释:
LoadModule ssl_module lib/httpd/modules/mod_ssl.so include /etc/httpd/extra/httpd-ssl.conf
生成测试用的证书:
# cd /etc/httpd/ # openssl req -new -x509 -nodes -out server.crt -keyout server.key
这样的证书只能用于测试。关于证书的更详细介绍可参考:Slackware 12.2[附录 A]。
修改/etc/rc.d/rc.iptables脚本,去掉相关注释,使得:
- 提供服务:http(s)。
13 配置vsftpd
编辑/etc/inetd.conf, 打开vsftp,同时关闭其他打开的服务。
修改/etc/rc.d/rc.iptables脚本,去掉相关注释,使得:
- 提供服务:ftp。