登录
  • 欢迎来访
  • 你好

vps弄个网盘

各种搞 无奈 2294次浏览 0个评论

nextcloud

Nextcloud是一个非常优秀的私有云存储服务,利用官网提供的Snap安装Nextcloud方法,几乎可以几分钟内就可以搭建好Nextcloud云存储平台。Nextcloud提供了丰富的应用接口,不仅仅可以将Nextcloud当成是网盘使用,还可以在线查看文档、图片和播放视频音乐等。

因为Nextcloud的强大功能,不少的朋友可能想到能不能利用Nextcloud来搭建一个离线下载平台。其实,作为Nextcloud的前身,OwnCloud就已经提供了离线下载的插件,只不过安装与配置起来比较复杂一些。到目前为止,Nextcloud暂未提供可供使用的离线下载工具。

不过,我们完全可以利用Aria2配合NextCloud实现离线下载存储与在线观看播放的效果。Aria2是一个非常优秀的支持多种协议的轻量级命令行下载工具,优点是:多线程连线充分利用带宽;运行时不会占用过多资源,通常在 4MB~9MB;全功能 BitTorrent 客户端; 支持 RPC 界面远程控制。

AriaNg就是一个是运行在服务端的Aria2前端管理工具,它可以不用Aria2命令就可以在网页上添加下载任务。当然,本篇文章还为大家介绍一种在本地安装Aria2 WebUI实现本地操控Aria2离线下载的方法。总之,配合好离线下载,Nextcloud又可以变身为办公与娱乐平台了。

安装

不知道为什在debian7或者8上install 时总是安装失败 只能在debian9上成功

官方给的有安装包直接

apt-get update
apt-get install snap
apt-get install snapd
snap install nextcloud

接着,打开你的域名或者IP地址,然后会让你设置好管理员账号与密码,确定,完成安装。

安装Aria2

Nextcloud在服务器管理页面,则可以查看CPU、内存等使用情况、切换Nextcloud主题、是否对存储在Nextcloud的文件进行加密、激活插件等。
其中的离线下载插件ocDownloader需要到后台插件市场下载

不过下载后还不能直接用 还需要在VPS上安装Aria2 才能使用bt下载 以及YouTube视频下载需要安装youtube-dl这款软件

ocDownloader需要使用Aria2以在后台下载文件。Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接。

预警:Aria2的安装和配置是最坑的地方,所以请保持耐心。

安装

apt-get install aria2 curl php-curl

以HTTP服务器用户(以www-data为例)启动Aria2:

sudo -u www-data aria2c --enable-rpc --rpc-allow-origin-all -c -D --log=/var/log/aria2.log --check-certificate=false --save-session=/var/www/aria2c.sess --save-session-interval=2 --continue=true --input-file=/var/www/aria2c.sess --rpc-save-upload-metadata=true --force-save=true --log-level=warn

执行完之后似乎什么都没有发生,别怨我,上面那个命令是插件作者提供的。

我自己探索的解决方法如下:

1.创建一个空的aria2配置文件,配置文件的路径任意

nano aria2.conf

2.将下面的配置内容粘贴进去,其中的文件保存目录需要自己配置。

#用户名
#rpc-user=user
#密码
#rpc-passwd=passwd
#设置加密的密钥
#rpc-secret=secret
#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#是否启用https加密,启用之后要设置公钥,私钥的文件路径
#rpc-secure=true
#启用加密设置公钥
#rpc-certificate=/home/name/.config/aria2/example.crt
#启用加密设置私钥
#rpc-private-key=/home/name/.config/aria2/example.key
#允许外部访问,false的话只监听本地端口
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#文件保存路径, 默认为当前启动位置
dir=/aria2downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc
#不进行证书校验
check-certificate=false

保存退出

3.启动aria2,在命令中指明刚创建的配置文件的位置:

aria2c --conf-path /root/aria2.conf

这样,Aria2 rpc就在6800端口上运行了。
然后就可以通过前台的ocdownloader上传bt文件下载了

但aria2 运行还需要后台
执行

nohup aria2c --conf-path /root/aria2.conf&

youtube-dl

youtube-dl 是一个下载youtube视频的插件 也是在ocdownload中使用的
官网下载插件 或者github
文中说了很多种下载方式 不过任何一种方式的前提都需要 python环境
不过好像我是用的这个dd安装debian9中没有python
查看是否有python命令

python  --version

安装python

apt-get install python3

安装pip

apt-get install python-pip

安装youtube_dl

pip install --upgrade youtube_dl

具体的可以去官网去看看

不过最后虽然安装youtube_dl成功了能直接在ssh中使用 但在ocdownloads 却不能使用。。。

配置

nextcloud通过snap安装的
配置文件在 /var/snap/nextcloud/4371/nextcloud/config
用户数据在 /var/snap/nextcloud/common/nextcloud/data

如果你是通过本博客给出的方式安装 NextCloud 的话, 可以通过修改/var/snap/nextcloud/4371/nextcloud/config/config.php 中的配置来实现 NextCloud 的进阶玩法

下面给出了几乎所有的配置, 并且给出了中文说明, 可以参考中文说明进行修改. 如果有些用不到或者你不是很懂的地方, 就不建议修改了. 下面给出的是已经配置好的, 有些注释掉的功能, 如果有需要用到的话, 可以取消注释

<!--?php $CONFIG = array( 'instanceid' => '', #安装 ID, 在安装时自动设定, 并且更改会出导致 NextCloud 页面无法访问 'passwordsalt' => '', #用于加密密码, 更改后可能会导致无法登陆 'secret' => '', #用于各种用途, 例如加密传输等 'trusted_domains' => array ( #域名 0 => 'file.jonny.vip', ), 'datadirectory' => '/www/file/data', #NextCloud 数据放置目录 'version' => '12.0.3.3', #版本号 /* 数据库信息 */ 'dbtype' => 'mysql', #数据库类型 'dbhost' => 'localhost', #数据库服务器 'dbname' => '', #数据库名 'dbuser' => '', #数据库用户名 'dbpassword' => '', #数据库密码 'dbtableprefix' => 'oc_', #数据库前缀 'installed' => True, #是否安装 'default_language' => 'za', #默认语言 'defaultapp' => 'files', #默认 APP 'knowledgebaseenabled' => true, #在用户菜单中添加帮助选项 'allow_user_to_change_display_name' => False, #是否允许用户改变显示昵称 'remember_login_cookie_lifetime' => 60*60*24*15, #登录 Cookie 保留时间 'session_lifetime' => 60 * 60 * 24, #Session 保留时间 'session_keepalive' => true, #保持 Session 活跃 'token_auth_enforced' => false, #强制开启客户端验证 'auth.bruteforce.protection.enabled' => true, #强力保护 'skeletondirectory' => '/www/file/core/skeleton', #skeleton 目录 'user_backends' => array( array( 'class' => 'OC_User_IMAP', #可选 : IMAP (OC_User_IMAP), SMB (OC_User_SMB), and FTP (OC_User_FTP) 'arguments' => array('{imap.gmail.com:993/imap/ssl}INBOX') ) ), 'lost_password_link' => 'https://file.jonny.vip/forgot', #忘记密码链接 /* 邮箱服务器信息 */ 'mail_domain' => 'jonny.vip', #发送邮箱域名 'mail_from_address' => 'system', #发送邮箱用户 'mail_smtpdebug' => false, #SMTP Debug 'mail_smtpmode' => 'php', #发送模式, 可选 : sendmail、smtp、qmail、php 'mail_smtphost' => '127.0.0.1', #邮件服务器 'mail_smtpport' => 25, #邮件服务器端口 'mail_smtptimeout' => 10, #超时设定, 单位 : 秒 'mail_smtpsecure' => '', #安全模式, 可选 : ssl、tls 'mail_smtpauth' => false, #验证 'mail_smtpauthtype' => 'LOGIN', #验证模式, 可选 : LOGIN、PLAIN 'mail_smtpname' => '', #验证用户名 'mail_smtppassword' => '', #验证密码 /* Proxy */ 'overwritehost' => '', #重写地址 'overwriteprotocol' => '', #协议, 可选 : HTTP、HTTPS 'overwritewebroot' => '', #重写根目录 'overwritecondaddr' => '', #IP 地址重写, 支持正则表达式 'overwrite.cli.url' => '', #制定 URL 'htaccess.RewriteBase' => '/', #htaccess 重写 'htaccess.IgnoreFrontController' => false, #如果 Apache 没有启用 "mov_env", 则启用此项 'proxy' => '', #代理服务器 'proxyuserpwd' => '', #代理服务器验证 'trashbin_retention_obligation' => '7, 30', #垃圾箱选项, 保留 D1 天, 在 D2 天删 除. 设定为 auto 则为 30 天删除. 可选项 : auto、D, auto、auto, D、D1, D2、disabled 'versions_retention_obligation' => '30, 180', #文件版本保留, 可选项同上 'appcodechecker' => true, #检测 APP 是否使用私有 API 'updatechecker' => true, #更新检测 'updater.server.url' => 'https://updates.nextcloud.com/updater_server/', #更新检测 服务器 'updater.release.channel' => 'stable', #更新选项, 可选 : daily、beta、stable、 production 'has_internet_connection' => true, #是否有网路链接 'check_for_working_webdav' => true, #验证 working WebDAV 的连通性 'check_for_working_wellknown_setup' => true, #验证 working .well-known URL 重定 向 'check_for_working_htaccess' => true, #检测 .htaccess 文件可写性 'config_is_read_only' => false, #配置文件权限 'log_type' => 'file', #日志文件类型 'logfile' => '/var/log/nextcloud.log', #日志文件保存路径 'loglevel' => 0, #日志等级, 可选 : 0 = Debug, 1 = Info, 2 = Warning, 3 = Error, and 4 = Fatal 'syslog_tag' => 'Nextcloud', # 'log.condition' => [ 'shared_secret' => '57b58edb6637fe3059b3595cf9c41b9', 'users' => ['sample-user'], 'apps' => ['files'], ], 'logdateformat' => 'l, d-M-Y H:i:s T', #日期类型 'logtimezone' => 'Asia/Hong_Kong', #时间区域 'log_query' => false, #多服务器日志 'cron_log' => true, #cron 日志 'log_rotate_size' => false, #日志文件大小限制 'customclient_desktop' => #桌面客户端链接 'https://nextcloud.com/install/#install-clients', 'customclient_android' => #Android 客户端链接 'https://play.google.com/store/apps/details?id=com.nextcloud.client', 'customclient_ios' => #iOS 客户端链接 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', 'appstoreenabled' => true, #NextCloud App Store 'apps_paths' => array( #APP 路径 array( 'path'=> '/www/file/apps', 'url' => '/apps', 'writable' => true, ), ), 'enable_previews' => true, #开启文件预览 'preview_max_x' => 2048, #最大宽度 'preview_max_y' => 2048, #最大高度 'preview_max_scale_factor' => 10, #模糊系数 'preview_max_filesize_image' => 50, #预览图片最大大小 /*'preview_libreoffice_path' => '/usr/local/libreoffice', #libreoffice 预览配置 'preview_office_cl_parameters' => ' --headless --nologo --nofirststartwizard --invisible --norestore '. '--convert-to pdf --outdir ',*/ 'enabledPreviewProviders' => array( #可预览文件后缀 'OC\\Preview\\PNG', 'OC\\Preview\\JPEG', 'OC\\Preview\\GIF', 'OC\\Preview\\BMP', 'OC\\Preview\\XBitmap', 'OC\\Preview\\MP3', 'OC\\Preview\\TXT', 'OC\\Preview\\MarkDown', 'OC\\Preview\\Movie', 'OC\\Preview\\MSOfficeDoc', 'OC\\Preview\\MSOffice2003', 'OC\\Preview\\MSOffice2007', 'OC\\Preview\\OpenDocument', 'OC\\Preview\\StarOffice', 'OC\\Preview\\Illustrator', 'OC\\Preview\\PDF', 'OC\\Preview\\Photoshop', 'OC\\Preview\\Postscript', 'OC\\Preview\\SVG', 'OC\\Preview\\TIFF', 'OC\\Preview\\Font' ), 'ldapUserCleanupInterval' => 51, #检查用户后台作业时间间隔, 单位 : 分 'comments.managerFactory' => 'OC\\Comments\\ManagerFactory', #Comments Manager Factory 'systemtags.managerFactory' => 'OC\\SystemTag\\ManagerFactory', #SystemTag Manager Factory 'mail_template_class' => 'OC\\Mail\\EMailTemplate', #邮件模板 'maintenance' => false, #维护模式 /**'openssl' => array( #OpenSSL 'config' => '/absolute/location/of/openssl.cnf', ),**/ 'memcache.local' => 'OC\\Memcache\\APCu', #Memcached 'memcache.distributed' => 'OC\\Memcache\\Memcached', 'redis' => [ #Redis 'host' => 'localhost', #Redis 服务器 'port' => 6379, #Redis 端口 'timeout' => 0.0, #Redis 超时设定 'password' => '7p^*F}7nMYX^N=ufP]vVU)u27JDXiii8Hd4Mq2P8RAPxLg)WxCUT,2#9pRmvsxrZ', #Redis 密码 'dbindex' => 1, #Redis 数据库选择 ], 'memcached_servers' => array( #Memcached 服务器 array('localhost', 11211), ), 'memcached_options' => array( #Memcached 选项 \Memcached::OPT_CONNECT_TIMEOUT => 50, \Memcached::OPT_RETRY_TIMEOUT => 50, \Memcached::OPT_SEND_TIMEOUT => 50, \Memcached::OPT_RECV_TIMEOUT => 50, \Memcached::OPT_POLL_TIMEOUT => 50, \Memcached::OPT_COMPRESSION => true, \Memcached::OPT_LIBKETAMA_COMPATIBLE => true, \Memcached::OPT_BINARY_PROTOCOL => true, ), 'cache_path' => '/www/file/data/$user/cache', #缓存目录 'cache_chunk_gc_ttl' => 60*60*24, #缓存删除时间 /*'objectstore' => [ #Object Store 模式 'class' => 'OC\\Files\\ObjectStore\\Swift', 'arguments' => [ // trystack will use your facebook id as the user name 'username' => 'jonny0201', // in the trystack dashboard go to user -> settings -> API Password to // generate a password 'password' => 'Secr3tPaSSWoRdt7', // must already exist in the objectstore, name can be different 'container' => 'nextcloud', // prefix to prepend to the fileid, default is 'oid:urn:' 'objectPrefix' => 'oid:urn:', // create the container if it does not exist. default is false 'autocreate' => true, // required, dev-/trystack defaults to 'RegionOne' 'region' => 'RegionOne', // The Identity / Keystone endpoint 'url' => 'http://8.21.28.222:5000/v2.0', // required on dev-/trystack 'tenantName' => 'facebook100000123456789', // dev-/trystack uses swift by default, the lib defaults to 'cloudFiles' // if omitted 'serviceName' => 'swift', // The Interface / url Type, optional 'urlType' => 'internal' ], ],*/ 'sharing.managerFactory' => 'OC\\Share20\\ProviderFactory', #Share Provider Factory 'sharing.maxAutocompleteResults' => 7, #用户搜索最大返回数 'sharing.minSearchStringLength' => 0, #搜索最小长度 /*'dbdriveroptions' => array( #MySQL SSL PDO::MYSQL_ATTR_SSL_CA => '/file/path/to/ca_cert.pem', PDO::MYSQL_ATTR_INIT_COMMAND => 'SET wait_timeout = 28800' ),*/ #'sqlite.journal_mode' => 'DELETE', #SQLite journal 模式 'mysql.utf8mb4' => false, 'supportedDatabases' => array( #支持的数据库 'sqlite', 'mysql', 'pgsql', 'oci', ), 'tempdirectory' => '/tmp/nextcloudtemp', #Temp 文件夹 'hashingCost' => 10, #加密数值 #'blacklisted_files' => array('.htaccess'), #禁止列表 'share_folder' => '/', #默认分享文件夹 'theme' => '', #主题 'cipher' => 'chacha20', #加密方式 'minimum.supported.desktop.version' => '2.17.8', #最小桌面客户端版本 'quota_include_external_storage' => false, #外部存储 'filesystem_check_changes' => 1, #文件系统更改检测 'part_file_in_storage' => true, #上传时切割 'mount_file' => '/www/file/data/mount.json', #mount.json 路径 'filesystem_cache_readonly' => false, #文件缓存只读 #'trusted_proxies' => array('203.0.113.45', '198.51.100.128'), #信任的 Proxy 服务 器列表 'forwarded_for_headers' => array('HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR'), #转发 'max_filesize_animated_gifs_public_sharing' => -1, #动态图片 gif 预览最大大小, 单位 :MB 'filelocking.enabled' => true, #文件协作 'filelocking.ttl' => 60*60, #文件协作锁定时间, 单位 : 秒 'memcache.locking' => 'OC\\Memcache\\Redis', #文件协作缓存方式 'filelocking.debug' => false, #文件写作 Debug 模式 'upgrade.disable-web' => false, #基于 Web 的更新程序 'debug' => false, #Debug 模式 'data-fingerprint' => '', #备份确认 'copied_sample_config' => false, #默认配置确认 #'lookup_server' => 'https://lookup.nextcloud.com', #自定义查询服务器 'gs.enabled' => false, #Nextcloud's Global Scale 'gs.federation' => 'internal', #内部使用 Nextcloud's Global Scale ); ?-->

参考Nextcloud个人云存储绝佳选择:一键自动安装方法和云盘使用体验
NextCloud 进阶玩法


鸿鹄博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明vps弄个网盘
喜欢 (2)
[aa@qq.com]
分享 (0)
无奈
关于作者:
一个爱探索 爱分享的boy
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址