随着各大网盘离线的限制和收费,很多朋友都自己搭建了网盘用于离线一些东西。今天给大家带来一款自己搭建的网盘程序。
首先准备
- 服务器一台(可以去买一个VPS一个月月付10元左右的就行)
- 运行环境linux(php7以上,可以不用MYSQL)
下载和安装
我们从 nextcloud 官网下载软件包。然后解压到网站程序目录!
然后访问网站进行傻瓜式安装!安装好后登陆网盘.
然后 下载 ocdownloader,解压到程序nextcloud目录下的APP文件夹内。
然后到 应用-禁用的应用 启用APP。启用APP后是无法使用的,因为没有安装ARIA2程序。
ARIA2安装
我们登陆SSH。然后运行下面命令
wget https://github.com/aria2/aria2/releases/download/release-1.32.0/aria2-1.32.0.tar.gz
tar xzvf aria2-1.32.0.tar.gz
cd aria2-1.32.0
./configure
make
make install
如果你的gcc编译器版本号够高,可以省略前三步,直接wget下载aria2然后编译即可。
aria2安装完成后,我们需要查看一下当前NextCloud是运行在哪个用户下的,因为我们需要确保运行aria2的用户和NextCloud是同一个,不然无法正常使用插件,所以输入如下命令查看当前机器的所有用户:
cat /etc/passwd
如图可以看到我搭建的NextCloud是用www用户运行的:
稍微提一下,如果你是按照我之前文章写的那样,使用宝塔面板安装的NextCloud,那么你的NextCloud同样也是使用www用户运行的。如果不是用的宝塔,那么你就需要自己查找了。
由于我们编译安装的aria2是默认安装到了/usr/local/bin,而我们运行aria2需要用到sudo,但sudo默认没有将/usr/local/bin目录下的命令包括进去,所以接着我们需要编辑sudoers文件:
vi /etc/sudoers
找到如图中的这部分:
将:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
修改为:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
退出vi并保存,这里因为sudoers是一个只读文件,可能在退出vi的时候会弹警告提示,我们强行退出使用如下命令:
:wq!
现在就可以使用sudo以www的用户来运行aria2了:
sudo -u www aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/downloads -D
一般安装到这就差不多能够使用了。
离线导致文件不显示或不显示文件大小
一般是nextcloud数据库没有载入当前文件信息,所以我们需要用OCC更新下文件信息!就可以了
首先
cd /www/nextcloud
然后
sudo -u www php occ files:scan --all
就行了!