虽然 iOS 的越狱离我们好像越来越远, 但是曾经的激情, 我们依然在

本篇文章虽然稍微照顾了第一次建立 Python 网站的人, 但是依然建立在你需要 Cydia 个人源以及你已经有搭建 Python 网站和熟悉 CentOS 7 命令的情况下写出, 如有不便, 可以直接评论留言或者自行 Google 解决

首先, 进入网站根目录

cd /www

如果没有安装 git 的, 需要安装先

yum install -y git

将 GitHub 上的 Clone 到本地

git clone https://github.com/82Flex/DCRM.git

通过 ll 命令, 可以看到 /www 目录下多出了一个 DCRM 的目录, 根据博主的个人习惯, 重命名为 cydia

mv DCRM cydia

搭建属于自己的 Cydia 个人源-Jonny'Blog

进入 cydia 目录

cd cydia

搭建属于自己的 Cydia 个人源-Jonny'Blog

执行

pip install -r requirements.txt

安装相关依赖, 中间过程持续较长, 不要关闭 ssh 窗口或者强行停止

搭建属于自己的 Cydia 个人源-Jonny'Blog

完成之后的荧幕输出

执行

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -D mysql -u root -p

期间会让你输入 MySQL 的 root 用户密码

搭建属于自己的 Cydia 个人源-Jonny'Blog

在官方给出的说明文档中, RedisMemcached 设为推荐, 于是我们安装

由于 Memcached 之前在将 NextCloud 的时候, 已经安装了, 这里就不需要重复安装了, 直接安装 Redis 即可

yum install -y redis

开启 Redis

systemctl start redis

设置 Redis 开机启动

systemctl enable redis

安装 rq 依赖

pip install rq

安装 static 依赖

pip install Pillow exifread

接下来配置 Redis

redis-cli

给 Redis 设置密码

CONFIG SET requirepass "your_password_for_redis"

完成之后退出

exit

接下来修改配置文件

cd DCRM

首先拷贝一份配置文件, 因为默认给出的是 default, 这里不建议用 mv 命令

cp settings.default.py settings.py

vim settings.py

找到并将

ENABLE_REDIS = False

ENABLE_CACHE = False

ENABLE_SCREENSHOT = False

改为

ENABLE_REDIS = True

ENABLE_CACHE = True

ENABLE_SCREENSHOT = True

找到 ALLOWED_HOSTS, 默认给出的是官方的域名, 我们修改为自己的域名

ALLOWED_HOSTS = [

'apt.jonny.vip'

]

找到 LANGUAGE_CODE, 默认 "en" 为英文, 可以改为想要的语言. 目前官方给出的, 本人仔细看了一下, 暂时只有 "en""zh_Hans", 不过看起来中文好像并不生效, 希望生效的可以贴出方法

找到 TIME_ZONE, 改为 "Asia/Hong_Kong" 或者改为你想要的地区

找到 DATABASES, 这个是 MySQL 数据库的配置

NAMEUSERPASSWORD 改为你自己的 MySQL 配置

找到 RQ_QUEUES 并且设置 PASSWORD

在此之前, 你需要创建一个数据库或者使用现有的数据库

到这里为止, 配置文件修改完成

返回上一层目录

cd ..

接下来执行

./manage.py collectstatic

搭建属于自己的 Cydia 个人源-Jonny'Blog

./manage.py migrate

写入数据库

搭建属于自己的 Cydia 个人源-Jonny'Blog

./manage.py createsuperuser

创建超级用户

完成上述步骤之后, 我们把 uwsgi.ini 放在 DCRM 目录

cd DCRM

vim uwsgi.ini

写入以下配置

[uwsgi]

chdir = /www/cydia

module = DCRM.wsgi

master = true

processes = 4

socket = :8001

vaccum = true

uid = nginx

gid = nginx

并且配置 Nginx conf 文件

一下是一份 Nginx 示例文件, 根据自己的实际配置进行修改

upstream django {

    server 127.0.0.1:8001;    #Django 端口

}

server {

    listen 80;

    server_name apt.jonny.vip;

    rewrite ^/(.*)$ https://apt.jonny.vip/$1 permanent;

}

server {

    listen 443 ssl;

    ssl_certificate /home/Jonny/SSL/Nginx/1_apt.jonny.vip_bundle.crt;    #SSL .crt文件位置

    ssl_certificate_key /home/Jonny/SSL/Nginx/2_apt.jonny.vip.key;    #SSL .key文件位置

    ssl_session_timeout 5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";

    ssl_prefer_server_ciphers on;

    server_name apt.jonny.vip;    #你的域名

    root /www/cydia;    #你的网站根目录, 下面含有 "/wwwroot/DCRM" 的都需要修改为这个 root 目录

    error_page 497 https://$host$uri?$args;

    server_name_in_redirect off;

    index index.html index.htm;

    location = / {

        rewrite ^ /index/ last;

    }

    location / {

        try_files $uri $uri/ @djangosite;

    }

    location ~^/static/(.*)$ {

        alias /www/cydia/WEIPDCRM/static/$1;

    }

    location ~^/resources/(.*)$ {

        alias /www/cydia/resources/$1;

    }

    location ~^/((CydiaIcon.png)|(Release(.gpg)?)|(Packages(.gz|.bz2)?))$ {

        alias /www/cydia/resources/releases/$1;

    }

    location @djangosite {

        uwsgi_pass django;

        include /etc/nginx/uwsgi_params;

    }

    location ~* .(ico|gif|bmp|jpg|jpeg|png|swf|js|css|mp3|m4a|m4v|mp4|ogg|aac)$ {

        expires 30d;

        valid_referers none blocked *.jonny.vip 127.0.0.1 localhost;

        if ($invalid_referer) {

            return 403;

        }

    }

}

接下来启动

uwsgi --ini uwsgi.ini --daemonize=/dev/null

搭建属于自己的 Cydia 个人源-Jonny'Blog

接下来进入网站

搭建属于自己的 Cydia 个人源-Jonny'Blog

到这里就算完成了, 网站可以访问, 接下来就是配置的问题

因为手上没有可越狱的机器, 所以暂时就不配置了

最后配置 GnuPG

yum install -y gnupg2

按照本博客进行配置的话, 可能已经安装

执行

gpg --gen-key

根据提示创建密钥, 过程可能需要比较长时间, 不要直接结束或者关闭 ssh 会话窗口

启动后台队列进程

nohup ./manage.py rqworker high > /dev/null &

nohup ./manage.py rqworker default > /dev/null &

至此, 基本的安装完成, 不过经过初步的尝试, 好像还是有很多问题的

这里直接给出官方的使用说明好了, 有精力、有设备的同学可以继续研究

1. WEIPDCRM -> Settings

2. Sites: Set domains and site names

3. WEIPDCRM -> Releases: Add a new release and set it as an active release

4. WEIPDCRM -> Sections: Add sections

5. Upload: Upload deb files

6. WEIPDCRM -> Versions: Enable Packages and assign them into sections

7. WEIPDCRM -> Builds: Build the repository to apply all the changes