请选择 进入手机版 | 继续访问电脑版
×
查看: 6307|回复: 0

自建服务器搭建个人cydia软件源教程

[复制链接]
思路:自建服务器,搭建dcrm源管理系统,从而实现个人软件源的搭建。

官方下载:https://github.com/82Flex/DCRM

一、环境部署环境支持
  • 操作系统支持
    类 Unix 操作系统(推荐) 或 Windows
  • FastCGI 支持
    PHP >= 5.3
    需要预编译的 GZIP, BZIP2, GD, MYSQL 扩展 ,支持在 Safe Mode 下运行(如果不支持某项扩展,只需注释掉相关行即可。)
  • 网页服务端支持
    Apache >= 2.4.7, Nginx >= 1.0.11 (Rewrite: include dcrm.conf;), Lighttpd >= 1.0 (Rewrite: include dcrm_lighttpd.conf;)
  • 数据库支持
    MySQL 或 MariaDB

二、安装步骤

  • 自动安装:配置好上文中的服务器环境,将 main 目录中的所有文件上传到网站目录
  • 确保程序根目录下有读取、写入权限
  • 如果您使用的 Web 服务器不是 Apache,将需要您有一定的高级操作知识和能力。您需要视情况启用相应的 Rewrite 规则。
  • 访问 http://{YOUR_REPO_URL} 自动跳转或直接访问 http://{YOUR_REPO_URL}/install 进行数据库配置
如果您有特殊的要求并有一定的高级操作知识和能力,您可以修改 ./system/config/connect.inc.default.php 手动配置数据库:
1. 将 DCRM_CON_SERVER 设为 MYSQL 数据库服务器的完整地址
2. 将 DCRM_CON_SERVER_PORT 设为 MYSQL 数据库服务器端口
3. 将 DCRM_CON_DATABASE 设为已经建立完成的数据库名
4. 将 DCRM_CON_USERNAME, DCRM_CON_PASSWORD 设为可访问该数据库并拥有足够权限的用户名和密码
5. 如果您需要保持数据库连接,请将 DCRM_CON_PCONNECT 设为 True
6. 我们不推荐手动初始化程序所需要的数据库,请访问 ./install/setup-install.php,进行数据库的安装

三、升级步骤

1. 将所有文件上传或替换到网站目录
2. 访问源的任意页面即可自动更新

使用说明首次使用请进入右上角的设置以及左侧的源信息设置进行初期配置。
软件包功能
  • 上传软件包您可以通过网页以及 FTP 将软件包上传到 upload 目录下,以便导入。
  • 导入软件包您可以将 upload 目录下的软件包导入到数据库。
  • 升级导入
    如果您是对软件包进行升级导入操作,导入时会出现操作提示。
    · 继承并替换是指新软件包继续使用原软件包的信息(除版本号外),并将原软件包隐藏;
    · 直接替换是指将原软件包隐藏;
    · 添加条目是指忽略原软件包的存在;
  • 管理软件包您可以:
    · 控制软件包的显示、隐藏;
    · 搜索、寻找并选择编辑或删除软件包;
    · 查看软件包概况;
  • 显示或隐藏软件包新导入的软件包默认是隐藏的(包括升级导入),隐藏状态表示为 绿色,显示状态表示为 蓝色;
    * 若要更改状态,单击它们前方的按钮,在左侧点击“显示软件包”或“隐藏软件包”。
  • 查看软件包您可以查看该软件包中所包含的控制信息,以及管理系统的附加信息。
  • 编辑软件包· 常规编辑提供了常见信息的修改与保存;
    · 高级编辑提供了更多字段的修改,这需要您对 Debian 软件包有一定的高级操作知识和能力。
  • 查找软件包您可以按照多个字段查找软件包,暂时不能使用通配符和正则表达式。
  • 为软件包绑定UDID您为软件包绑定设备UDID,详细请参阅《UDID 绑定》一节。

分类管理您可以添加,删除,查看软件包分类,并在编辑软件包的时候为其选择一个已配置的分类。
图标管理您可以上传源图标,分类图标,并在分类管理中生成图标包。
运行状态您可以查看数据库状态、系统信息、总下载量与软件包数量等信息。
关于程序您可以查看 DCRM 的开发人员名单、翻译名单、感谢名单等。
刷新列表刷新列表前您必须将欲显示的软件包置于 显示 状态;
单击此按钮将生成 Packages, Packages.gz, Packages.bz2 列表文件并计算 MD5sum 与 Size。

UDID 绑定*简介

DCRM 为您提供了软件包 UDID 绑定功能,使用该功能您可以很简单地保护您的个人软件包+。
该功能通过检测请求设备的 UDID 来阻挡或允许下载软件包。
* UDID 绑定为1.6.15.3.26新增功能。
+ 本功能推荐用于个人开发者的软件包内测。

使用说明
  • 为软件包启用该功能您需要在您想启用的软件包中的常规编辑界面中启用 保护 选项,系统将会自动为该软件包添加 cydia::commercial 标签。您也可以自行在软件包中添加该标签以启用此功能。
    注意:修改该选项后您需要写入软件包才可正式生效。
  • 等级设置在 DCRM 的判断逻辑中,等级的优先度高于 UDID绑定。
    举例来说,您想让一个设备拥有特殊的下载权限,您可以在UDID管理页中设置该设备的等级。此时,只要该设备下载的软件包等级低于该设备的等级,则该设备可以无视UDID绑定设置下载该软件包。
  • 管理等级管理UDID 页面中的 管理等级 为预留接口,目前您可以为等级添加备注。


其它说明我们为受保护软件包在软件包详情页添加了状态显示,但由于Cydia的限制,可能会出现在已绑定的设备上显示的状态不正确。但下载软件包时 UDID 检测是正常工作的,在找到更好的替代方案前请见谅。

为 Release 文件签名简介
DCRM 可以使用 GPG 工具对 Release 文件进行签名,签名后可以使 Cydia 检验源的文件在传输过程中是否被篡改,可以提高一定的安全性。
既然您选择为您的 Release 文件进行签名,这代表您对软件源的安全性有一定要求,也代表您有一定的高级操作知识和能力,如果您认可了这两点,请继续阅读。

环境要求
  • Windows 或 类Unix操作系统
  • 处于 non-Safe Mode (非安全模式)下的 PHP 环境,且具有运行 GPG 命令的权限,GPG 工具可以通过各种方式获取。

操作请先阅读 how_to_host_cydia_repo.pdf 中《用于签名 Release 的密匙》章节,为您的软件源生成一个密钥,并制作相关软件源验证包,导出私钥。
在服务器上导入该私钥,并修改 ./system/config/gnupg.inc.php 中的相关参数:
1. 将 DCRM_GNUPG_ENABLED 设为 1;
2. 将 DCRM_GNUPG_PATH 设为 gpg 命令的路径;
3. 将 DCRM_GNUPG_NAME 设为您私钥的名称;
4. 将 DCRM_GNUPG_PASS 设为您私钥的口令;
进行源信息设置,并刷新列表,在用户端安装软件源验证包即可完成。
每次刷新列表,签名数据会自动更新。


疑难解答
  • 为什么保存编辑以后还需要写入软件包?这是由于 Cydia™ 要求 Packages 列表与软件包中的部分字段必须相同;
    通常,您修改标题,作者,提供者,保证人,主页,预览页和描述的时候无需写入软件包。
  • 为什么需要手动刷新列表?每次编辑后自动刷新可能会导致软件源的不稳定,所以需要您在所有更改结束后手动刷新列表;
  • 缓存是如何产生的?导入、写入软件包、生成图标包等均会产生临时缓存,随时可以清理。
  • 为什么我不能通过普通浏览器或 Cyder 拉取软件源列表和软件包?这是因为 DCRM 具有防盗链功能,只允许 Cydia™ 的访问请求;
    如果您想关闭此功能,只需在设置中关闭防盗链功能。
  • 我该如何在描述中使用换行符?Cydia™ 支持使用 HTML 中的换行标记。
  • DCRM 的安全性如何?DCRM 并不提供商业级别的安全保障,后台登录采用了会话机制,请确保您的会话未被监听;
    后台密码采用 SHA1 摘要算法存储并对比;
    我们推荐您开启 SSL 以保证访问的安全。(注意:开启 SSL 可能会增加服务器负载。)
    请确保做好了服务器的防护工作,例如:将 PHP 运行于安全模式、不允许外网访问 MySQL 服务器等。

CDN DEB和页面 缓存配置

  • DEB缓存配置
  • 路径:/system/function/downfile.php
  • 修改:
  • header('Cache-Control: public, must-revalidate, max-age=0');
  • -----------------------------------------------
  • header('Cache-Control: max-age=31104000');
  • 页面缓存配置
  • 路径:/system/class/core.php
  • 修改:
  • header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
  • header('Cache-Control: no-cache');
  • header('Pragma: no-cache');
  • -----------------------------------------------
  • header('Expires:Sun, 04 Feb 2018 00:00:00 GMT');
  • header('Cache-Control:max-age=31104000');
  • header('Pragma: public');

编码
请使用支持 utf8_general_ci 编码的 MYSQL 数据库,DCRM 所有部分均使用 UTF-8 编码。

安装包下载:

原版:WEIPDCRM
原版中文:WEIPDCRM-master-中文

来源:多米诺骨牌




免责声明

  1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关;

  2、本站所有主题由该帖子作者发表,该帖子作者与360互动新媒体论坛共同享有帖子相关版权;

  3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和360互动新媒体论坛的同意;

  4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任;

  5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责;

  6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意;

  7、360互动新媒体论坛管理员和版主有权不事先通知发贴者而删除本文;

  8、其它未公布的声明。

  为了营造一个好的学习和交流社群,请大家自觉遵守论坛的约定,做一个有素质、讲文明的网民,谢谢配合。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

Archiver|手机版|小黑屋|网站地图|新媒体资源对接:59026862|360互动新媒体网 ( 沪ICP备14023467号-1   

© 2014-2017 360互动新媒体网 Powered by 360hudong.com X3.2

QQ