• 希望你能勇敢追求自由,去成为海贼王。

2021年7月28日星期三

Termux的proot构造nextcloud



1.安装和进入

apt install proot-distro

proot-distro install ubuntu-20.04

proot-distro login ubuntu-20.04

目前,它支持以下发行版:

Alpine Linux(别名:alpine)-最小的可用发行版。

Arch Linux(别名:archlinux)

Debian 10 Buster(别名:debian-buster)

Kali Nethunter(别名:nethunter)-当前只有最小的构建。

Ubuntu 18.04 / 20.04(别名:ubuntu-18.04 / ubuntu-20.04)




2.实际目录和备份:

/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu-20.04
#备份alpine
proot-distro backup alpine --output ./alpine20210513.tar.gz
#备份archlinux
proot-distro backup archlinux --output ./archlinux20210513.tar.gz
还原镜像
⚠️警告还原操作会删除数据!
还原后就是备份的数据了。
proot-distro restore alpine.tar.gz




3. 安装mariadb,nginx,php等并启动。
apt -y install mariadb-server
apt -y install nginx
apt -y install php php-common php-cli php-cgi php-fpm php-gd php-mysql php-sqlite3 php-pgsql php-opcache php-mbstring php-curl php-xml php-xmlrpc php-zip php-intl php-json php-bz2

mysqld&
mysql_secure_installation(初始化,注意启动root用户的远程登录)
nginx
php-fpm7.4




4. 安装phpmyadmin, nextcloud
官网下载,解压到/opt/wwwroot, 并修改755权限和属主(www-data:www-data)


5.创建证书(此处为私有)

生成秘钥key,运行:

> openssl genrsa -des3 -out server.key 2048

然后你就获得了一个server.key文件.
以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:

>openssl rsa -in server.key -out server.key

创建服务器证书的申请文件server.csr,运行:

>openssl req -new -key server.key -out server.csr

创建CA证书:

>openssl req -new -x509 -key server.key -out ca.crt -days 3650

此时,你可以得到一个ca.crt的证书,这个证书用来给自己的证书签名.


创建自当前日期起有效期为期十年的服务器证书server.crt:

>openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
>ls

可以看到一共生成了5个文件:

>ca.crt   ca.srl    server.crt   server.csr   server.key

其中,server.crt和server.key就是你的nginx需要的证书文件.

打开你的nginx配置文件,搜索443找到https的配置,去掉这段代码的注释.或者直接复制我下面的这段配置:

>server {

listen 443;
server_name localhost;
ssl on;
ssl_certificate /root/Lee/keys/server.crt;#配置证书位置
ssl_certificate_key /root/Lee/keys/server.key;#配置秘钥位置
#ssl_client_certificate ca.crt;#双向认证
#ssl_verify_client on; #双向认证
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

nginx -s reload 重载配置。至此,nginx的https就可以使用了,默认443端口.


6.新建站点配置文件
/etc/nginx/conf.d/phpmyadmin.conf
/etc/nginx/conf.d/nextcloud.conf


7.其他配置,启动redis.
apt -y install php-imagick php-redis redis-server
/opt/wwwroot/nextcloud/config/config.php
/etc/php/7.3/fpm/php.ini
/etc/php/7.3/fpm/php-fpm.conf
sudo -u www-data php occ db:convert-filecache-bigint
启动:redis-server&





学习的体系(持续更新)

 最近开的坑有点多,记录下,后续一个一个的来更。

1. 爬虫,主要是从HTTP协议,正则表达,文件处理等。

2. 机器学习,

    新学习:各种框架,mxnet, tersorflow等现代化的框架,自动求导,

    温习:之前的各种KNN,贝叶斯等算法。

3. 安卓开发:

    APP开发,起步阶段,gradle打包,刚学到textview, DP等。

    操作系统编译打包,lineageos,lineageos-microg,打包的具体流程,原理等。

4. 容器:

    docker, protainer,以及image, container等,现在学习docker的编写。

5. Armbian/Termux:

    两个一起说,都是arm的linux环境。

6. web服务器环境:

    apache环境,nginx环境,都是要额外加载PHP解析模块解析PHP。

7. 纯开源解决方案:

    私有云方案,nextcloud。

    密码解决方案,keypass。

    输入法方案,trime的配置。

    笔记解决方案,joplin。