使用reperpro+nginx搭建一个Debian仓库

使用reperpro+nginx搭建一个Debian仓库

一、制作一个本地仓库

1.安装相关工具:sudo apt install reprepro -y

2.新建一个文件夹 ppa,新建一个子文件目录conf,目录中新建文本(distributions)写一下仓库配置到新建文本(distributions) 【命令可见二2操作】

#仓库配置
Origin:ppa.repo
Label:ppa.repo
Codename:ppa
Architectures:amd64 source
Components:main
Description:the best repo of ppa
UDebComponents:main
Log:ppa.log
  1. 添加仓库到系统下,编辑/etc/apt/sources.list

    vim /etc/apt/sources.list

    写入以下代码:

    #以文件协议添加仓库:file:///home/grid/Desktop/ppa  为仓库所在路径。 ppa为仓库名。 
    deb [trusted=yes] file:///home/grid/Desktop/ppa ppa main
    
  2. 添加一个包到仓库中去

    在ppa目录下操作:

    reprepro includedeb ppa ~/sl_*deb

    注意:ppa为仓库名,~/sl_*deb为需要加入仓库的包名。

  3. 执行sudo apt update后即可在仓库中找到该内容。

  4. 能找到加入的仓库名则说明成功。

二、制作一个签名的仓库(与三结合做)

1.安装准备程序:

sudo apt install gnupg reprepro

2.创建仓库目录,设置配置文件(即一中的2.操作)

mkdir -p /home/grid/Desktop/ppa/conf
sudo vim /home/grid/Desktop/ppa/conf/distributions

distributions配置信息如下:

#仓库配置
Origin:ppa.repo
Label:ppa.repo
Codename:ppa
Architectures:amd64 source
Components:main
Description:the best repo of ppa
UDebComponents:main
Log:ppa.log
  1. 创建GPG密钥并备份.

    在仓库/ppa下创建key目录,在目录下创建public.keys文件

    mkdir -p /home/grid/Desktop/ppa/key

    touch /home/grid/Desktop/ppa/key/public.key

#列出系统中的密钥
gpg --list-keys
#导出公钥(备份)
#密钥写入到了仓库下。
gpg --armor --export  61088F99C698BB024F895EF0C1A2236829AED3B0 >/home/grid/Desktop/ppa/key/public.key
  1. 给仓库签名:实际上就是在配置里面加上SignWith:/ppa/key/public.keys,然后重新生成源数据即可:
#distributions配置信息下加入以下语句
SignWith:61088F99C698BB024F895EF0C1A2236829AED3B0
  1. 验证gpg密码

    reprepro --ask-passphrase -Vb /home/grid/Desktop/ppa export
    

三、建立一个nginx web站点

1.安装准备程序

sudo apt install nginx

2.配置nginx指向仓库跟目录,/etc/nginx/sites-enabled/default/

sudo vim /etc/nginx/sites-enabled/default/

配置以下信息

注意:server_name mabot.com;处应修改为自己的网站名。 root /home/grid/Desktop/ppa;应修改为root 仓库地址。

server {
  listen 80;
  server_name grid.com;

  access_log /var/log/nginx/packages-error.log;
  error_log /var/log/nginx/packages-error.log;
  root /home/grid/Desktop/ppa;
  index  index.html index.htm;
 
  location / {
    autoindex on;
  }

  location ~ /(.*)/conf {
    deny all;
  }

  location ~ /(.*)/db {
    deny all;
  }
}

将主机名改成grid.com.【不修改的话最后wget的时候访问不到】

sudo vim /etc/hosts

添加一行:

127.0.0.1 grid.com

  1. 将配置的网站,到/etc/apt/sources.list中添加源

sudo vim /etc/apt/sources.list

添加以下信息:

deb http://grid.com/ ppa main contrib non-free

  1. 最后测试仓库的签名
  • 没有导入公钥,无法使用 apt-get update

    sudo apt-get update

在这里插入图片描述

  • 导入公钥可以正常使用 ,apt-key add:

wget -O - http://grid.com/key/public.key |sudo apt-key add -

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值