Apt本地源apache配置服务端
时间: 2023-07-28 22:09:27 浏览: 90
要在本地搭建Apt源,需要安装 Apache2 和 dpkg-scanpackages 工具。
1. 安装 Apache2:
```
sudo apt-get update
sudo apt-get install apache2
```
2. 创建源目录和存储包的目录:
```
sudo mkdir /var/www/html/apt
sudo mkdir /var/www/html/apt/packages
```
3. 将要发布的deb包上传到 /var/www/html/apt/packages 目录下。
4. 在 /var/www/html/apt 目录下创建一个 Release 文件:
```
cd /var/www/html/apt
sudo touch Release
```
5. 使用 dpkg-scanpackages 工具生成 Packages 文件:
```
cd /var/www/html/apt/packages
sudo dpkg-scanpackages . /dev/null | sudo tee /var/www/html/apt/Packages >/dev/null
```
6. 修改 Release 文件中的内容:
```
sudo echo "Origin: Your Organization Name" > /var/www/html/apt/Release
sudo echo "Label: Your Repository Label" >> /var/www/html/apt/Release
sudo echo "Suite: stable" >> /var/www/html/apt/Release
sudo echo "Version: 1.0" >> /var/www/html/apt/Release
sudo echo "Codename: bionic" >> /var/www/html/apt/Release
sudo echo "Architectures: amd64" >> /var/www/html/apt/Release
sudo echo "Components: main" >> /var/www/html/apt/Release
sudo echo "Description: Your Repository Description" >> /var/www/html/apt/Release
```
7. 使用 GPG 签名 Release 文件:
```
sudo apt-get install gnupg
sudo gpg --gen-key
sudo gpg --output /var/www/html/apt/apt-key.gpg --armor --export <your-key-id>
sudo echo "SignWith: <your-key-id>" >> /var/www/html/apt/Release
sudo gpg --clearsign --digest-algo SHA512 --local-user <your-key-id> /var/www/html/apt/Release
```
8. 配置 Apache2:
```
sudo nano /etc/apache2/sites-available/apt.conf
```
在文件中添加以下内容:
```
<VirtualHost *:80>
ServerName apt.example.com # 修改为你的域名或 IP 地址
DocumentRoot /var/www/html/apt
<Directory /var/www/html/apt>
Options +Indexes
Require all granted
</Directory>
</VirtualHost>
```
保存并退出。
9. 启用配置文件并重启 Apache2 服务:
```
sudo a2ensite apt.conf
sudo systemctl restart apache2
```
现在你可以在其他计算机上添加这个本地源了。在 /etc/apt/sources.list 文件中添加以下内容:
```
deb http://apt.example.com/ stable main
```
保存并退出,然后运行以下命令更新软件包列表:
```
sudo apt-get update
```
现在你就可以从本地源中安装软件包了。
阅读全文