首先说下使用的环境:
硬件:NanoPi NEO
操作系统:Dietpi
为什么会现在才想到搭建这个系统呢,之前一直没有同步本地文件的需求,但要开工写毕业论文了,需要把论文随时备份,所以就需要一个能够同步的网盘。为什么要自己搭建呢?一来市面上的网盘我已经失去信任了,二来万一网络什么的出问题也能够直接从实体机把文件拷出来,提高可靠性。好了,下面来记录下步骤。
1.首先刷入系统,参考以前文章,这里不再重复。
登录SSH,等待系统初始化完成后开始安装软件。这里直接使用系统自带的软件管理系统安装,分别勾选:
XFCE(一个桌面环境,也可以根据自己喜好安装别的。装桌面是为了远程方便,也可以不装。)
Tightvnc server(VNC服务。)
XRDP(远程桌面。如果不要桌面环境,那么以上这3个都不要安装。)
owncloud(本篇主角,系统里带了,直接选择安装就好。但可能不是最新版,后续可以自己升级。)
LLSP(web服务环境,这个比较轻量,自用够了,也可以选别的。)
vsFTPD(FTP软件,这个权限比较高,能够访问根目录。)
主要就是这几个,空格键打*选择,完了直接进入安装程序。有需要可以安装中文字库和输入法。
好了之后就可以通过windows的远程桌面进入了。
2.配置web服务环境。
进入/etc/lighttpd/lighttpd.conf修改配置文件,把根目录改为/var/www/owncloud
开启SSL:
在/etc/lighttpd目录下新建一个ssl文件夹并用openssl生成一个证书:
cd /etc/lighttpd/ sudo mkdir ssl sudo openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes(server.pem的文件名可以自定义,这个证书的有效期为1年。生成过程要填一些信息,随意即可。sudo chmod 400 server.pem给文件加权限)
接着修改SSL配置文件:
sudo nano /etc/lighttpd/conf-available/10-ssl.conf修改为以下内容:
$SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/etc/lighttpd/ssl/server.pem" server.name = "server" server.document-root = "/var/www/owncloud" ssl.cipher-list = "ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM" ssl.honor-cipher-order = "enable" }之后执行以下命令启用和重启web服务即可。
sudo lighttpd-enable-mod ssl sudo systemctl restart lighttpd.service(在SSH模式下可以不加sudo,因为已经是root权限了。但在远程桌面模式下要加,不然有时会权限不够。)
3.之后登录配置好owncloud即可使用,下载电脑手机客户端开始使用。
还有个外网访问的问题,依然是使用frp软件。这里注意,frp的服务端和客户端的版本要对应,不然会连接不上。记得给frpc文件777权限。
设置frp开机自启:在/etc/rc.local中exit 0之前加入代码:cd /root/frp/ && ./frpc -c frpc.ini &
为了安全考虑,frp中只配置了443端口的外网访问。也就是通过外网只能以https访问,http无法连接。局域网内都可以使用。
补充:
修改owncloud的登录页背景图:owncloud\core\img\background.jpg
修改网页标题和底部标语:owncloud\lib\private\legacy\defaults.php
遇到文件无法删除被锁定的情况,进入phpmyadmin,执行以下命令:
DELETE FROM oc_file_locks WHERE 1
php7.0遇到提示无法访问 /dev/urandom,在php.ini中open_basedir=.:/tmp/:/dev/urandom