本帖最后由 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 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>
安装完成
|