Ubuntu deploy local source 16.04 and 18.04

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
 
 
环境

System EditionHostnameIP
Ubuntu18.04repository192.168.16.130
Ubuntu16.04cli16192.168.16.133
Ubuntu18.04cli18192.168.16.134


 

一、Create repository directory

root@repository:~# mkdir /data
root@repository:~# mkdir /data/{18.04,16.04}
root@repository:~# mkdir /data/16.04/{mirror,var,skel}
root@repository:~# mkdir /data/18.04/{mirror,var,skel}

在这里插入图片描述

二:Install and Deploy apt-mirror

1、Install pack

root@repository:~# apt install apt-mirror
root@repository:/etc/apt# cp mirror.list mirror.list.16.04
root@repository:/etc/apt# cp mirror.list mirror.list.18.04
root@repository:/etc/apt# mv mirror.list mirror.list.bak

2、Configure source
PS:每一种架构(amd64/i386)都需要有5行的内容

root@repository:/etc/apt# vim mirror.list.16.04    # configure 16.04
############# config ##################
#
# set base_path    /var/spool/apt-mirror
set base_path    /data/16.04  #设置下载指定路径
set defaltarch amd64          #指定版本
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
root@repository:/etc/apt# vim mirror.list.18.04   # configure 18.04
############# config ##################
#
# set base_path    /var/spool/apt-mirror
set base_path    /data/18.04  #设置下载指定路径
set defaltarch amd64          #指定版本
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

3、编写定时同步源脚本

root@repository:/etc/apt# mkdir /usr/local/script
root@repository:/etc/apt# vim /usr/local/script/apt-mirror.sh
#!/bin/bash

/bin/cp -rf /etc/apt/mirror.list.16.04 /etc/apt/mirror.list && \
/usr/bin/apt-mirror && /bin/sh /data/16.04/var/clean.sh && \
/bin/cp -rf /etc/apt/mirror.list.18.04 /etc/apt/mirror.list && \
/usr/bin/apt-mirror && /bin/sh /data/18.04/var/clean.sh
root@repository:/etc/apt#
root@repository:/etc/apt# chmod +x /usr/local/script/apt-mirror.sh

4、加入定时任务

# update apt source
0 1 * * * /bin/sh /usr/local/script/apt-mirror.sh > /var/log/apt-mirror.log 2>&1 &

三、Install Apache2

root@repository:/etc/apt# apt -y install apache2
root@repository:~# cd /etc/apache2/

Modify default port

root@repository:/etc/apache2# cp ports.conf ports.conf.bak
root@repository:/etc/apache2# vim ports.conf

在这里插入图片描述Modify data directory

root@repository:/etc/apache2# cp apache2.conf apache2.conf.bak
root@repository:/etc/apache2# vim apache2.conf

在这里插入图片描述
Configure virtual host

root@repository:/etc/apache2# vim /etc/apache2/sites-available/000-default.conf

在这里插入图片描述
Add index directory

root@repository:/etc/apache2# vim mods-available/dir.conf
<IfModule mod_dir.c>
        DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm /data
</IfModule>

Hide apache2 edition

root@repository:/etc/apache2# vim conf-enabled/security.conf

在这里插入图片描述

root@repository:/etc/apache2# source /etc/apache2/envvars		# 重新导入环境变量
root@repository:/etc/apache2# systemctl start apache2
root@repository:/etc/apache2# systemctl enable apache2
root@repository:/etc/apache2# ufw enable
root@repository:/etc/apache2# ufw allow 8080/tcp
root@repository:/etc/apache2# netstat -nltup |grep 8080

至此,可以通过ip:8080访问
在这里插入图片描述

四:Download source

Download 16.04 source,18.04操作相同,这里忽略

root@repository:/etc/apt# cp -rf mirror.list.16.04 mirror.list
root@repository:/etc/apt# apt-mirror

在这里插入图片描述
在这里插入图片描述

五:Install nginx

root@repository:~# apt install nginx

PS: 先备份apache2的默认页,否则会使用apache2的默认页

oot@repository:~# mv /var/www/html/index.html /var/www/html/index.html.bak
root@repository:~# systemctl start nginx
root@repository:~# netstat -nltup |grep 80
root@repository:~# curl localhost			# 测试nginx
root@repository:~# cd /etc/nginx/
root@repository:/etc/nginx# vim nginx.conf

server_tokens off;		# 隐藏版本

upstream apt_yum {
            server 192.168.16.130:8080 weight=10 max_fails=120 fail_timeout=1200s;
        }

        server {
            listen 80;
            server_name 192.168.16.130;

            location /ubuntu/16.04/ {
                proxy_pass  http://apt_yum/16.04/mirror/mirrors.aliyun.com/ubuntu/;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
            }

            location /ubuntu/18.04/ {
                proxy_pass  http://apt_yum/18.04/mirror/mirrors.aliyun.com/ubuntu/;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
            }
        }
}

在这里插入图片描述

root@repository:/etc/nginx# systemctl start nginx
root@repository:/etc/nginx# systemctl enable nginx
root@repository:/etc/nginx# ufw delete allow 8080/tcp	# 禁止apache2 8080对外
root@repository:/etc/nginx# ufw allow http
root@repository:/etc/nginx# ufw verbose

 
至此可以通过 http://192.168.16.130/ubuntu/16.04/ 访问
在这里插入图片描述

六:Client update test

1、Ubuntu16.04 test

root@cli16:/etc/apt# cp -a sources.list sources.list.bak
root@cli16:/etc/apt# >sources.list
root@cli16:/etc/apt# vim sources.list
deb [arch=amd64] http://192.168.16.130/ubuntu/16.04 xenial main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/16.04 xenial-security main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/16.04 xenial-updates main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/16.04 xenial-proposed main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/16.04 xenial-backports main restricted universe multiverse
root@cli16:/etc/apt#
root@cli16:/etc/apt# apt update

在这里插入图片描述
2、Ubuntu18.04 test

root@cli18:/etc/apt# cp -a sources.list sources.list.bak
root@cli18:/etc/apt# > sources.list
root@cli18:/etc/apt# vim sources.list
deb [arch=amd64] http://192.168.16.130/ubuntu/18.04 bionic main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/18.04 bionic-updates main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/18.04 bionic-security main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/18.04 bionic-proposed main restricted universe multiverse
deb [arch=amd64] http://192.168.16.130/ubuntu/18.04 bionic-backports main restricted universe multiverse
root@cli18:/etc/apt#
root@cli18:/etc/apt# apt update

在这里插入图片描述
Complete!
 
 
 
 
 
参考链接:https://blog.csdn.net/fanwanli04/article/details/79622726

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值