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

2019-10-03 18:56:21 19点赞 127收藏 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不受信任域名访问等等大大小小问题,这将在下一篇进行介绍。

展开 收起
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的插件,那简直天下无敌了。

    校验提示文案

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

    校验提示文案

    提交
  • 水真多,哈哈哈

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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