私有网盘搭建——Ubuntu使用宝塔面板安装Nextcloud及优化 ------超详细

所需工具:

        Ubuntu20桌面版        官网下载链接

        Nextcloud23.0.3        官网下载链接

系统前提:

        注:系统必须使用Linux系统进行安装,我也曾经使用过windows Server尝试安装过,但是在系统初始化数据库的时候总是以失败告终……

        此处所使用的系统桌面登录方式全部是以root用户登录,但是Ubuntu默认并不支持用户以root用户登录桌面,所以就要对系统进行修改。
教程链接:
Ubuntu 如何实现用 root账户直接登陆_~晨曦静竹~的博客-CSDN博客_ubuntu直接root登陆

        如果系统出现了vi模式下上下左右按键变成了abcd字母的错误,那么也需要对vi工具进行修复。
教程链接:
Ubuntu使用vi编辑时按上下左右变成ABCD

        首先,使用root账户登录到桌面。然后打开“命令行终端”,输入:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

        之后按回车开始下载。

        过程中会提示是否同意安装,输入y按回车确认。

        如果中间提示需要插入ubuntu20光盘并按回车继续,那么只需要将ubuntu20的镜像文件复制到ubuntu20系统中,并双击iso镜像文件,让其自动挂载,然后按回车继续即可。

         安装完成之后按照命令行弹出的内网地址以及账号密码登录控制面板

        弹出推荐的安装环境,这里先不用管,我们先点击右上角的叉号取消安装。

        然后进入面板设置,及时修改面板登录安全入口,以及账号密码。

        至此,宝塔面板安装完成,接下来开始配置环境。

        然后进入软件商店,依次安装Apache 2.4、mysql8.0、php8.0、Pure-Ftpd(可选  FTP软件,方便以后文件管理)

        安装Apache 2.4

 

         安装mysql 8.0

 

         安装php8.0

 

         安装Pure-Ftpd(可选  FTP软件,方便以后文件管理)

         然后我们来配置php扩展。

        进入软件商店,找到php,点击后边的设置按钮,点进去

        然后点击“安装扩展”,之后依次安装扩展fileinfo、opcache、redis、apcu、imagemagick、exif、intl、bz2、gmp扩展。

        如果gmp扩展出现安装失败,并且报(configure: error: GNU MP Library version 4.2 or greater required. make: *** No targets specified and no makefile found. Stop.)的错误,则进入Ubuntu20的命令行终端,执行以下命令后重新安装gmp即可。

apt install libgmp-dev

        安装完以后不要忘记进入phpinfo界面查看安装是否生效。

         如果“缓存器”这一栏全都是NO,那么可以参照这个链接进行修复:

宝塔面板已安装apcu等缓存器但宝塔面板的phpinfo显示未安装 Ubuntu宝塔面板搭建nextcloud OCC命令报错apcu问题

        之后进入“配置修改”页面,修改上传文件最大限制,这里我修改到102400M,也就是最大可上传100G文件。
        设置max_execution_time(设置一个php脚本最久可以运行多长时间,防止脚本缺陷导致脚本不断运行一直占用系统资源等问题,如果设置的太小,传输大文件的时候有可能文件还没传输完成然后负责文件传输的脚本就被强行挂掉了)的值,其单位是秒。
        设置max_input_time(设置脚本可以接收多久时间的数据,同样的道理如果值太小了服务器还没完全接收完大文件,就停止接收了)的值,其单位是秒。
        memory_limit设置为512M(nextcloud23.0官方推荐的最小限制值),之后单击保存

         之后进入“超时限制”页面,按照同样的道理设置超时时间,单位也是秒,然后单击保存。 

优化PHP-FPM(可选)
        选择php设置中的“性能调整”页面,根据自己服务器的性能进行配置,以优化自己的nextcoud性能。以下是我的配置值:

        具体的设置说明可以参照这篇文章:
宝塔php性能调优静态模式还是动态模式好?

        同样的,进入Apache的 设置——性能调整 页面,修改超时值,单位也是秒,然后保存。

         进入服务界面,重启Apache服务。

建立php临时目录
        此目录的作用是作为php文件传输的临时目录,当我们使用nextcloud上传文件时,我们所上传的文件会先保存到这个临时目录中,然后再从这个临时目录中将文件复制到最终目录下。在这里我把php的临时目录设置为 /tmp/nextcloudTmp 作为演示,您也可以按照自己的需求进行设置自己的目录。

        点击宝塔面板首页中的“文件”,建立临时目录文件夹,比如我这里作为演示,就是前往tmp文件夹下,然后在里边新建一个名为nextcloudTmp的文件夹,作为临时目录文件夹。

        然后右键我们刚才建好的文件夹,选择权限,将所有权限全部打勾,并且将所有者改为“www”,单击保存。

         然后再次进入到“软件商店”,点击php8.0后边的设置按钮,进入“配置文件”界面,然后按下“CTRL+F”组合键,在查找框中输入“upload_tmp_dir”,找到以后将前方的“;”去掉,在后方填写好我们刚才建立的临时文件目录的路径,然后单击保存。

禁用输出缓冲

        在php设”置界“面中的“配置文件”界面再次查找“output_buffering”,将后方的值改为0,禁用输出缓冲,然后单击保存。

启用shell_exec函数以支持nextcloud的“设置”页面中的“系统”页面

        进入到禁用函数中,找到“shell_exec”函数,点击后方的删除按钮。

        完成以上操作之后进入服务页面,手动重启以下php服务。

        至此,环境搭建完成。然后就可以开始安装nextcloud了。

        点击网站,然后单击添加网站

        设置站点域名,如果是主机有公网ip并且有于名解析到本机了,那么直接填写域名即可,如果没有,就填写本机地址(127.0.0.1:端口号)即可。(端口号这里自己随便分配一个,端口号就相当于数据进入房间走的门,想了解更多的请自行百度,但是尽量不要设置1000以下的端口,这里作为演示我就随便设置了81端口。)
        设置备注
        设置文件目录,也就是存放nextcloud应用程序的目录,这里我为了方便管理,把文件目录修改为了nextcloud(宝塔默认是ip地址进行文件夹命名)
        建立ftp(可选),账号密码尽量设置一个自己能记住的切安全等级较高的密码。在这里我统统以nextcloud作为演示。
        建立mysql数据库,同样的账号密码尽量设置一个自己能记住的切安全等级较高的密码。在这里我统统以nextcloud作为演示。

        然后单击提交完成创建。

        以上操作完成以后,接下来就要开始放置nextcloud文件了。
布置nextcloud文件可以通过两种方法进行布置,比较简单:
                方法一:使用宝塔面板进行下载并放置到对应目录
                方法二:使用Ubuntu客户端的浏览器进行下载布置
        在这里我选择使用宝塔面板进行下载和布置,进行演示,最终达到的效果和结构两种方法都是相同的。

        依次点击主页中的文件-->进入到如图所示的目录下-->点击远程下载按钮,然后将以下链接粘贴到URL地址栏中:

https://download.nextcloud.com/server/releases/nextcloud-23.0.3.zip

         然后单击确定,静待下载完成即可。

        下载完成之后,右键下载好的文件,选择解压,填充项全部默认即可,单击解压按钮进行解压。

         解压完成以后所有文件就会在nextcloud文件夹中。

         右键nextcloud文件夹,选择权限,将所有权限全部打勾,将所有者修改为www,然后保存。

        此时,就可以通过浏览器访问nextcloud然后进行应用初始化了。访问的地址为http://服务器地址:端口号,比如我的服务器在局域网中的地址地址是192.168.93.138,然后我前面为nextcloud分配的端口号是81,那么我访问的地址格式就是http://192.168.93.138:81,如果不知道自己服务器的ip地址,那么也可以使用linux命令行输入以下命令来查询本机ip:

ifconfig -a

        访问成功以后,自己设置一个管理员账号、密码,然后点击存储与数据库,填写自己想要将上传到服务器的文件保存位置的路径,这个路径后期是可以改的,后期我会出详细的教程,然后填写我们刚才设置好的mysql数据库的用户名和密码以及数据库名字,在这里我全部设置nextcloud作为演示,所以我全填写了nextcloud,然后就可以单击下方的“安装”按钮了。ps:这里加载的可能有点慢,还是要有耐心的。

        然后会推荐你安装一些应用,这里多数应用都是要到外网才能装上的,所以我们大多数情况下是不会成功安装的,这里直接点击“取消”跳过即可。然后便进入了nextcloud的主页了。

        下面,我们进行一些性能优化,这个也是可选的,毕竟是性能优化,不优化程序慢了一点而已。
        我们使用宝塔面板的文件管理,进入到nextcloud的程序主目录中的config文件夹中,双击config.php文件,进行编辑。

        在里边添加如下代码,以启用我们之前安装的redis、apcu模块,来单独处理缓存、事务文件锁,分担mysql数据库的压力。ps:一定要注意代码的插入位置!不要插错了!否则报错!可以参照下方插入后的截图!

'memcache.locking' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => [
	'host' => '127.0.0.1',
	'port' => 6379,
],

        插入后截图:

在nextcloud配置文件中修改php时间限制以支持大文件上传

        在宝塔面板的主页左侧栏中点击“文件”,然后依次进入到“/www/wwwroot/nextcloud/lib”目录下,双击base.php文件,进行编辑。

         按下“ctrl+F”组合键,在右上方弹出的查找框中输入“set_time_limit”关键字,查找“set_time_limit”设置项,然后分别将“set_time_limit(数值)、ini_set('max_execution_time', '数值')、ini_set('max_input_time', '数值')”中的数值改大,这里也是支持的最大数据传输时间,以秒为单位,43200就是12个小时,也就是最长可以传输12个小时的文件。

        然后按下“ctrl+S”组合键保存文件。

        至此,就大功告成啦!可以开始享受属于您自己的网盘系统了!

        在使用过程中可能还会遇到诸如“对文件进行编辑时显示文件无法重命名、删除”的错误,然后去设置查看日志,显示此文件被锁,对于这种问题后期我也会出解决办法的详细文章,还请大家耐心等候,多谢!

  • 16
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值