热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntudeploylocalsource16.04and18.04

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

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


























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

文章导航

  • 一、Create repository directory
  • 二:Install and Deploy apt-mirror
  • 三、Install Apache2
  • 四:Install nginx
  • 五:Download source
  • 六:Client update test

 


一、Create repository directory

root@repository:~# mkdir /data
root@repository:~# mkdir -p /data/{18.04,16.04}
root@repository:~# mkdir -p /data/16.04/{mirror,var,skel}
root@repository:~# mkdir -p /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访问
在这里插入图片描述


四:Install nginx

root@repository:~# apt install 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/ 访问
在这里插入图片描述


五: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

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


六: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


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 在尝试通过自定义端口部署Spring Cloud Eureka时遇到了连接失败的问题。本文详细描述了问题的现象,并提供了有效的解决方案,以帮助遇到类似情况的开发者。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • Tomcat SSL 配置指南
    本文详细介绍了如何在 Tomcat 中配置 SSL,以确保 Web 应用的安全性。通过正确的配置,可以启用 HTTPS 协议并保护数据传输的安全。 ... [详细]
  • 本文介绍了蓝牙低功耗(BLE)中的通用属性配置文件(GATT),包括其角色、层次结构、属性、特性和服务等内容。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • DNS服务一、概述1.全称:Domainnamesystem(域名系统)2.作用:1)正向解析: ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
author-avatar
佳蓁政睿9
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有