redhatAD2.1架站全攻略——菜鸟专用
点击次数:19 次 发布日期:2008-11-29 19:30:31 作者:源代码网
|
菜鸟专用,高手免看!本人是一只linux菜鸟,在架设网站的过程中吃了不少苦头,在众多大虾和老鸟的帮助下,菜鸟终于跌跌撞撞的把自己的网站建成了,呵呵!往事不堪回首,为了帮助众多的菜鸟(像我一样)在架站的过程中少走弯路,现将我的架站笔记献上,里面包含了众多老鸟和大虾的心血,在此衷心的表示感谢!本文的配置过程基于字符界面,如果使用图形界面,建议安装webmin。第一次写此类文章,错误难免,望各位兄弟批评指正! 系统功能: 实现网络资源共享(samba),web服务,代理服务器(squid),dns,dhcp,ftp,webmail以及磁盘配额(quota)和数据库mysql服务等常规网络服务。 硬件环境: 浪潮英信服务器2台,配置如下:至强1G双CPU,512M内存,108G SCSI硬盘,1000M双网卡。 软件环境: redhat advanced server 2.1操作系统 网络环境: 服务器A提供web,dns.dhcp,samba,squid等服务 机器名称: redhat.test.com
机器ip地址: 10.10.1.1 61.133.126.115 服务器B提供ftp,webmail,mysql等服务 机器名称: mail.test.com 机器ip地址: 10.10.1.2 61.133.126.116 局域网所用网段: 10.10.1.1-10.10.2.200 局域网子网掩码: 255.255.0.0 局域网所用域名: test.com 外部DNS服务器: 61.133.122.164 本文结构: 1.1 安装redhat advanced server 2.1 1.2 samba (网络共享资源) 1.3 apache (web服务) 1.4 squid (代理服务器) 1.5 dns (域名解析) 1.6 dhcp (自动分配ip地址) 1.7 wu_ftp (ftp服务) 1.8 webmail (web电子邮件服务) 1.9 quota (磁盘配额) 1.10 mysql postgresql (数据库服务) 1.1 安装redhat advanced server 2.1 请把redhat AD2.1的第一张安装光盘放入光驱,修改BIOS设置从光驱启动! *选择图形安装方式(如果显卡不支持,你只能从文字模式安装) *安装过程使用English,没有中文可选,不过还不算太糟糕,英文提示都比较简单,一眼就能看懂! *设置键盘:一般取默认值即可,除非你的键盘很特殊,设置完毕可以在下面的测试窗口进行测试。 *设置鼠标:一般选择三键鼠标即可,当然你也可以选上“模拟三键鼠标”。 *选择安装模式:既然是服务器,那就选“advanced server”好了,你也可以选择“custom”。 *硬盘分区:我们选择“manually partition with disk druid”进行手动分区,指定交换分区(swap)一般为内存容量的2倍(作为服务器使用可以酌情增大容量),指定根分区,如果你的硬盘容量足够大,可以单独为/home和/var分区,这样做可以提高数据的安全性。 *安装启动管理程序:如果以前安装过别的操作系统,可以做成双启动,让grub进驻MBR。 *设置grub密码:一般不用。 *设置网络环境:填写主机名、IP地址、子网掩码、网关和DNS服务器。 *默认语言:这里可以选择简体中文了,如果你的E文足够好,那就默认英文好了。 *设置时区:一般不用。 *设置账号和密码:建议填写一个足够复杂的管理员密码,否则系统危矣! *设置认证加密配置:若无特殊要求,一般采用默认值。 *选择桌面管理器:有Gnome和KDE可供选择,一般选择Gnome *设置显卡:根据自己的实际情况设置显卡 *安装:在安装过程中需要插入第二张安装盘,所耗费的时间与你的机器配置有关。 *设置图形环境:你可以选择开机进入图形模式还是文字模式,同时可以测试x-windows图形模式。 *制作启动软盘:建议制作一张启动软盘,以备不时之需!也可以跳过以后制作! *重新启动系统,怎么样?成功运行了吧! 1.2 samba服务器的安装配置 一般情况下,在安装系统的时候samba服务器就已经自动安装了,我们所要做的就是根据自己的需要进行合理配置。假设我们的服务器的名称是redhat,所在的工作组是server,想要实现的功能是在服务器上创建income和share两个文件夹,其中用户root和test都可以在income文件夹内读取和写入文件,share文件夹内root用户能写入test用户只能读取,这里samba的安全级别是用户级别(为什么不用share共享级别呢?这是最简单的共享方式,如果你只想给别人共享自己的文件,不想让他们写入的话,这是一个好主意,否则您的共享文件夹可能会成为病毒集中营,不过想要实现更灵活的权限设置的话,我劝您还是采用user用户级别,大不了把test账号公布给大家使用了)ok!let"s go!!! 建立共享文件夹income和share cd /home mkdir income mkdir share 设置文件夹的权限 chmod 777 /home/income #(任何人都可以读取和写入) chmod 755 /home/share #(root可以写入其他人可读取)
修改samba配置文件smb.conf cd /etc/samba vi smb.conf 你需要修改的地方主要有: workgroup = server #工作组 netbios name = redhat #服务器名称 security = user #安全级别(默认) encrypt passwords = yes #使用加密的用户密码(默认) 在配置的文件的最后加入以下内容 [income] comment = everyone"s folder path = /home/income valid users = root,test #如果去掉这一行那么所有的系统用户都可以访问 public = yes writable = yes [share] comment = root"s folder path = /home/share valid users = root,test public = yes writable=yes 添加系统用户test useradd test #添加用户 passwd test #修改密码 设置samba密码文件: cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd chmod 500 /etc/samba chmod 600 /etc/samba/smbpasswd 设置用户root和test的samba密码: smbpasswd root smbpasswd test 最后测试一下samba的配置文件smb.conf是否合法 testparm #如果出现loaded services file OK,就可以了 最后重新启动samba服务 /etc/rc.d/init.d/smb restart 好了,现在你就可以在其他的机器上用网上邻居登录redhat查看共享目录。 注意:如果你的操作系统是nt/2000/xp会出现输入用户名和密码的对话框,如果是95/98/me,那你只好新建一个和linux账号相同的用户然后用它登录才能使用共享资源。 最后奉送两个samba服务器常用的命令: smbclient #查看服务器共享的目录 smbstatus #列出服务器资源被使用的情况 1.3 web服务器的配置 redhat advanced server2.1中的web服务配置非常简单,因为大部分配置工作系统已经替你做好了,默认情况下就支持php和cgi,当然如果你想使它支持asp的话可能还需要做更多工作,asp不用也罢!还是自由的php更让我倾心,如果你实在想修改apache配置文件的话,那就修改一下默认主页的名称吧!呵呵!高手不要扁我!谁让我们是菜鸟呢? cd /etc/httpd/conf vi httpd.conf :/index.html 找到index.html后修改为default.htm,存盘退出。 如果你还想开通个人主页空间的话,那也非常简单,随我来!假设用户cat想开通主页空间,我们可以这样做: useradd cat #建立新用户 passwd cat #修改密码 mkdir /home/cat/public_html #建立用户家目录中的网页目录,所有网页内容必须放在里面 chmod 755 /home/cat/public_html #设置网页目录的权限,其他人可以访问 chown cat.cat /home/cat/public_html #将public_html目录的所有人和组改为cat chmod 711 /home/cat #开放用户家目录权限,其他人可以进入 然后我们就可以使用http://服务器ip或者域名/~cat/ 访问cat的个人主页了,注意默认主页已经改为default.htm,如果你看着cat前面的小尾巴不顺眼,呵呵!和我一样!干掉它!你只需要在httpd.conf配置文件里面加上一句:Alias /cat /home/cat/public_html ,现在这样试一下http://服务器ip或者域名/cat/ ,是不是成功了!不过用户多的话,也够你输入一阵子的。 1.4 squid代理服务器
redhat AD2.1默认状态下已经安装了squid代理服务器,我们只需要修改配置文件中的几个地方就可以让它踏踏实实地为我们工作了,呵呵!等不及了吧!随我来! vi /etc/squid/squid.conf …… http_prot 8888 #代理服务器端口号8888,默认3128 cache_mem 200M #设置代理服务使用的内存大小,一般推荐为物理内存的三分之一。 cache_dir /var/spool/squid/cache 2000 16 256 #设置缓存目录和缓存最大值 cache_access_log /var/log/squid/access.log #设置缓存存储记录文件名称和目录,如不需要设为none reference_age 1 month #设置缓存中的数据可以保存一个月 acl flag src /DownloadFilesa2003-09-1010.8.0.0 #根据需要自己加上,定义从10.8.*.*访问代理的连接为flag http_access allow flag http_access deny all #设置除了10.8.*.*可以访问代理以外其它一概拒绝 maximum_object_size 6M #指定Squid可以接收的最大对象的大小为6M …… 重新启动Squid /etc/rc.d/init.d/squid restart 在局域网内的任何一台工作站上打开IE浏览器,然后选择“工具”-“internet选项”-“连接”-“局域网设置”中使用代理服务器,地址:10.10.1.1 端口:8888 确定后看一下是不是能够通过服务器上网了(首先要保证你的服务器能够上网),如果你的代理服务器要代理局域网内所有机器上网,那你就要考虑一下代理服务器的安全问题,感兴趣的的话可以参考一下防火墙的设置! 1.5 DNS服务器的配置 默认状态下DNS服务器(bind)是没有安装的,我们需要手动安装,把redhat AD2.1的第二张光盘放进光驱: mount /mnt/cdrom cd /mnt/cdrom/RedHat/RPMS rpm -ivh bind-9.1.3-5.i386.rpm 稍待片刻,bind就安装完成了。 OK!现在把我们要实现的目标说一下,我们准备把本服务器配制成一台局域网内的DNS服务器,负责解析局域网内的域名XXX.test.com,无法解析的域名转发给外部DNS(61.133.122.164)进行解析,这样局域网内的客户机只需要使用内部DNS即可浏览所有网站(包括局域网内的网站)。 需要修改的配置文件: /etc/named.conf /etc/resolv.conf /var/named/test.com.hosts /var/named/10.10.rev 首先修改/etc/resolv.conf vi /etc/resolv.conf …… domain test.com #域名 nameserver 10.10.1.1 #名称服务器 …… 然后修改/etc/named.conf,如果没有的话,就自己建一个。 vi /etc/named.conf …… options { directory "/var/named"; #DNS目录 pid-file "/var/run/named/named.pid"; #PID文件路径 forwarders { 61.133.122.164; #转发的外部DNS服务器地址 }; }; zone "test.com" { #正向解析区域 type master; #主区域 file "/var/named/test.com.hosts"; #正向解析区域的配置文件 }; zone "10.10.in-addr.arpa" { #反向解析区域 type master; #主区域 file "/var/named/10.10.rev" #反向解析区域的配置文件 }; …… 修改/var/named/test.com.hosts正向解析区域的配置文件 vi /var/named/test.com.hosts
…… $ttl 38400 test.com IN SOA redhat.test.com. webmaster.mail.test.com. ( #服务器名称和管理员信箱 1056588054 10800 3600 604800 38400 ) test.com. IN NS redhat.test.com www.test.com. IN A 10.10.1.1 #正向解析A纪录 mail.test.com. IN A 10.10.1.2 ftp.test.com. IN A 10.10.1.2 mail.test.com. IN MX 10 10.10.1.2 #邮件服务器MX纪录 …… 修改/var/named/10.10.rev反向解析区域的配置文件 vi /var/named/10.10.rev …… $ttl 38400 10.10.in-addr.arpa. IN SOA redhat.test.com. webmaster.mail.test.com ( 1056591689 10800 3600 604800 38400 ) 10.10.in-addr.arpa. IN NS redhat.test.com 1.1.10.10.in-addr.arpa. IN PTR www.test.com 2.1.10.10.in-addr.arpa. IN PTR mail.test.com 2.1.10.10.in-addr.arpa. IN PTR ftp.test.com …… 怎么样?简单吧!重新启动dns服务 /etc/rc.d/init.d/named restart 然后在任何一台客户机上把dns服务器设置为10.10.1.1,测试一下本地域名和外部域名是否能够正常解析,如果能够正常上网,那就说明没有问题了。 1.6 DHCP服务器的配置 默认情况下dhcp服务并没有安装,我们需要手动安装一下,把第二张系统安装盘放入光驱,然后: mount /mnt/cdrom cd /mnt/cdrom/RedHat/RPMS rpm -ivh dhcp-2.0pl5-8.i386.rpm 稍待片刻,就可以安装成功了。 修改dhcp服务的配置文件 Vi /etc/dhcpd.conf …… subnet 10.10.0.0 netmask 255.255.0.0{ range dynamic-bootp 10.10.1.1 10.10.2.200; #IP地址分配范围 option routers 10.10.1.1; #默认网关 option subnet-mask 255.255.0.0; #默认子网掩码 option domain-name "test.com"; #默认域名 option domain-name-servers 10.10.1.1,61.133.122.164; #dns服务器 default-lease-time 21600; #默认租赁时间 max-lease-time 43200; #最大租赁时间 } …… 在DNS服务器设置中,之所以把10.10.1.1放在前面是想让客户机在作域名解析的时候优先选择内部dns服务器,若域名不能解析,则用下一个dns服务器解析,如果你的dns服务器可以转发的话,那么只需要内部dns即可正常工作。 注意: 如果你的服务器是双网卡的话,可能还需要稍微调整一下dhcpd.conf配置,在配置文件的最后加上一句: …… subnet 61.133.126.115 netmask 255.255.255.248{ } #这里是不需要进行dhcp服务的网卡地址和子网掩码 …… 最后重新启动服务: /etc/rc.d/init.d/dhcpd start 如果你还想看一下ip地址的租赁情况,打开/var/lib/dhcp/dhcpd.leases文件看看就知道了。 1.7 配置FTP服务器 redhat AD2.1默认安装没有ftp服务器,但是它的第二张安装盘中带有wu_ftp的rpm安装包,wu_ftp是linux系统中最常用的ftp服务器软件,但是由于wu_ftp存在许多问题,而且也不是很安全,所以在这里我们不选择wu_ftp而使用功能更为强大的、安全性更高的proftp,你可以从网上下载它的最新的源码包进行编译安装,当然你也可以下载专为我们菜鸟准备的rpm安装包,以下我们就以下载的proftpd-1.2.8-1.i386.rpm为例进行安装配置,罗嗦了这么多,赶快开始吧!!
安装proftp rpm -ivh proftp-1.2.8-1.i386.rpm 稍待片刻,安装完毕! cp /usr/sbin/proftpd /etc/rc.d/init.d #复制执行文件 cp /usr/share/doc/proftp-1.2.8/sample-configurations/basic.conf /etc/proftpd.conf #复制proftp的配置文件 创建匿名ftp用户的主目录 mkdir /var/ftp #创建匿名用户主目录 cd /var/ftp mkdir share #创建共享文件夹 mkdir upload #创建上传文件夹 chown ftp.ftp upload #将upload目录的所有权赋予ftp用户和组 chmod 700 upload #除用户ftp之外其他人没有任何权限 OK!现在我们开始配置proftp cd /etc vi proftpd.conf …… # This is a basic ProFTPD configuration file (rename it to # "proftpd.conf" for actual use. It establishes a single server # and a single anonymous login. It assumes that you have a user/group # "nobody" and "ftp" for normal operation and anon. ServerName "天枫FTP资源站" #ftp站点名称 ServerType standalone #运行方式,除此之外还有xinetd和inetd方式 DefaultServer on #预设服务 RequireValidShell off #匿名访问需要 PassivePorts 20000 30000 #被动模式端口段 UseReverseDNS off #加快连接速度 TimeoutLogin 30 #身份验证超时 TimeoutIdle 120 #无活动超时 TimeoutNoTransfer 300 #无数据传输超时 # Port 21 is the standard FTP port. Port 21 #ftp服务端口 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 #掩码,默认安全级别 源代码网供稿. |
