群晖搭建CentOS yum内网镜像仓库,通过web station开启http访问文件功能
安装群晖,安装web station
准备CentOS镜像包
群晖控制台,套件中心安装web station
安装完成后,系统会自动创建一个web目录,里面的内容可以清空掉,换成自己的HTML页面
再创建一个目录,用于存放镜像源,然后再将准备好的镜像源上传到该目录
配置web station
现在还不能访问,需要进行Nginx配置,
开启群晖ssh,使用admin登陆到群晖终端shell,再使用sudo su - 切换到root,密码为admin密码
查看镜像目录,复制路径
进入Nginx目录,编辑配置文件
cd /etc/nginx/app.d/
vim server.webstation-vhost.conf
在尾部中括号内加入
location ^~ /mirrors {
alias /volume1/mirrors;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
alias 后面跟的就是web station的根目录
autoindex on; 允许列出目录功能
autoindex_exact_size off; 默认为on,显示出文件的确切大小,单位是bytes,改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on; 默认为off,显示的文件时间为GMT时间,改为on后,显示的文件时间为文件的服务器时间
配置完成后,:wq! 保存退出,执行nginx -s reload 重载
然后就可以通过浏览器访问到文件了,不要忘了加端口号和location后面的路径
centos7客户端配置
1、创建备份目录
mkdir /opt/yum_bak
2、备份
mv /etc/yum.repos.d/* /opt/yum_bak/
3、新建repo文件
vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - 192.0.0.10
failovermethod=priority
baseurl=http://192.0.0.10:81/mirrors/centos/$releasever/base/
enable=1
gpgcheck=0
#released updates
[updates]
name=CentOS-$releasever - Updates - 192.0.0.10
failovermethod=priority
baseurl=http://192.0.0.10:81/mirrors/centos/$releasever/updates/
enable=1
gpgcheck=0
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 192.0.0.10
failovermethod=priority
baseurl=http://192.0.0.10:81/mirrors/centos/$releasever/extras/
enable=1
gpgcheck=0
#additional packages that may be useful
[epel]
name=CentOS-$releasever - Epel - 192.0.0.10
failovermethod=priority
baseurl=http://192.0.0.10:81/mirrors/centos/$releasever/epel/
enable=1
gpgcheck=0
或者也可以将repo文件存放在镜像仓库中,直接将repo文件复制过来
curl -o /etc/yum.repos.d/CentOS-Base.repo http://192.0.0.10:81/mirrors/centos/7/repo/CentOS-Base.repo
4、运行 yum makecache 生成缓存
yum makecache
5、运行 yum repolist 查看已经生成缓存
yum repolist
CentOS8与CentOS7配置一样,只需要修改一下路径即可。可以通过该方法,集成更多Linux版本的内网镜像源。
镜像包是之前在Linux中通过rsync从阿里云同步到本地之后,再拷贝过来的,群晖支持rsync的,我们还可以写一个脚本,定期自动从公网镜像站同步。
web目录我们可以做一个前端页面 (这里借鉴了国内某镜像站的style):
html文档,有兴趣的可以自己修改: