赞
踩
由于公司新增生产车间,而生产车间距离公司总部很远,且要求不能使用外网,因此有了一个搭建私有apt服务器的需求,将生产所需软件安装包全部放在apt服务器上。
所以我在自己电脑上利用虚拟机现行尝试了一下,并记录过程。
首先会在virtualbox上安装UbuntuServer,然后在UbuntuServer上利用Nginx搭建apt服务器。
1.虚拟硬盘文件格式:VDI、VHD和VMDK
2. 网络模式:NAT模式(Network Address Translation)和桥接模式(Bridge mode)
NAT模式是一种网络模式,其中虚拟机的网络流量被路由器或虚拟网络设备转发和转换,虚拟机的网络流量会被转换为宿主机的IP地址,然后再通过宿主机的网络接口进行网络通信。通常用于在虚拟化环境中创建私有网络,使虚拟机可以访问外部网络,同时隐藏虚拟机的真实IP地址。
桥接模式是一种网络模式,其中虚拟机直接连接到物理网络中,并通过物理网络中的网络设备(如交换机)来进行通信。在桥接模式下,虚拟机会获得物理网络中的一个独立IP地址,可以直接与物理网络中的其他设备进行通信,就像是物理设备一样。通常用于需要虚拟机与外部网络直接通信的场景,例如虚拟机作为服务器提供网络服务时。
3. 安装完成之后启动UbuntuServer。
使用nginx服务器:
sudo apt install nginx -y
nginx -v //安装后查看版本号,是否安装成功
提示
nginx version: nginx/1.18.0 (Ubuntu) //表示安装成功
可以查看是否运行
curl 'http://127.0.0.1'
如图所示:
修改nginx配置
sudo vim /etc/nginx/sites-enabled/default
图片中所示位置添加
autoindex on; //开启目录列表功能
保存,并重启服务;
sudo systemctl restart nginx.service
在nginx服务器默认目录(/var/www/html/)下放置安装包,此处我新建了一个“setup”目录来放安装包
scp test-gateway_1.0.2_amd64.deb w@192.168.2.19:/var/www/html/setup
//创建一个包含软件包信息的 Packages 文件,并将其压缩成 Packages.gz 文件
sudo dpkg-scanpackages .|gzip -c9>Packages.gz
自此,服务器搭建完成,可以测试了。
本机浏览器测试:
本机上添加apt服务器源地址
echo "deb [trusted=yes] http://192.168.2.19/setup ./" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt update //更新源文件
安装测试:
sudo apt install test-gateway
可以正常安装,完成。
1. 保证虚拟机与物理机能够正常通信。
虚拟机默认的网络模式是NAT网络地址转换模式,但此时我们需要虚拟机与本机通信,所以我们选择桥接模式。
设置虚拟机的IP地址:
在虚拟机中,
sudo nano /etc/netplan/00-installer-config.yaml //编辑网络配置
- network:
- version: 2
- ethernets:
- enp0s3:
- addresses:
- - 192.168.1.100/24
- gateway4: 192.168.1.1
保存,并使用新配置
sudo netplan apply
查看是否成功设置
ip a
2. 拷贝安装包到服务器。
scp: /var/www/html/setup/zh-XXX00_1.0.0_arm64.deb: Permission denied
拷贝安装包的时候可能会遇到这个问题。
有两个地方需要注意,一个是可能虚拟机没有设置ssh权限访问;
此处默认是注释掉的,去掉注释,保存,并重启服务。
systemctl restart sshd
另一点,可能就是,nginx的默认目录(/var/www/html)具有权限问题
sudo chmod 777 /var/www/html/setup
之后就可以正常拷贝了。
动手才能发现问题,希望我的搭建过程能够帮上你。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。