放弃百度网盘,教你使用Nextcloud开源程序搭建私有云盘

前文中详细介绍过Nextcloud私有云盘系统,中国大陆区的云盘生态系统现状这里就不作过多的阐述了,如人饮水冷暖自知。这里详细介绍一下Nextcloud私有云盘的搭建过程,希望给私人用户、创业公司小团队、企业单位等提供参考。

摘要: 

本文所指的Nextcloud私有云是托管在私有域名及VPS下的云盘,该私有云采用国外Nextcloud开源程序,网站架构使用LAMP.

NextCloud是一款用于自建私有网盘的云存储开源软件,采用PHP+MySQL开发,功能类似百度云盘,提供了PC、IOS和Android三个同步客户端支持多种设备访问,用户可以很方便地与服务器上存储的文件、日程安排、通讯录、书签等重要数据保持同步,还支持其他同步来源:Amazon S3、Dropbox、FTP、Google Drive、OpenStack Object Storage、SMB、WebDAV、SFTP。

NextCloud镜像是基于LAMP环境制作,下面是一些可能会用得到的参数:

TNEXT Nextcloud私有云盘

部署步骤:

一、安装Ubuntu 18.0.4 linux OS
二、安装php7.0
三、apache2 的配置
四、安装Mysql 数据库程序
五、nextcloud 安装配置

部署过程:

一、安装Ubuntu 18.0.4
在VPS购买的过程中,选择具体的网络节点位置[比如美国洛杉矶、日本京东…], 然后选择ubuntu 系统的版本进行安装。具体的节点位置和网络质量决定了后续云盘的上传和下载文件速度。这里可以参考如下购买链接,VPS购买

二、安装php7.0

添加源

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install apache2 mariadb-server libapache2-mod-php7.0
sudo apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring
sudo apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip php7.0-fpm

1. 启用Apache的php7.0模块,然后重启Apache

sudo a2enmod php7.0
sudo systemctl restart apache2

2. 启动php7.0-fpm进程

sudo systemctl start php7.0-fpm

3. 测试php7.0是否正常工作
在/var/www/html 目录下创建一个名称为infor.php的文件, vim编辑输入如下代码并保存退出:
phpinfo();

4. php 升级
1.apt install php7.2 你想要的php版本
a2dismod 现有的php
a2enmod php5.6或者7.2
/etc/init.d/apache2 restart
反过来降级也是这个思路
打开Web浏览器,输入http://server_address/infor.php可以查看上面的php信息代码页面作为确认

三、apache2的配置
1. apache2安装

sudo apt install apache2

开启pache2 的SSL模块,后面如果全站https访问时会用到

sudo a2enmod ssl

安装完成后,pache2的默认映射路径是/var/www/html
2. apache2详细配置
编辑Apache配置文件

vim /etc/apache2/xcloud.conf
VirtualHost *:80>
ServerName YourDomain
Redirect permanent / https://YourDomain/
/VirtualHost>
VirtualHost *:443>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/nextcloud/
ServerName YourDomain
ServerAlias www.YourDomain
IfModule mod_headers.c>
Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains”
/IfModule>
Alias /xcloud “/var/www/html/nextcloud/”

Directory /var/www/html/nextcloud/> Options +FollowSymlinks AllowOverride All Require all granted IfModule mod_dav.c> Dav off /IfModule> SetEnv HOME /var/www/html/nextcloud SetEnv HTTP_HOME /var/www/html/nextcloud /Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined /VirtualHost>

4. 调整上传文件大小限制:

sudo vim /etc/php/7.0/apache2/php.ini
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 4096M
max_execution_time = 360
//配置opcache
[opcache]
for nextcloud
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

安装完成后,重启apche2

sudo systemctl restart apache2

检测我们添加的配置有没有语法错误:

sudo apache2ctl configtest

重启Apache:

sudo systemctl restart apache2

四、安装Mysql 数据库程序
 1. SQL 的安装
sudo apt-get install mysql-server mysql-common
安装过程中会提示你输入数据库的root密码,这里设置成:XXXXXX
如果后续忘了root密码,参考如下链接:
http://www.ghostchina.com/how-to-reset-mysqls-root-password/
2. 新建sql数据库表
$ mysql -uroot -p
提示输入数据库入口密码: xxxxxx   //
接下来创建数据库名称:nextcloud ,
CREATE DATABASE nextcloud ; (记得一定加上分号,留一个缩进)

接下来为tnextorg创建一个新用户:xxx CREATE USER xxx@localhost ; 为此用户设置密码,比如把密码设置成xxxxx SET PASSWORD FOR xxxr@localhost =PASSWORD(“xxxxx”) ;

此外,还要为此用户设置访问pwifinet数据库的权限 GRANT ALL PRIVILEGES ON nextcloud.* TO xclouduser@localhost IDENTIFIED BY ‘xxxxx’ ;

最后使权限生效: FLUSH PRIVILEGES  ;

查看数据库是否成功创建, show databases ;

退出,数据库重启: sudo service mysql start

【bug】  关于mysqld.sock找不到导致无法连接mysql 的问题
先卸载

sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* —purge
sudo apt-get remove apparmor

再安装

sudo apt-get install mysql-server mysql-common

安装完成后再进入cd /var/run/mysqld/目录下,mysqld.sock存在了

五、nextcloud安装配置
 1. nextcloud 安装
 进入/var/www/html 目录,如果是多网站部署,最好为每个网站创建单独的文件夹,这里命名’xcloud’
sudo wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip
unzip nextcloud-14.0.0.zip
 将nextcloud目录下的文件全部拷贝到根目录:
scp -r * /var/www/html/nextcloud
2.加权限
sudo chown -R www-data /var/www/html/nextcloud
sudo chmod -R 755 /var/www/html/nextcloud
3. 进入到https://YourDomain 进行安装,安装完成后系统界面如下。
TNEXT NEXT CLOUD
16

本文由作者 Rebaka 发布在 TNEXT , 转载请联系service@tnext.org授权处理,获得授权后请保留文章的完整性并附上原文链接: https://tnext.org/3255.html

We will be happy to hear your thoughts

发表评论

TNEXT
账户注册
密码重置