专门网论坛

 找回密码
 立即注册

新浪微博登陆

只需一步, 快速开始

快捷登录

X390/T490/T490S/X1七代/P53蜗牛新年活动
查看: 485|回复: 5

[教程] 旧安卓手机利用Deploy挂载nextcloud

[复制链接] [ 622字 ]

中级会员 Rank: 3Rank: 3Rank: 3

帖子
3188
积分
4
技术分
2 分
资产值
25189 nb
联谊分
0 分
注册时间
2005-10-29
银牌荣誉勋章(注册8年以上会员)月全勤勋章金牌荣誉勋章(注册10年以上会员)
发表于 2020-2-13 01:53:28 | 显示全部楼层 |阅读模式
本帖最后由 antium 于 2020-2-14 16:02 编辑

条件: 1. 可root 安卓手机,关闭省电类软件,系统越简单越好! (内存最好2G+ 本人Meizu pro6 4+64)
2. 手机app: busybox deploy;
3. 电脑软件:xshell 或 putty hfs
4. 域名(腾讯云1元申请附证书)动态域名(花生壳)也行,我做法是腾讯云域名解析到动态域名上
5. 最好公网IP,路由器支持upnp或DMZ
6. nextcloud包,版本随意,我用16(电脑到官网先下载,再用hgs上传)
7. 配置文件里每个字符都必须准确无误

过程:
1. 安装配置busybox,deploy;2. 安装系统;3. 搭建lamp 4. 建立数据库 5. 上传nextcloud 6. 配置apache文件 7. 登录nextcloud 8. 逐步完善优化

一、配置deploy
如何配置可以百度一下,这说下细节
1. 设置里的path变量对照busybox
2. 属性linux,发行版选ubuntu,源默认;发行版rootfs是还原系统时用
3. 属性镜像大小4G+,以后可以调
4. 属性初始化启用一定勾上,初始化系统选择:sysv
5. 属性挂载启用勾上,具体以后详说
6. 属性SSH勾上
配置好,点安装,大概安装1小时。
安装好后,点启动。其余工作以后都在电脑上完成
电脑用putty或xshell连接手机

二,添加源
安装vim:
apt-get install vim wget screen

编辑 /etc/apt/sources.list
vim /etc/apt/sources.list

添加下面两行,保存退出
deb http://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe multiverse
deb-src http://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe multiverse


三. 安装lamp
建议一键安装,到https://lnmp.org/auto.html,架构LAMP, mysql5.6, php7.3, apache2.4,离线 生成命令,复制
screen -S lamp
"粘贴命令“

注:lamp要两小时左右,用screen以防电脑连接中断。lamp装好后,浏览器打开电脑ip,看到一键和php info的话,说明装好了

四,重设mysql密码 一键装好后,mysql受容器限制并不完整,密码错误
vim /etc/my.cnf 在[mysqld]下添加两行
user = root
skip-grant-tables
service mysql restart

mysql -uroot -p  #password处直接回车
show databases;
use mysql;
update user setPassword="*84AAC12F54AB666ECFC2A83C676908C8BBC381B1";  #设置密码为“12345678”
\q

vim /etc/my.cnf 把skip-grant-tables那行删了,保存退出
service mysql restart

五 建立nextcloud数据库
mysql -uroot -p #密码12345678
CREATE DATABASE nextclouddb; #建立nextcloud数据库
CREATE USER 'nextcloud'@'localhost'IDENTIFIED BY 'password';  #创建Nextcloud的用户名和密码
GRANT ALL PRIVILEGES ON nextclouddb.* TO'nextcloud'@'localhost'; #授予权限
FLUSH PRIVILEGES; #权限表重新加载
\q

六 用hgs上传nextcloud包
nextcloud拖入hfs
cd /tmp
wget http://192.168.0.xxx/nextcloud.zip   #192.168.0.xxx为电脑ip,下同
unzip nextcloud
mv /tmp/nextcloud /home/wwwroot/
chown -R www:www /home/wwwroot/nextcloud
chmod -R 777 /home/wwwroot/nextcloud

七 配置apache ,80端口的,443端口可以跳开
vim /usr/local/apache/conf/vhost/nextcloud.conf

Alias /nextcloud "/home/wwwroot/nextcloud/"
<Directory /home/wwwroot/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /home/wwwroot/nextcloud
SetEnv HTTP_HOME /home/wwwroot/nextcloud
</Directory>

保存退出,重启apache

service httpd restart

浏览器输入192.168.0.xxx/nextcloud,出现nextcloud登录界面,这样nextcloud基本完成
路由器已做端口映射,可以尝试外网登录

假如有域名的,也可以编辑成如下,直接域名登录
<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /home/wwwroot/nextcloud/
     ServerName example.com
     ServerAlias www.example.com

     Alias /nextcloud "/home/wwwroot/nextcloud/"

     <Directory /home/wwwroot/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /home/wwwroot/nextcloud
        SetEnv HTTP_HOME /home/wwwroot/nextcloud
     </Directory>

     ErrorLog /home/wwwlogs/nc_error.log
     CustomLog /home/wwwlogs/nc_access.log combined

</VirtualHost>


八 443端口的,https登录,举例
cd /usr/local/apache/
mkdir crt
wget http://192.168.0.xxx/example.com.key
wget http://192.168.0.xxx/example.fullchain.crt

vim /usr/local/apache/conf/httpd.conf,
#Include conf/extra/httpd-ssl.conf的#删去

vim /usr/local/apache/conf/extra/httpd-ssl.conf
Mutex sysvsem default这行删去!!

vim /usr/local/apache/conf/vhost/nextcloud_ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin admin@example.com
     DocumentRoot /home/wwwroot/nextcloud/
     ServerName example.com
     ServerAlias www.example.com

     Alias /nextcloud "/home/wwwroot/nextcloud/"

     <Directory /home/wwwroot/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /home/wwwroot/nextcloud
        SetEnv HTTP_HOME /home/wwwroot/nextcloud
     </Directory>

     ErrorLog /home/wwwlogs/nc_error.log
     CustomLog /home/wwwlogs/nc_access.log combined

SSLEngine on
SSLCertificateFile /usr/local/apache/crt/example.fullchain.crt
SSLCertificateKeyFile /usr/local/apache/crt/example.com.key

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>
</IfModule>


安装完成



hfs.rar

750.35 KB, 下载次数: 0

评分

参与人数 1技术分 +2 收起 理由
gamersmile + 2 支持原创内容。如果能讲解下用途就更好了。.

查看全部评分

中级会员 Rank: 3Rank: 3Rank: 3

帖子
3188
积分
4
技术分
2 分
资产值
25189 nb
联谊分
0 分
注册时间
2005-10-29
银牌荣誉勋章(注册8年以上会员)月全勤勋章金牌荣誉勋章(注册10年以上会员)
 楼主| 发表于 2020-2-13 01:53:49 | 显示全部楼层
本帖最后由 antium 于 2020-2-21 21:45 编辑

旧电脑装群晖,旧手机挂不了群晖,就只好挂Nextcloud
喜欢Nextcloud有几点:1. 支持WdbDAV,电脑用NetDrive映射成本地磁盘
2. 做cardDAV服务器,可以备份同步手机联系人
3. 支持在线看文档看图,打包下载
4. 可以与群晖同步备份

系统优化,让它飞起来
Deploy系统可以备份吗?
可以的,在安装里有个导出,把整个镜像打包成tar.gz

那如何还原呢?
在属性,发行版选rootfs.tar,再重新安装,就是还原

镜像可以调整大小?
还原时,把镜像调整后,再安装

系统可以挂载SD卡,或目录吗?
属性里,挂载启用,挂载点列表,
上行填SD卡的绝对路径(路径用ES类app看),卡先新建个文件
下行填linux系统目录
进入系统查看目录,看新建的文件在否,在的话,说明挂载成功如果让nextcloud访问,还得要chown chmod改下权限

Nextcloud
登录时,不信任域名或IP提示,编辑nextcloud/config/config.php,在'trusted_domains' =>下方按格式填入ip域名,保存退出生效

lnmp 1.6目录在/etc/apt/lnmp1.6,也可能在/home/android目录里,大部分优化可以参考下方网址
https://nico.cc/archives/72/

后台任务优化
crontab -u www -e
*/15 * * * * php -f /home/wwwroot/nextcloud/cron.php

service cron start

vim /etc/rc.local,加入一行
service cron start

HTTP的请求头 "Strict-Transport-Security" 未设置为至少 "15552000" 秒.
在/usr/local/apache/conf/vhost/nextcloud.conf加入一行,重启httpd服务生效
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
service httpd restart

安装app
https://apps.nextcloud.com
下载对应版本,解压放到/home/wwwroot/nextcloud/apps目录
设置权限,如下载的contacts,chown -R www:www contacts; chmod -R 777 contacts
再回到应用,启用就好

mysql支持4字节
mysql> show variables like 'innodb_file_format';
如果 innodb_file_format 是‘Antelope' ,那需要改为Barracuda
mysql> SET GLOBAL innodb_file_format=Barracuda;
mysql> \q

vim /etc/my.cnf
在[mysqld]段最后加入
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1

重启mysql服务
service mysql restart  

mysql> ALTER DATABASE nextclouddb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
mysql> \q

$/home/wwwroot/nextcloud/ sudo -u www php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
$/home/wwwroot/nextcloud/ sudo -u www php occ maintenance:repair

同步联系人
apps.nextcloud.com下载contacts插件,解压放至apps目录,授予www权限
浏览器登录nextcloud,应用启用contacts
contacts新建个联系人,如MM,资料随意
苹果手机联系人先备份(QQ同步助手),设置--密码与帐号--添加帐号--其他--添加carddav帐户
服务器:https://example.com/remote.php/dav/principals/users/NEXTCLOUDUSER  #https必须的,NEXTCLOUDUSER为自己的用户名
用户名:NEXTCLOUDUSER
密码:自己密码
描述:随意
手机--联系人--群组--只勾选刚刚新建的,过一会,看看联系人MM是否同步上,如同步上的可以恢复联系人了
服务器同步好后,其它手机如此炮制


其它以后想到再补充












回复 支持 反对

使用道具 举报

a836321899 - 白布衣之鬼

初级会员 Rank: 2Rank: 2

帖子
4528
积分
2.3
技术分
0 分
资产值
20930 nb
联谊分
1 分
注册时间
2010-9-6
发表于 2020-2-13 06:32:28 来自安卓客户端来自安卓客户端| 显示全部楼层
专业人士,不知是干啥用的。。。
回复 支持 反对

使用道具 举报

入门会员 Rank: 1

帖子
375
积分
0.5
技术分
0 分
资产值
9183 nb
联谊分
0 分
注册时间
2007-2-26
发表于 2020-2-14 21:36:08 | 显示全部楼层
这个不错,不知道速度咋样
回复 支持 反对

使用道具 举报

中级会员 Rank: 3Rank: 3Rank: 3

帖子
3188
积分
4
技术分
2 分
资产值
25189 nb
联谊分
0 分
注册时间
2005-10-29
银牌荣誉勋章(注册8年以上会员)月全勤勋章金牌荣誉勋章(注册10年以上会员)
 楼主| 发表于 2020-2-16 13:16:43 | 显示全部楼层
本帖最后由 antium 于 2020-2-16 13:17 编辑
QUOTE:
zijian2008 发表于 2020-2-14 21:36
这个不错,不知道速度咋样

上传下载速度在6M+,下载文件夹时自动打包zip
不过因为系统32位,所以这货上传文件大小限制在2G


QQ图片20200216131153.png
回复 支持 反对

使用道具 举报

gamersmile - 东风硕马

版主 Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

帖子
17041
积分
9
技术分
3.5 分
资产值
55548 nb
联谊分
1.6 分
注册时间
2006-5-10
银牌荣誉勋章(注册8年以上会员)初代目福气勋章
发表于 2020-2-18 16:26:50 | 显示全部楼层
QUOTE:
antium 发表于 2020-2-13 01:53
旧电脑装群晖,旧手机挂不了群晖,就只好挂Nextcloud
喜欢Nextcloud有几点:1. 支持WdbDAV,电脑用NetDriv ...

太专业了。以至于我这样的小白需要去搜一下才知道你说的NextCloud是啥。
简单来说,就是NAS服务器的一种。跟群晖类似,但貌似这种方案更Open?
NextCloud.jpg

NextCloud 2.jpg

顺便摘录下网络达人谈论NAS的一篇文章:(译文取自狗哥翻译,未校对。原文链接

QUOTE:
删除Dropbox,然后放弃Resilio Sync之后,我决定购买NAS。为了实现这一点,在我看来我不得不回答以下问题:
服务器类型。我是否应该在Linux上使用Nextcloud(或OwnCloud;但可能是Nextcloud)使用常规的Web服务器(设备/机器/ CPU)来滚动自己的个人服务器,或者获取NAS服务器呢?
服务器软件。假设我实际购买的盒子是NAS,我应该随盒子上安装的专有软件(任何种类)一起使用,还是应该安装Nextcloud并计划使用这些功能?
NAS供应商。实际上,这里有两个密切相关的问题。
(a)如果我决定对NAS使用专有服务器软件,应该购买哪个品牌的NAS盒?
(b)无论使用哪种包装,我都希望使用哪种专有服务器软件?这两个问题的结合将决定我要从哪个供应商那里购买。
RAID /驱动器配置。这也有两个密切相关的问题。
(a)我应该设置哪种RAID配置?
(b)我应该计划获得几个海湾?换句话说,服务器将拥有多少个驱动器,它们将如何一起用作自动备份或冗余?
强。我需要多少台机器?
驱动器。我应该将哪些驱动器放入NAS托架中?
回答这些问题有助于我决定要购买哪个盒子。
但是由于这些问题听起来有些棘手,而且(对我来说)不熟悉,所以我决定首先解决这个问题。毕竟,我确实已经知道为什么要使用NAS,以及我的一些要求。



回复 支持 反对

使用道具 举报

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

本版积分规则

Powered by Discuz! X3.2 © 2001-2018 Comsenz Inc & 51nb.com

GMT+8, 2020-2-24 11:03 , Processed in 0.054193 second(s), 42 queries , Gzip On, OPcache On, Redis On.

手机版|小黑屋|客户端|Archiver|||专门网 ( 粤B2-20050246 )

返回顶部