塘下网站建设公司,东莞网站页设计制作,分析网站统计对网络营销的价值,一个网站的开发周期测试配置yum仓库的http镜像一、基础环境
1、在tvm-base的基础上#xff0c;复制一个镜像为tvm-yum来测试。
2、网络#xff1a;
eth0#xff1a;host-only#xff08;用于虚拟内网#xff0c;手动固定IP#xff0c;这样从宿主机可以直接连接到这个vm#xff09;
eth1复制一个镜像为tvm-yum来测试。
2、网络
eth0host-only用于虚拟内网手动固定IP这样从宿主机可以直接连接到这个vm
eth1NAT用于上外网动态IP
[roottvm-yum ~]# cd /etc/sysconfig/network-scripts/
[roottvm-yum network-scripts]# cat ifcfg-eth0
DEVICEeth0
TYPEEthernet
ONBOOTyes
NM_CONTROLLEDyes
BOOTPROTOnone
IPADDR192.168.56.254
PREFIX24
GATEWAY192.168.56.1[roottvm-yum network-scripts]# cat ifcfg-eth1
DEVICEeth1
TYPEEthernet
ONBOOTyes
NM_CONTROLLEDyes
BOOTPROTOdhcp[roottvm-yum ~]# ip a s dev eth0 |grep globalinet 192.168.56.254/24 brd 192.168.56.255 scope global eth0
[roottvm-yum ~]# ip a s dev eth1 |grep global inet 10.0.3.15/24 brd 10.0.3.255 scope global eth1
[roottvm-yum ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 10.0.3.2 0.0.0.0 UG 0 0 0 eth13、配置这台服务器为ntp和dns服务器涉及
1ntp服务防火墙放行udp 123
使用脚本配置https://github.com/opera443399/ops/blob/master/bin/linux/init_datetime.sh
[roottvm-yum ~]# sh init_datetime.sh s2dnsmasq服务 防火墙放行udp 53
[roottvm-yum ~]# yum -y install dnsmasq
将涉及域名写入hosts文件
[roottvm-yum ~]# cat /etc/hosts |grep -v localhost
127.0.0.1 tvm-yum
192.168.56.254 mirrors.office.test
192.168.56.254 ntp.office.test
192.158.56.252 cobbler.office.test启动服务
[roottvm-yum ~]# service dnsmasq start
增加到开机启动
[roottvm-yum bin]# chkconfig dnsmasq on二、配置web服务
1、防火墙放行80端口
2、配置httpd
若没有禁用selinux则应当这样配置
[roottvm-yum ~]# chcon -Rv --typehttpd_sys_content_t /data/yum/repo/
否则直接禁用selinux[roottvm-yum ~]# yum -y install httpd
调整httpd的配置
[roottvm-yum ~]# cat /etc/httpd/conf/httpd.conf |grep ServerName |grep ^[^#]
ServerName 127.0.0.1虚拟主机
[roottvm-yum ~]# mv /etc/httpd/conf.d/welcome.conf /tmp/
[roottvm-yum ~]# cat /etc/httpd/conf.d/mirrors.office.test.conf
VirtualHost *:80ServerAdmin pcoffice.testServerName mirrors.office.testDocumentRoot /data/yum/repoErrorLog logs/mirrors.office.test-error_logCustomLog logs/mirrors.office.test-access_log commonDirectory /data/yum/repooptions Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all/Directory
/VirtualHost3、启动httpd服务
[roottvm-yum ~]# chown -R apache:apache /data/yum/repo
[roottvm-yum ~]# service httpd start接下来需要
1配置一个local yum 镜像并定时从公网的mirrors同步数据。
注1不需要i386目录此处只用x86_64的版本。
注2不需要isos目录里面存放的是iso文件。
注3不需要ppc64目录里面是powerpc架构的。
2提供local-office.repo文件供客户端用。三、配置目录和脚本制作本地的yum镜像
[roottvm-yum ~]# mkdir -p /data/yum/repo/{centos,epel}/6 /data/download/ /data/ops/bin/
1、从iso文件拷贝内容。本机目前只有CentOS-6.5的版本当然应该用6.6的更佳。
2种方式
1上传iso文件到/data/download/2也可以直接挂载光碟[roottvm-yum ~]# ls /data/download/
CentOS-6.5-x86_64-bin-DVD1.iso CentOS-6.5-x86_64-bin-DVD2.iso[roottvm-yum ~]# mkdir -p /data/yum/repo/centos/6/os/x86_642、同步iso文件中的内容
[roottvm-yum ~]# mount -ro loop /data/download/CentOS-6.5-x86_64-bin-DVD1.iso /mnt
[roottvm-yum ~]# rsync -avHPS /mnt/ /data/yum/repo/centos/6/os/x86_64/
[roottvm-yum ~]# umount /mnt
[roottvm-yum ~]# mount -ro loop /data/download/CentOS-6.5-x86_64-bin-DVD2.iso /mnt
[roottvm-yum ~]# rsync -avHPS /mnt/ /data/yum/repo/centos/6/os/x86_64/
[roottvm-yum ~]# umount /mnt3、测试httpd服务的访问
访问
http://mirrors.office.test/centos抓包信息
[roottvm-yum ~]# curl -o /dev/null -v -I http://mirrors.office.test/centos/
* About to connect() to mirrors.office.test port 80 (#0)
* Trying 192.168.56.254... connected
* Connected to mirrors.office.test (192.168.56.254) port 80 (#0)HEAD /centos/ HTTP/1.1User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2Host: mirrors.office.testAccept: */*HTTP/1.1 200 OKDate: Tue, 14 Jul 2015 02:32:14 GMTServer: Apache/2.2.15 (CentOS)Connection: closeContent-Type: text/html;charsetUTF-8% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Closing connection #0chrome抓包信息
Remote Address:192.168.56.254:80
Request URL:http://mirrors.office.test/centos/
Request Method:GET
Status Code:200 OK
Remote Address:192.168.56.254:80
Request URL:http://mirrors.office.test/centos/
Request Method:GET
Status Code:200 OK4、选一个mirrors通过脚本从mirrors同步。
这里我选择了一个支持rsync协议的镜像
http://mirrors.ustc.edu.cn/centos/可以在搜索引擎搜索“rsync epel 6/x86_64/”这类关键词来找mirros当然这里也有一个centos的列表
http://www.centos.org/download/mirrors/配置脚本同步并放到crontab中定时执行
----------------------------------------
[roottvm-yum bin]# cat repo_update.sh
#!/bin/bash
#
# 2015/7/17f_log/tmp/repo_update_run.logif [ -f /var/lock/subsys/repo_update ]; thenecho [date] 同步任务已经在执行中。 ${f_log}exit 0
fid_centos/data/yum/repo/centos/6
d_epel/data/yum/repo/epel/6
-d ${d_centos} ||mkdir -p ${d_centos}
-d ${d_epel} ||mkdir -p ${d_epel}touch /var/lock/subsys/repo_update### centos ###
echo [date] 开始同步centos ${f_log}
rsync -avzP --delete --delete-excluded --exclude isos --exclude i386 rsync://mirrors.ustc.edu.cn/centos/6/ /data/yum/repo/centos/6/ 2${f_log}
echo [date] 操作结束。 ${f_log}
### epel ###
echo [date] 开始同步epel ${f_log}
rsync -avzP --delete --delete-excluded --exclude i386 --exclude ppc64 rsync://mirrors.ustc.edu.cn/epel/6/ /data/yum/repo/epel/6/ 2${f_log}
echo [date] 操作结束。 ${f_log} rm /var/lock/subsys/repo_update
echo [date] 完成本次任务。 ${f_log} chown -R apache:apache /data/yum/repo----------------------------------------放到crontab中
[roottvm-yum ~]# cat _NTP /var/spool/cron/root
# repo update
0 4 * * * /bin/bash /data/ops/bin/repo_update.sh /tmp/repo.log 21
_NTP先手动执行一次
[roottvm-yum ~]# /bin/bash /data/ops/bin/repo_update.sh /tmp/repo.log 21 5、提供一个office源供自定义的安装包含企业定制rpm包新版本的开源软件的rpm包
[roottvm-yum ~]# yum install createrepo
[roottvm-yum ~]# mkdir -p /data/yum/repo/office/centos/6/x86_64
[roottvm-yum ~]# cd /data/yum/repo/office/6/x86_64
[roottvm-yum x86_64]# wget 还可以一次下载多个rpm包
[roottvm-yum ~]# wget --execute robotsoff -nc -nd -r -l1 -A*.rpm http://download.gluster.org/pub/gluster/glusterfs/3.6/LATEST/CentOS/epel-6/x86_64/ 使用createrepo工具
[roottvm-yum x86_64]# createrepo .
[roottvm-yum ~]# cd -
[roottvm-yum ~]# chown -R apache:apache /data/yum/repo 6、提供local-office.repo文件
现有的目录
[roottvm-yum ~]# tree /data/yum/repo/ -L 3
/data/yum/repo/
├── centos
│ ├── 6
│ │ ├── centosplus
│ │ ├── cloud
│ │ ├── contrib
│ │ ├── cr
│ │ ├── extras
│ │ ├── fasttrack
│ │ ├── os
│ │ ├── SCL
│ │ ├── updates
│ │ └── xen4
│ └── RPM-GPG-KEY-CentOS-6
├── epel
│ ├── 6
│ │ ├── SRPMS
│ │ └── x86_64
│ └── RPM-GPG-KEY-EPEL-6
├── local-office.repo
└── office└── 6└── x86_64制作文件local-office.repo
-----------------------------------
[roottvm-yum ~]# cat /data/yum/repo/local-office.repo
#
# local-office.repo
# 2015/8/6
# 包含Centos-Base, epel, office源。
## ------------------ 包含基础的os里面的rpm包
[base]
nameCentOS-$releasever - Base
baseurlhttp://mirrors.office.test/centos/$releasever/os/$basearch/
gpgcheck1
gpgkeyhttp://mirrors.office.test/centos/RPM-GPG-KEY-CentOS-$releasever#released updates - 包含可以更新的包
[updates]
nameCentOS-$releasever - Updates
baseurlhttp://mirrors.office.test/centos/$releasever/updates/$basearch/
gpgcheck1
gpgkeyhttp://mirrors.office.test/centos/RPM-GPG-KEY-CentOS-$releasever#additional packages that may be useful - 包含额外的包
[extras]
nameCentOS-$releasever - Extras
baseurlhttp://mirrors.office.test/centos/$releasever/extras/$basearch/
gpgcheck1
gpgkeyhttp://mirrors.office.test/centos/RPM-GPG-KEY-CentOS-$releasever#additional packages that extend functionality of existing packages - 包含功能扩展的包
[centosplus]
nameCentOS-$releasever - Plus
baseurlhttp://mirrors.office.test/centos/$releasever/centosplus/$basearch/
gpgcheck1
enabled0
gpgkeyhttp://mirrors.office.test/centos/RPM-GPG-KEY-CentOS-$releasever#contrib - packages by Centos Users - 包含用户贡献的包
[contrib]
nameCentOS-$releasever - Contrib
baseurlhttp://mirrors.office.test/centos/$releasever/contrib/$basearch/
gpgcheck1
enabled0
gpgkeyhttp://mirrors.office.test/centos/RPM-GPG-KEY-CentOS-$releasever# ------------------ epel - 包含额外的包
[epel]
nameExtra Packages for Enterprise Linux 6 - $basearch
baseurlhttp://mirrors.office.test/epel/6/$basearch
failovermethodpriority
enabled1
gpgcheck1
gpgkeyhttp://mirrors.office.test/epel/RPM-GPG-KEY-EPEL-$releasever[epel-debuginfo]
nameExtra Packages for Enterprise Linux 6 - $basearch - Debug
baseurlhttp://mirrors.office.test/epel/6/$basearch/debug
failovermethodpriority
enabled0
gpgkeyhttp://mirrors.office.test/epel/RPM-GPG-KEY-EPEL-$releasever
gpgcheck1[epel-source]
nameExtra Packages for Enterprise Linux 6 - $basearch - Source
baseurlhttp://mirrors.office.test/epel/6/SRPMS
failovermethodpriority
enabled0
gpgkeyhttp://mirrors.office.test/epel/RPM-GPG-KEY-EPEL-$releasever
gpgcheck1# ------------------ office - 包含企业定制rpm包新版本的开源软件的rpm包
[office]
nameenterprise office repo
baseurlhttp://mirrors.office.test/office/$releasever/$basearch/
gpgcheck0
enabled1-----------------------------------注意
/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 这个key一开始是不存在的这里由http服务来提供在repo文件中指向到对应的URL
gpgkeyhttp://mirrors.office.test/epel/RPM-GPG-KEY-EPEL-$releaseverGPG-KEY在这里
[roottvm-yum ~]# cp /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 /data/yum/repo/centos/
[roottvm-yum ~]# cp /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 /data/yum/repo/epel/
默认安装centos后已经有了RPM-GPG-KEY-CentOS-6RPM-GPG-KEY-EPEL-6可以通过安装公网的epel源来获取
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm当然了我们应该移除现有的repo文件仅使用上面提供的自己的repo配置即可
【在本地】
[roottvm-yum ~]# mv /etc/yum.repos.d/*.repo /tmp/
[roottvm-yum ~]# cp /data/yum/repo/local-office.repo /etc/yum.repos.d/local-office.repo
【在客户端】
[roottvm-rpm ~]# mv /etc/yum.repos.d/*.repo /tmp/ \wget http://mirrors.office.test/local-office.repo -O /etc/yum.repos.d/local-office.repo \yum clean all \yum makecache四、等mirros同步完成后开始测试
1、本机测试
先清除缓存
[roottvm-yum ~]# yum clean all
Loaded plugins: fastestmirror, security
Cleaning repos: base extras updates
Cleaning up Everything
Cleaning up list of fastest mirrors试着更新下系统
[roottvm-yum ~]# yum update
略
(369/369): yum-utils-1.1.30-30.el6.noarch.rpm | 110 kB 00:00
-----------------------------------------------------------------------------------------------------
Total 16 MB/s | 430 MB 00:26
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
略yum.noarch 0:3.2.29-60.el6.centos yum-plugin-fastestmirror.noarch 0:1.1.30-30.el6 yum-plugin-security.noarch 0:1.1.30-30.el6 yum-utils.noarch 0:1.1.30-30.el6 Replaced:libsss_autofs.x86_64 0:1.9.2-129.el6 Complete!
[roottvm-yum ~]#
[roottvm-yum ~]# cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m2、瞧已经升级到6.6的版本建议reboot一下先。
reboot前先将httpd服务加入开机启动。
[roottvm-yum centos]# chkconfig httpd on
[roottvm-yum centos]# chkconfig --list |grep httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off用update升级系统后在/etc/yum.repos.d/里面更新了CentOS相关的repo文件因此在重启后可以考虑移除
[roottvm-yum ~]# mv -f CentOS-* /etc/yum.repos.d/ /tmp/五、客户端使用local-office.repo文件
[roottvm-rpm ~]# yum update
符合预期。
[roottvm-rpm ~]# yum install nginx
[roottvm-test conf.d]# nginx -v
nginx version: nginx/1.8.0
符合预期。ZYXW、参考
1、Creating a local repo (Mirror) with CentOS 6.2
http://darktraining.com/93/2、Creating Local Mirrors for Updates or Installs
https://wiki.centos.org/HowTos/CreateLocalMirror3、List of CentOS Mirrors
http://www.centos.org/download/mirrors/4、How To Set Up and Use Yum Repositories on a CentOS 6 VPS
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-use-yum-repositories-on-a-centos-6-vps 转载于:https://blog.51cto.com/nosmoking/1674831