将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)
前言的前言
想通过本平台记录一些折腾小主机的过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。之前写了2篇
《将ubuntu设置为NAS——1. Transmission-daemon安装》
我目前的主机外壳采用蜗牛星际外壳,主板是暴风酷播云主板J3455,电源是暴风酷播云的台达电源,硬盘是一块固态硬盘,3块1T的机械硬盘,原蜗牛星际背板拆除,电源与数据线直接接硬盘的方式。软件层面主要是用Kubuntu18.04系统(ubuntu其他风味版,和原版功能上没有太大区别),安装了Transmission-daemon用于下载,nextcloud用于网络硬盘,kvm作为虚拟机开软路由,还有其他一些简单功能,基本实现NAS的作用。后面我将慢慢分享其中的过程,作为小白,很多都是自己参考网上根据其他作者文章,再自己摸索实践出来,如有谬误,请各位指正,大家共同学习。后面涉及的命令行都是在ubuntu终端(不要问我终端是什么 )中输入,请大家注意。
正式前言
nextcloud是目前我见到的功能最强大的免费的开源私有云盘,可以自己搭建服务器,本身支持挂载外部云盘(微软的onedrive,google的云盘等等),支持webDAV协议,支持在线预览视频、照片,pdf文档等等,同时有PC客户端,手机客户端等多客户端支持,非常适合用来存储私人文件。
本篇想写一下关于nextcloud安装过程。nextcloud安装方法比较多,比较简单的方式是snap安装,基本就是一条命令就搞定了snap install nextcloud ,推荐不愿意折腾的值友尝试。还有就是docker方式安装,结合官方的脚本,也能实现比较简单的安装。但你既然看了我这个文章,相信你也是一位乐于折腾的人 。
先分析一下snap安装的问题,一个就是安装时间慢,主要是被墙的问题,更新snap和下载nextcloud很慢,还有个问题是nextcloud版本一般不是最新的。
docker安装的问题,其实就是操作上不是很直观,部分文件存储在docker抽屉里,需要再映射出来。
最终个人考虑手动搭建php环境安装 ,这是个大坑,请做好心理准备,当然最后基本都顺利解决了。
1、安装Apache2
sudo apt-get install apache2
安装完成后,浏览器访问http://your ip/,出现如下网页表示安装成功。
修改状态: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
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网页
4、安装phpMyAdmin
这个是在线管理数据库用。
sudo apt-get installphpmyadmin
安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。
重启服务:servicephp7.2-fpm restart&service apache2 restart
测试:浏览器访问:http://your ip/phpmyadmin
可以用之前设置的数据库账号nextcloud和密码登陆
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还没有关系。。。 ,你也可以采用宝塔或其他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界面,注意填写管理员的用户名和密码(自行设置)。
7、总结
本篇介绍了php环境搭建和nextcloud安装,nextcloud安装过程其实不复杂,主要复杂在php环境搭建。当然安装完这个nextcloud其实只是挖坑的过程,后面还有手机nextcloud的app安装与访问,nextcloud挂载外部存储方法,nextcloud不受信任域名访问等等大大小小问题,这将在下一篇进行介绍。
还好假牙找到了
校验提示文案
kxbs
校验提示文案
文叨_
校验提示文案
凹凸木偶
校验提示文案
黑夜呐喊
校验提示文案
儒勒子
校验提示文案
疯狂的蜂鸟
校验提示文案
东皓雪
校验提示文案
likecho
校验提示文案
junshouwen
校验提示文案
儒勒子
校验提示文案
东皓雪
校验提示文案
疯狂的蜂鸟
校验提示文案
junshouwen
校验提示文案
黑夜呐喊
校验提示文案
凹凸木偶
校验提示文案
文叨_
校验提示文案
kxbs
校验提示文案
还好假牙找到了
校验提示文案
likecho
校验提示文案