将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)

2019-10-03 18:56:21 19点赞 129收藏 23评论

前言的前言

想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇

《将ubuntu设置为NAS——1. Transmission-daemon安装》

《将ubuntu设置为NAS——2. 新增硬盘挂载》

我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式。软件层面主要是用Kubuntu18.04系统(ubuntu其他风味版,和原版功能上没有太大区别),安装了Transmission-daemon用于下载,nextcloud用于网络硬盘,kvm作为虚拟机开软路由,还有其他一些简单功能,基本实现NAS的作用。后面我将慢慢分享其中的过程,作为小白,很多都是自己参考网上根据其他作者文章,再自己摸索实践出来,如有谬误,请各位指正,大家共同学习。后面涉及的命令行都是在ubuntu终端(不要问我终端是什么将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上) )中输入,请大家注意。

正式前言

nextcloud是目前我见到的功能最强大的免费的开源私有云盘,可以自己搭建服务器,本身支持挂载外部云盘(微软的onedrive,google的云盘等等),支持webDAV协议,支持在线预览视频、照片,pdf文档等等,同时有PC客户端,手机客户端等多客户端支持,非常适合用来存储私人文件。

本篇想写一下关于nextcloud安装过程。nextcloud安装方法比较多,比较简单的方式是snap安装,基本就是一条命令就搞定了snap install nextcloud将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)推荐不愿意折腾的值友尝试。还有就是docker方式安装,结合官方的脚本,也能实现比较简单的安装。但你既然看了我这个文章,相信你也是一位乐于折腾的人将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)

先分析一下snap安装的问题,一个就是安装时间慢,主要是被墙的问题,更新snap和下载nextcloud很慢,还有个问题是nextcloud版本一般不是最新的。

docker安装的问题,其实就是操作上不是很直观,部分文件存储在docker抽屉里,需要再映射出来。

最终个人考虑手动搭建php环境安装将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上) ,这是个大坑,请做好心理准备,当然最后基本都顺利解决了。

1、安装Apache2

sudo apt-get install apache2

安装完成后,浏览器访问http://your ip/,出现如下网页表示安装成功。

安装apache2安装apache2

修改状态:service apache2 status|start|stop|restart

站点目录:/var/www/

修改权限:sudo chmod 777 /var/www

安装目录:/etc/apache2/

全局配置:/etc/apache2/apache2.conf

监听端口:/etc/apache2/ports.conf

虚拟主机:/etc/apache2/sites-enabled/000-default.conf

作者:duyi324

链接:https://www.jianshu.com/p/44f86003ac37

2、安装MariaDB(ubuntu默认是10.1版)

sudo apt-get install mariadb-servermariadb-client

启动MariaDB服务:sudo systemctl start mysql

查看状态:sudo systemctl status mysql ,ctrl+c退出

重启服务:service mysql restart

查看监听端口的情况:netstat -tunpl 或 netstat -tap

执行初始化安全脚本,默认root密码为空,设置root密码和其他选项:sudo mysql_secure_installation

上述初始化设置过程可参考https://www.jb51.net/article/47727.htm,或者设置密码后,一路回车。

为NextCloud创建数据库和用户,创建数据库nextcloud,用户名nextcloud,密码XXXXXXXX(自行设置,后面有用)

sudo mysql -u root -p //注意其中的空格

进入MariaDB后,执行:

#创建数据库,名为:nextcloud,密码`XXXXXXXX`

CREATE DATABASE nextcloud;

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'XXXXXXXX';
FLUSH PRIVILEGES;

#退出

q

可以修改密码

set password for nextcloud@localhost = password('yyyyyyy');

3、安装PHP及其他模块

sudo apt-get installphp7.2
sudo apt-get install apache2 mariadb-serverlibapache2-mod-php7.2
sudo apt-get installphp7.2-gdphp7.2-jsonphp7.2-mysqlphp7.2-curlphp7.2-mbstring
sudo apt-get installphp7.2-intl php-imagickphp7.2-xmlphp7.2-zip

测试:php7.2 -v php7.2-mcrypt

重启服务:

service apache2 restart

测试Apache能否解析PHP

执行

sudo nano /var/www/html/phpinfo.php

文件中写:<?phpechophpinfo();?>

使用Ctrl+O来保存所做的修改,回车确定

按Ctrl+X退出

浏览器访问:http://your ip/phpinfo.php,出现PHPVersion网页

将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)

4、安装phpMyAdmin

这个是在线管理数据库用。

sudo apt-get installphpmyadmin

安装phpmyadmin安装phpmyadmin

安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。

设置phpmyadmin设置phpmyadmin

设置phpmyadmin密码设置phpmyadmin密码

重启服务:servicephp7.2-fpm restart&service apache2 restart

测试:浏览器访问:http://your ip/phpmyadmin

可以用之前设置的数据库账号nextcloud和密码登陆

访问phpmyadmin访问phpmyadmin

登入phpmyadmin登入phpmyadmin

5、配置Apache

sudo nano /etc/apache2/apache2.conf

在最后面添加:

AddType application/x-httpd-php.php.htm .html
AddDefaultCharset UTF-8

ctrl+o保存,ctrl+x退出。然后重启Apache服务

sudo service apache2 restart

  到此为止,web站点其实已经搭建起来了,只需在/var/www/html目录下存放网页文件,电脑主机就可以访问服务器了,http://ip/xxx.html。

其实到这里,都只是设置了php环境,跟nextcloud还没有关系。。。将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上) ,你也可以采用宝塔或其他php环境搭建工具设置相关功能。其中phpmyadmin可以不用安装。

6、下载nextcloud

目前nextcloud最新是17.0.0,我记录过程其实比较早,当时还是16.0.0,所以下面部分截图可能还是16.0.0,请自行替换最新版本(查看https://nextcloud.com/install/#instructions-server)也可以在自己复制地址,用迅雷下载后解压到'/var/www/html',用如下命令行下载速度比较慢,请最好先翻墙。

cd /var/www/html //进入php目录
sudo wget https://download.nextcloud.com/server/releases/nextcloud-17.0.0.zip //下载nextcloud
sudo unzip nextcloud-17.0.0.zip //解压zip
sudo rm nextcloud-17.0.0.zip //移除下载的zip包

当前目录下,权限也设置,不然会有问题。

cd /var/www/html
sudo chownwww-data nextcloud -Rf //设置当前账户权限,apache2是www-data账号,根据自己服务器情况设置
sudo chmod 770 nextcloud -Rf //设置权限770

接下来只需要在电脑主机的浏览器上输入http://ip/nextcloud,就可以正常访问了。( IP填ubuntu主机IP地址)

设置nextcloud设置nextcloud

nextcloud数据库nextcloud数据库

数据库就是之前设置的账户nextcloud,密码自己之前设置的密码,数据库名也是之前设置名nextcloud。等待一小会就进入nextcloud界面,注意填写管理员的用户名和密码(自行设置)。

进入nextcloud界面进入nextcloud界面

7、总结

本篇介绍了php环境搭建和nextcloud安装,nextcloud安装过程其实不复杂,主要复杂在php环境搭建。当然安装完这个nextcloud其实只是挖坑的过程,后面还有手机nextcloud的app安装与访问,nextcloud挂载外部存储方法,nextcloud不受信任域名访问等等大大小小问题,这将在下一篇进行介绍。

展开 收起

网心云 OEA-180天回本-无需硬盘 家庭必备-O6期

网心云 OEA-180天回本-无需硬盘 家庭必备-O6期

暂无报价

OEC-turbo-共享闲置宽带赚零花 -性能提升跑量高-1011

OEC-turbo-共享闲置宽带赚零花 -性能提升跑量高-1011

暂无报价

OEC-强悍性能轻松跑量-共享宽带赚零花-1010

OEC-强悍性能轻松跑量-共享宽带赚零花-1010

暂无报价

OES Plus-共享网络赚零花-多重升级-1012

OES Plus-共享网络赚零花-多重升级-1012

暂无报价

Synology 群晖 BeeDrive 个人备份存储助手

Synology 群晖 BeeDrive 个人备份存储助手

1050元起

HUAWEI 华为 AS6020-PS 家庭存储断电保护器

HUAWEI 华为 AS6020-PS 家庭存储断电保护器

349元

N2 恩兔 ND-1 双盘位家庭云盘

N2 恩兔 ND-1 双盘位家庭云盘

暂无报价

HIKVISION 海康威视 H99 网络硬盘盒

HIKVISION 海康威视 H99 网络硬盘盒

228元起

HUAWEI 华为 ST310-S1 手机移动存储 1T 英伦灰

HUAWEI 华为 ST310-S1 手机移动存储 1T 英伦灰

暂无报价

SanDisk Ultra USB 3.0 U盘闪存盘 带钥匙孔 办公视频照片文件备份传输 黑色 64G

SanDisk Ultra USB 3.0 U盘闪存盘 带钥匙孔 办公视频照片文件备份传输 黑色 64G

299元起

Synology 群晖 DX513 5盘位NAS网络存储扩充设备

Synology 群晖 DX513 5盘位NAS网络存储扩充设备

暂无报价

硬酷R1 Pro限量尊享版 标配金属上盖 全铜散热器

硬酷R1 Pro限量尊享版 标配金属上盖 全铜散热器

暂无报价

SONY 索尼 128GB SF-M SD V60系列数字存储卡

SONY 索尼 128GB SF-M SD V60系列数字存储卡

暂无报价

WD西部数据个人云存储6t My Cloud Home Duo私有储存云盘6tb 西数网络家用存储器网盘nas云硬盘 家庭云wifi

WD西部数据个人云存储6t My Cloud Home Duo私有储存云盘6tb 西数网络家用存储器网盘nas云硬盘 家庭云wifi

暂无报价

HONOR 荣耀 存储手机伴侣 手机移动硬盘 1TB

HONOR 荣耀 存储手机伴侣 手机移动硬盘 1TB

暂无报价

Synology 群晖 DiskStation DS220+ 网络存储服务器 NAS套装

Synology 群晖 DiskStation DS220+ 网络存储服务器 NAS套装

暂无报价
23评论

  • 精彩
  • 最新
  • 技术有限,完全没看懂!只能点个赞,然后默默的说牛啤,牛啤

    校验提示文案

    提交
    感谢?支持 [脸红]

    校验提示文案

    提交
    收起所有回复
  • 之前PHP安装方式折腾了很久没搞定,索性snap install nextcloud,100人环境,已使用1年多

    校验提示文案

    提交
    php坑确实很多,实话说还是snap方式简单,一条命令基本就没有问题了,推荐使用

    校验提示文案

    提交
    腾讯云2核4g 50g空间安装了,用用看吧。

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 怎么不用docker

    校验提示文案

    提交
    下次再用docker方式水一篇文章 [惊喜]

    校验提示文案

    提交
    收起所有回复
  • 这届划片空间跑docker,哪有这么复杂的设置

    校验提示文案

    提交
    后面写了篇用docker安装的

    校验提示文案

    提交
    收起所有回复
  • 现在很多地方已经有ipv6了,能介绍一下mextcloud如何设置通过ipv6被访问及手机和电脑端如何访问。

    校验提示文案

    提交
    还没试过ipv6,有机会试试看再做介绍,不过以我浅薄的理解,ipv6通过动态域名解析ddns,应该跟ipv4没有什么区别,难点可能在ddns对ipv6的支持和配置

    校验提示文案

    提交
    确实如此,华硕路由器上的ddns和端口映射只针对ipv4,和ipv6没关系。再说ipv6地址那么多,可能也不需要麻烦地端口映射了。

    校验提示文案

    提交
    收起所有回复
  • 楼主,我在第三步卡住了,PHPversion页面是空白的,啥也没有,能帮帮我吗?

    校验提示文案

    提交
    可以试试新建文件test.php或者其他的*.php,我在这步也搞了半天,结果只是文件名问题,用phpinfo.php就不行,打开就下载一个空白文件,换了名字后就能看了。

    校验提示文案

    提交
    收起所有回复
  • 在我玩过的网盘里,国外开源首推nextcloud,在开源里面是生态最丰富、插件最多的,可够折腾的;折腾累了想找个用用,必须是可道云kodbox了(国产半开源),UI 漂亮,操作真心灰常灰常流畅,插件也够用

    校验提示文案

    提交
  • 我用可道云,有时真心羡慕nextcloud的各种强大功能~如果有一款产品可以综合可道云的界面+nextcloud的插件,那简直天下无敌了。

    校验提示文案

    提交
  • 马克.后续关注学习一下 [赞]

    校验提示文案

    提交
  • 水真多,哈哈哈

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
129
扫一下,分享更方便,购买更轻松