您的位置:首页 > 运维架构 > 网站架构

公司网站,邮件,服务器搭建项目练习

2014-06-30 08:04 381 查看
项目案例: Tarena公司要求实现公司网站,邮箱,文件服务器的运营,并保证安全可靠,方便管理。项目分析:为
实现要求我们首先要购买域名tarena.com。然后配置一台DNS和WEB服务器,因为这是公司的主要业务,要求可靠性高,所以我们应该建立备用的服
务器,以防万一。同时还需要搭建邮件,和文件服务器,现公司给我们提供四台Dell R710服务器。四台服务器的规化如下服务器规划:
主机名域名
IP
服务
web01www.Tarena.com
192.168.1.20主HTTP
web02www.Tarena.com
192.168.1.30从HTTP从DNS
DNS01dns01.Tarena.com
192.168.1.10主DNSNTP服务
mail01mail.Tarena.com
192.168.1.40MailFTPNFS
web01与web02的网站访问目录实时同步,解决访问量和速度的问题,每天1点和13点会将web01服务器的网站内容分别同步到mail01服务器上分别保存进行备份,web02服务器做为丛HTTP服务器同时也担任从DNS服务器,防止特殊情况。DNS01做为主DNS服务器,同时付责时间的校对与更新。Mail01做为 mail邮件服务器,同时也是文件服务器,并备份WEB服务器的备份工作以防止恶意攻击,误删文件造成的损失(搭建RAID5,防止硬盘损坏)。项目要点保证服务器时间同步,安全可靠,互为冗余,互为备份,所有服务器重启进入服务器级别,服务自启动,禁止直接ssh root!帐号的安全管理,邮箱阻止拉圾邮件,允许使用WEBMail.拓扑图

安装系统、分区规划系统:redhat 5.10 分区规划:web1-2.tarena.com/dns01.tarena.com 使用300G硬盘
分区大小挂载点
/dev/sda1200M/boot
/dev/sda2200G/
/dev/sda38192Mswap
/dev/sda5/dev/vg_data/lv_data6G/data
mail01.tarena.com 使用2T硬盘
分区大小挂载点
/dev/sda1200M/boot
/dev/sda2200G/
/dev/sda38192Mswap
/dev/sda5剩余可用空间/data
账户规划:

账户UIDGID宿主目录
yw1801800/home/yw1
yw2802800/home/yw2
yw3803800/home/yw3
yw4804800/home/yw4
web900900/home/web
admin901900/home/admin
dev902900/home/dev
所用到技术HTTP. 提供公司网站服务DNS 为整个项目提供dns解析,Mail 提供mail 服务,允许公司人员通过web收发邮件vsftp 提供yum源以及公共资源下载,提供上传权限,允许运维人员将更新网站nfs 提供公共区域共享,作为web服务器的网站根目录ssh 远程连接配置服务器NTP 作为时间服务器,为整个网络主机同步时间Cron规划:每天早上7:00自动同步ntp server的时间 每天备份web服务器的网站,备份文件名webdb-yyyymmdd.tgzrsync 同步文件,文件的更新和备份实验思路1、安装系统,设置网络参数(ip/route/hostname/dns/hosts)2、mail01.tarena.com上安装vsftpd,拷贝RedHat ios文件到指定目录,提供yum源服务和repo文件3、分别修改web01-web02 mail01 /etc/inittab 默认进入服务器级别3,屏蔽三键重启关机,4、搭建DNS,NTP,FTP,WEB,MAIL等服务实验步骤:一.安装系统a,光盘引导页面直接回车开始安装,b,skip跳过光盘检验


c,下一步--选择中文--下一步--英语键盘--下一步--跳过注册--自定义分区--下一步--按规划分区--下一步--下一步--选择时区--下一步--输入密码--下一步--现在定制安装包--下一步--选择需要的安装包--下一步,

开始安装同样安装其它三台服务器二,服务器的基本配置 ,设置IP地址,计算机名,DNS,开机启动模式,禁用CTRL-ALT-DELETE重启,禁止root登陆SSHa.) 配置计算机名
[root@mail01 slaves]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=mail01.tarena.com //计算机名
HOSTNAM[root@mail01 slaves]# cat /etc/hosts //本地解析文件
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1

localhost.localdomain localhost
::1

localhost6.localdomain6 localhost6
192.168.1.10 mail01.tarena.com mail01 //本机IP和域名
b.) 配置网卡IP,掩码,网关
[root@mail01 slaves]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.10 //IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.1.1 //网关
PEERDNS=no
ONBOOT=yes 开启网卡
HWADDR=52:54:00:55:ed:a3
b.) 配置DNS
[root@mail01 slaves]# cat /etc/resolv.conf //DNS文件
; generated by /sbin/dhclient-script
nameserver 192.168.1.252 //DNS服务器
search tarena.com
重启网络服务
[root@mail01 slaves]# service network restart //重启网络服务
正在关闭接口 eth0: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth0: [确定]

c.) 配置启动项,关闭CTRL-ALT-DELETE重启
[root@mail01 ~]# vim /etc/inittab //编辑开机启动文件
...
18 id:3:initdefault: //开机进入模式3
...
31 # Trap CTRL-ALT-DELETE
32 #ca::ctrlaltdel:/sbin/shutdown -t3 -r now //关闭三键重启

e.) 禁止ROOT登陆SSH
[root@mail01 ~]# vim /etc/ssh/sshc_config
...
39 PermitRootLogin no //禁止root登陆SSH
同样配置其它三台服务器的计算机名,IP,DNS三,配置YUM库YUM库配置在文件服务器mail上,为本机和其它服务器提供YUM源。 a.) 在mail01.tarena.com上拷贝RedHat ios文件到指定目录,为其提供yum源
[root@mail01 ~]# cp -rf /misc/cd/* /date/redhat5.10
b.) 配置repo文件,测试YUM
[root@mail01 ~]# cat /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-do]
name=Red Ha
baseurl=file:///data/redhat5.10/Server //YUM源地址
enabled=1 //启动开关
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
c.) 安装vsftpd,
[root@mail01 ~]# yum -y install vsftpd
...
12 anonymous_enable=NO //关闭匿名访问
...
119 chroot_local_user=YES //禁锢在共享目录中
120 local_root=/data //共享目录
121
:set nu
[root@mail01 etc]# chmod 1777 /data //设置权限
d.) 配置其它三台服务器的repo配置文件,测试YUM
[root@web01 ~]# cat /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-do]
name=Red Hat
baseurl=ftp://192.168.11.248/redhat5.10/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releas
测试
[root@mail01 ~]#yum clean all //清空YUM记录
[root@mail01 ~]#yum list //查看YUM

四.配置DNS 服务器
DNS01dns01.Tarena.com
192.168.1.10主DNSNTP服务
a.)安装DNS服务包,bind,bind-chroot,caching-nameserver
[root@dns01 ~]yum -y install bind bind-chroot caching-nameserver
配置DNS文件
[root@dns01 ~]# vim /var/named/chroot/etc/named.conf
:set nu
...
15 listen-on port 53 { any; }; //监控端口
...
27 allow-query { any; };
28 allow-query-cache { any; };
...
37 match-clients { any; };
38 match-destinations { any; };
[root@dns01 ~]# vim /var/named/chroot/etc/named.rfc1912.zones
...
50 zone "tarena.com" IN {
51 type master;
52 file "tarena.com.zone"; //域名解析库文件
53 allow-update { 192.168.1.10; }; //允许.12更新
54 };
:set nu

[root@dns01 ~]# vim /var/named/chroot/var/named/tarena.com.zone
1 $TTL 86400
2 @ IN SOA localhost. root.localhost. (
3 2014062701 ; Serial
4 28800 ; Refresh
5 14400 ; Retry
6 3600000 ; Expire
7 86400 ) ; Minimum
8 IN NS localhost. //本机为DNS服务器
9 IN MX 5 mail01.tarena.com. // 定义Mail服务器
10 IN NS web02.tarena.com. //定义从DNS服务器
11 dns01 IN A 192.168.1.10 //dns01解析为.252
12 web02 IN A 192.168.1.30
13 mail01 IN A 192.168.1.40
14 mail IN A 192.168.1.40
15 www IN A 192.168.1.20
16 www IN A 192.168.1.20
17 @ IN A 192.168.1.10
18 * IN A 192.168.1.10
...
:set nu
b.)安装NTP服务包,ntpNTP是时间服务器,可提供其它计算机进行同步更新时间,便每台计算机的时间相同,不会因为系统长时间运行而产生偏差。客户端也同样需要安装NTP服务。1、安装NTP,
[root@dns01 ~]# yum -y install ntp
2、修改主配置文件,默认是拒绝所有用户同步的,加入一条允许192.168.1.0网段可以同步
[root@dns01 ~]# vim /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
//禁止所有地址同步时间,修改,查看
restrict -6 default kod nomodify notrap nopeer noquery
//禁止IPV6所有地址同步时间,修改,查看
restrict 192.168.1.0 mask 255.255.255.0 nomodify
//加入允许192.168.1.0网段同步时间

3、启动服务
[root@dns01 ~]# service ntpd restart
[root@dns01 ~]# chkconfig ntpd on

4、验证客户与服务器同步 ntpdate 192.168.1.10 5.自动更新,加入计划任务。
[root@web01 ~]# crontab -e
0 10 * * * /sbin/ntpdate 192.168.1.10
0 10 * * * /sbin/hwclock --systohc
[root@web01 ~]# service crond restart
[root@web01 ~]# chkconfig crond on

ntpstat 显示NTP服务器的相关壮态ntq 启动标准的NTP查询ntpdate 指定立即进行更新的服务器 注:ntpdate手动更新与ntp服务自动更新不能同时使用五.安装Mail服务
mail01mail.Tarena.com
192.168.1.40MailFTPNFS
a.)安装Mail发件服务,postfix, 1.。postfix的端口是25,有可能会被sendmail占用,这时我们需要先关闭sendmail服务,可以先查看一下,如果没有可跳过
[root@mail01 ~]# netstat -tulnp | grep :25 //查看25端口
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4079/sendmail
[root@mail01 ~]# service sendmail stop //关闭服务
[root@mail01 ~]# chkconfig sendmail off
[root@mail01 ~]# yum -y install postfix
[root@mail01 ~]# chkconfig --add postfix
[root@mail01 ~]# chkconfig --list postfix
postfix 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
2、修改主配置文件postfix的主配置文件内容很多,我们可以使用postconf -n命令导出非默认的设置,用此文件来替换原配置文件,这样配置文件就从600多行变成30多行了,方便我们查看更改。保留原文件做为备份
[root@mail01 ~]# cd /etc/postfix/
[root@mail01 postfix]# postconf -n > tmp.txt
[root@mail01 postfix]# mv main.cf main.cf.bak
[root@mail01 postfix]# mv tmp.txt main.cf
[root@mail01 postfix]# vim main.cf
...
8 #inet_interfaces = localhost //监听端口
20 myhostnasme = mail.tarena.com //邮件服务器主机名
21 mydomain = tarena.com //邮件服务器所在区域
22 myorigin = $mydomain //发件人DNS后缀
23 mydestination = $mydomain //指定Postfix允许处理的邮件
24 home_mailbox = Maildir/ //邮箱类型
25 mynetworks = 192.168.11.0/24 //设置允许哪些客户端直接将需要转发到外部区域的邮件提交给Postfix
3、检查语法启动服务
[root@mail01 postfix]# postfix check
[root@mail01 postfix]# postfix reload
[root@mail01 postfix]# netstat -tulnp | grep :25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 6015/master
b.)收件服务dovecot1、安装dovecot
dovecot默认配置就可以使用,安装完后启动服务,就可以使用了
[root@mail01 ~]# yum -y install dovecot
2、配置主配置文件
[root@mail01 ~]# vim /etc/dovecot.conf
...
205 mail_location = maildir:~/Maildir //设置邮箱路径
3、启动服务
[root@mail01 ~]# service dovecot restart
[root@mail01 ~]# chkconfig dovecot on
[root@mail01 ~]# netstat -tulnp | grep dovecot
tcp 0 0 :::110 :::* LISTEN 16835/dovecot
tcp 0 0 :::143 :::* LISTEN 16835/dovecot
c.)安装认证SMTP认证控制1、启动saslauthd服务
[root@mail01 ~]# rpm -q cyrus-sasl
cyrus-sasl-2.1.22-7.el5_8.1
[root@mail01 ~]# cat /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
[root@mail01 ~]# service saslauthd start
[root@mail01 ~]# chkconfig saslauthd on
[root@mail01 ~]# testsaslauthd -u yw1 -p 123456 -s smtp
//检查saslauthd服务
0: OK "Success."
2、调整postfix配置,启用认证
[root@mail01 ~]# vim /etc/postfix/main.cf
...
25 mynetworks = 127.0.0.1 //设置本地网络
26 smtpd_sasl_auth_enable = yes //启用SASL认证
27 smtpd_sasl_security_options = noanonymous //阻止匿名发信
28 smtpd_recipient_restrictions = //设置收件人过滤
29 permit_mynetworks, //允许来自mynetworks的客户
30 permit_sasl_authenticated, //允许已通过sasl认证的用户
31 reject_unauth_destination //拒绝向未授权的目标
d.)安装WEBMail1、安装squirrelmail
[root@mail01 ~]# yum -y install squirrelmail
2、配置squirrelmail
[root@mail01 ~]# vim /etc/squirrelmail/config.php
...
26 $squirrelmail_default_language = 'zh_CN';
28 $domain = 'tarena.com';
29 $imapServerAddress = '192.168.1.10';
32 $smtpServerAddress = '192.168.1.10';
3、启动httpd服务
[root@mail01 ~]# service httpd restart
[root@mail01 ~]# chkconfig httpd on
测试:http://mail.tarena.com/webmaild.) 安装nfs
[root@mail01 ~]# mkdir -p /data/webbak01
[root@mail01 ~]# mkdir /data/webbak02
[root@mail01 ~]# yum -y install nfs-utils portmap
[root@mail01 ~]# vim /etc/exports
/date/webbak01 192.168.1.20(rw,no_root_squash)
/date/webbak02 192.168.1.30(rw,no_root_squash)

f.) 自动更新,加入计划任务。
[root@mail01 ~]# crontab -e
0 10 * * * /sbin/ntpdate 192.168.1.40
0 10 * * * /sbin/hwclock --systohc
[root@mail01 ~]# service crond restart
[root@mail01 ~]# chkconfig crond on

注:FTP服务在配置YUM的时候已经配置好了六.配置WEB服务器
web01www.Tarena.com
192.168.1.20主HTTP
a.)安装httpd网站服务
[root@web01 ~]# yum -y install httpd
[root@web01 ~]# service httpd restart
停止 httpd: [失败]
启动 httpd: [确定]

启动服务后导入你的网站,下面以一个文件代替
[root@web01 ~]# echo www.tarena.com>/var/www/html/index.html
[root@web01 ~]# chkconfig httpd on

b.)挂载WEB02的网站目录,设置同步
[root@web01 ~]# vim /etc/fstab
...
192.168.1.20:/var/www/html /web02 nfs defaults 0 0
编写同步触发脚本
[root@web01 ~]# vim in_rsync.sh
#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,create,move,delete /var/www/html | while read DIR EVENT FILE
do
/usr/bin/rsync -aHvz --delete /var/www/html/ /web02
done
后台运行
[root@web01 ~]#sh in_rsync.sh&
c.)自动更新,加入计划任务。
[root@web01 ~]# crontab -e
0 10 * * * /sbin/ntpdate 192.168.10.252
0 10 * * * /sbin/hwclock –systohc
00 1 * * * /sbin/rsync –avz --delete \
/var/www/html/ 192.168.11.248:/data/webbak01
00 13 * * * /sbin/rsync -avz --delete \ /var/www/html/ 192.168.11.248:/data/webbak02 [root@web01 ~]# service crond restart
[root@web01 ~]# chkconfig crond on
七.配置从WEB和丛DNS服务器
web02www.Tarena.com
192.168.1.30从HTTP从DNS
a.)安装从httpd网站服务
[root@web02 ~]# yum -y install httpd //yum安装网站服务
[root@web02 ~]# service httpd restart
停止 httpd: [失败]
启动 httpd: [确定]
启动服务后导入你的网站,下面以一个文件代替
[root@web02 ~]# chkconfig httpd on
b.)安装从DNS服务1.安装DNS服务包,bind,bind-chroot,caching-nameserver
[root@web02 ~]yum -y install bind bind-chroot caching-nameserver
2.配置DNS文件
[root@web02 ~]# vim /var/named/chroot/etc/named.conf
:set nu //显示行号
...
15 listen-on port 53 { any; };
...
27 allow-query { any; };
28 allow-query-cache { any; };
...
37 match-clients { any; };
38 match-destinations { any; };
[root@web02 ~]# vim /var/named/chroot/etc/named.rfc1912.zones
50 zone "tarena.com" IN {
51 type slave;
52 file "slaves/tarena.com.zone";
53 masters { 192.168.1.10; };
54 };
[root@web02 ~]# service named restart
停止 named: [确定]
启动 named: [确定]
[root@web02 ~]# chkconfig named on
c.)安装nfs
[root@mail01 ~]# vim /etc/exports //开机自动挂载
/var/www/html 192.168.1.11(rw,no_root_squash)
d.)自动更新,加入计划任务。
[root@web02 ~]# crontab –e //编辑计划任务
0 10 * * * /sbin/ntpdate 192.168.10.40
0 10 * * * /sbin/hwclock –systohc
30 8 * * * /bin/tar zcfpP /data/web-$(date +\%Y\%m\%d).tgz /var/www/html
[root@web02 ~]# service crond restart
[root@web02 ~]# chkconfig crond on
实验总结, 通过这个实验,我较之前更系统的了解到服务器的一些更细致的搭建和简单应用,实验过程中通过搭建主从DNS,邮件服务器以及建立共享机制和计划任务来简单实现日常化文件管理。通过此次项目练习,再次熟悉了网络环境的搭建,虽然期间出现一些命令敲错报出的一些DNS无法正常启动,pxe自动安装失败等原因,通过最后的努力排错,总算顺利完成实验。 实验报错:1.DNS配置,语法检测正常,但是启动失败,报错code42以及无法识别的错误2.环境安装中,找不到引导文件无法自动安装等等 排错思路:针对DNS: 首先检测语法有无错误, 报错42和找不到文件 无法识别tarena.com,经验告诉我们是数据库文件中的某个格式书写错误,敲错一些无法识别的单词进入,比方说在TTL下方一些默认选项中域名写错位置等等 大体地路,首先检测配置文件,逐一语法检测,最后根据提示检测文件的权限。 环境安装找不到pxelinux.0这个引导文件: 首先检查一下拷贝的路径是否正确 ,是否在/usr/share/syscongfig/iso..下找到的,没有的话再重新拷贝一些,同时要检测一下syslinux这个包是否安装成功,等等 此次实验的问题: 通过此次实验暴露了自己的一些问题,敲命令不够细心,实验没能顺利做出,容易给自己找各种接口;其次对一些服务器的搭建,配置文件不够熟悉了解导致速度较慢,还有待进一步的提高和改进。 本次实验只是一些简单的服务器,其中对邮件服务器的 一些管理和一些权限问题本次实验并无更多的设计,后续联系还要继续深入学习和体验才行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网站 基础练习