您的位置:

利用Nextcloud搭建自己的云存储平台

一、前置知识

在学习Nextcloud搭建之前,你应该有以下的基础知识:

1、基本的Linux操作

2、Apache、MySQL、PHP构成LAMP/LNMP环境的搭建和基本使用。

二、安装步骤

在安装之前,确认你的系统已经安装好了LAMP/LNMP环境。

Step 1: 下载Nextcloud压缩包

$ wget https://download.nextcloud.com/server/releases/latest.tar.bz2

Step 2: 解压到 Apache 文件夹

$ tar -xvf latest.tar.bz2 -C /var/www/
$ chown -R www-data: /var/www/nextcloud/

Step 3: 配置数据库

首先登录MySQL,创建一个 Nextcloud 数据库:

$ mysql -u root -p
> CREATE DATABASE nextcloud;
> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD';
> FLUSH PRIVILEGES;
> EXIT;

Step 4: 运行Nextcloud安装程序

在浏览器中访问网址 http://localhost/nextcloud,进入Nextcloud的安装程序。在这里,你需要注意以下几个地方:

1、数据文件夹(务必阅读官方说明文档)的位置,/var/www/nextcloud/data 推荐使用默认位置,但是要根据实际情况做出调整。

2、在Database部分设置数据库的信息,包括数据库类型(MySQL/MariaDB等)、用户名、密码和刚刚创建的数据库名。

3、在administrator账户管理,根据自己需要进行相关设置。

在安装完毕后,你可以登录预先设置的管理员账户完成Nextcloud的基础设置。

三、 SSL加密设置

默认情况下,Nextcloud使用HTTP进行数据传输,数据将不会被加密。你需要通过SSL/TLS加密HTTPS流量来保证数据传输的安全。

Step 1: 创建一个自签名的证书

$ openssl genrsa -out /etc/ssl/private/nextcloud.key 2048
$ openssl req -new -key /etc/ssl/private/nextcloud.key -out /etc/ssl/certs/nextcloud.csr
$ openssl x509 -req -days 365 -in /etc/ssl/certs/nextcloud.csr -signkey /etc/ssl/private/nextcloud.key -out /etc/ssl/certs/nextcloud.crt

Step 2:配置Apache2的vhost

创建如下的 /etc/apache2/sites-available/nextcloud.conf 文件:

  
ServerName example.com
Redirect permanent / https://example.com/

  


ServerAdmin webmaster@example.com
DocumentRoot "/var/www/nextcloud"

ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/nextcloud.crt
SSLCertificateKeyFile /etc/ssl/private/nextcloud.key

Alias /nextcloud "/var/www/nextcloud/"


   
Options +FollowSymlinks
AllowOverride All


   
Dav off

   

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud



  

然后,启用新的vhost:

$ a2ensite nextcloud.conf
$ a2enmod ssl
$ systemctl restart apache2

Step 3: 常规设置

在此步骤中,只需在你的网站url中添加“https://”来获得加密连接。

四、启用扩展

Nextcloud拥有许多扩展来增强其功能。要启用这些扩展,请参考以下步骤:

Step 1: 在Nextcloud中启用扩展

进入 Nextcloud 并登录以使用管理员账户。然后,导航到 Apps 页面以启用和管理扩展。可以通过启用和禁用特定应用程序来控制其功能。

Step 2: 安装系统级扩展

Nextcloud还支持系统级扩展。这些扩展位于 /var/www/nextcloud/apps 文件夹中,用户可以通过浏览器中的“应用商店”管理页面或直接从GitHub下载。

例如,现在我们想在 Nextcloud 中安装 OnlyOffice 扩展:

$ cd /var/www/nextcloud/apps
$ git clone https://github.com/ONLYOFFICE/onlyoffice-nextcloud.git onlyoffice

然后一旦克隆出仓库,需要继续导航到“应用商店”管理页面并单击“+”图标以安装 OnlyOffice 扩展。

五、备份和恢复

备份和恢复 Nextcloud 数据文件夹非常重要,你应该使用块级备份(如LVM)或完整备份((如rsync)避免数据丢失。我们来看一下使用rsync进行备份和恢复的方法:

Step 1:备份数据

$ rsync -Aax /var/www/nextcloud/ /home/user/nextcloud-bak/

Step 2:恢复数据(假设备份文件夹在 /home/user/nextcloud-bak/

$ rsync -Aax /home/user/nextcloud-bak/ /var/www/nextcloud/

六、常见问题

Q: 我的上传文件大小超过了 PHP 默认设置如何处理?

A: 打开 php.ini 文件(一般位于 /etc/php5/apache2/php.ini),将以下值修改为所需大小(例如,100MB):

upload_max_filesize = 100M;
post_max_size = 100M;

然后,重启 Apache 即可。

Q: 如何处理 Nextcloud 中的 HTTP to HTTPS 重定向?

A: 使用 Apache vhost 如上所述进行配置即可。

Q: 如何删除 Nextcloud 中的用户?

A: 登录到Nextcloud的管理员账户,进入 “Users” 页面,找到与欲删除的用户关联的账户并点击删除按钮。