一、网站基础环境安装
宝塔官网安装脚本语句
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成后,会在最后显示登陆地址,和用户信息
根据宝塔安装完成后给的地址进入宝塔面板,会提示选择推荐安装套件。
这里我选择PHP7.3,因为截至我装的时间节点,Nextcloud版本是23.0.3,它对PHP版本的最低要求是PHP7.3。
后期版本更新如果不对会有提示“This version of Nextcloud requires at least PHP xx ”,可以根据提示来切换PHP版本
2.添加新站点
套件安装完毕后正式进入宝塔面板,选择“网站”–>“添加站点”
填写站点信息
面板–>“数据库”–>“phpMyAdmin”–>“通过面板登录”.这里可以先点开“root密码”这一项将数据库root密码复制或者修改,下一步会用到。
登录数据库
创建数据库新用户并赋权,勾选创建同名数据库和全部权限。
二、安装nextcloud
1.进入nextcloud官网下载服务端程序,地址如下
https://nextcloud.com/install/#instructions-server
页面中选择Archive File标签页里的Download Nextcloud
下载完成后将zip包传到服务器上
2.把zip包解压到刚刚建立的网站站点目录下,并在宝塔面板中重新给站点目录赋权
[root@77 ~]# unzip -d /www/wwwroot/10.2.192.21/ nextcloud-23.0.3.zip
3.在宝塔面板中重新给站点目录赋权
宝塔面板->文件->勾选你的站点目录->权限->755权限并勾选“应用到子目录”
4.打开网站填写创建nextcloud站点的信息并开始安装
IE打开创建的网站,出现nextcloud网盘页面,创建管理员账号、设置数据存放目录、填写第三步创建的数据库信息,最后点击安装。
(忘记截图)
安装完成后就可以正常使用nextcloud网盘了
5.安装ocDownloader
在网盘页面右上角头像的菜单下选择应用,然后搜索“ocDownloader”,选择下载并启用
自动安装完成后,左上角会出现一个云的图标,点击进去已经可以使用了
6.安装配置aria2
[root@77 ~]# yum install aria2
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* epel: mirror.sjtu.edu.cn
* extras: mirror01.idc.hinet.net
* rpmfusion-free-updates: ftp-stud.hs-esslingen.de
* updates: mirrors.tuna.tsinghua.edu.cn
软件包 aria2-1.34.0-5.el7.x86_64 已安装并且是最新版本
无须任何处理
我装完ocDownloader后aria2自动也装上了,但是新建离线下载的时候总是提示“确认返回GID为空!Aria2c是否以服务方式运行?”
这应该是虽然安装了aria2但是没有配置它造成的。
创建目录/etc/aria2赋权777
[root@77 etc]# mkdir /etc/aria2
[root@77 etc]# chmod 777 /etc/aria2
建立aria2的配置文件
[root@77 etc]# touch /etc/aria2/aria2.conf
[root@77 etc]# touch /etc/aria2/aria2.session
[root@77 etc]# chmod 777 /etc/aria2/aria2.conf
[root@77 etc]# nano /etc/aria2/aria2.conf
#用户名
#rpc-user=user
#密码
#rpc-passwd=passwd
#上面的认证方式不建议使用,建议使用下面的token方式
#设置加密的密钥
#rpc-secret=token
#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许外部访问,false的话只监听本地端口
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=1000
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
#在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/etc/aria2/aria2.session
#定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
#下载速度限制
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=/data/downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用
#disk-cache=0
#另一种Linux文件缓存方式
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
file-allocation=prealloc
#最小做种时间, 分钟
seed-time=30
#bt服务器设置
#bt-tracker=
以www用户权限启动aria2
[root@77 etc]# sudo -u www aria2c --conf-path=/etc/aria2/aria2.conf -D
然后创建一个下载任务,已经可以正常使用了
此时如果重启系统,aria2是不会随系统启动的,需要再创建一个服务文件
[root@77 etc]# touch /lib/systemd/system/aria2.service
[root@77 etc]# nano /lib/systemd/system/aria2.service
[Unit]
Description=Aria2c download manager
Requires=network.target
After=dhcpcd.service
[Service]
Type=forking
User=root
RemainAfterExit=yes
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf --daemon
ExecReload=/usr/bin/kill -HUP $MAINPID
RestartSec=1min
Restart=on-failure
[Install]
WantedBy=multi-user.target
设置aria2服务开机自启动
[root@77 etc]# systemctl enable aria2
Created symlink from /etc/systemd/system/multi-user.target.wants/aria2.service to /usr/lib/systemd/system/aria2.service.
[root@77 etc]# systemctl start aria2
终于完成了。。。
三、另附更换数据存储位置方法
1.确认现有数据目录,可以cat一下nextcloud安装目录里的config.php确认。
[root@77 config]# cat config.php
找到里面’datadirectory’ 这一行
2.创建新目录
[root@77 config]#mkdir /data/nextcloud
3.将现有的数据目录拷贝至新目录
[root@77 config]#cp /www/wwwroot/nextcloud/data /data/nextcloud/
4.修改config.php里’datadirectory‘的路径配置
‘datadirectory’ => ‘/www/wwwroot/nextcloud/data’
改为
‘datadirectory’ => ‘/data/nextcloud/data’
5.修改新数据文件目录的用户组和权限
[root@77 config]#chown -R www:www /data/nextcloud
[root@77 config]#chmod 777 -R /data/nextcloud
6.最重要的一点,也是在目录更换的时候困扰了我最久的一点。
做完以上操作之后,你会发现nextcloud崩溃了!权限、目录设置、SELinux一顿检查,没问题啊!config.php里路径改回旧路径又正常使用了,但是狭小的旧目录又根本存不了多少东西。
关键操作就在于,网站环境中的“防跨站攻击(open_basedir)”是默认打开的,不是放在网站目录下的本地资源都是访问不了的。
进入宝塔面板->网站->点击nextcloud的站点名或者后面的“设置”->网站目录->去除“防跨站攻击(open_basedir)”的勾选
报错的nextcloud恢复正常,查看数据目录空间,已经扩大很多了。