介绍
Nextcloud是ownCloud的一个分支,它是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在一个集中位置,与Dropbox非常相似。与Nextcloud的区别是它的所有功能都是开源的。它还将敏感数据的控制和安全性返回给您,从而避免使用第三方云托管服务。 在本教程中,我们将在Ubuntu 16.04服务器上安装和配置Nextcloud实例。先决条件
要完成本指南中的步骤,您需要以下内容:- 你的服务器上要有sudo用户 :您可以按照创建使用sudo权限的用户Ubuntu 16.04服务器初始设置指南 。
- LAMP环境:Nextcloud需要Web服务器,数据库和PHP才能正常工作。 设置LAMP(Linux,Apache,MySQL和PHP)服务器满足所有这些要求。 按照本指南安装和配置这个软件。
- SSL证书 :你如何设置这取决于你是否拥有一个解析为您的服务器域名。 - 如果你有一个域名......,以确保您的网站是咱们的加密,它提供免费的,可信证书的最简单方法。 按照咱们的加密指南为Apache设置。 - 如果你没有域名......你只是使用测试或个人使用此配置,您可以使用自签名证书来代替。 这提供了相同类型的加密,但没有域验证。 按照自签名的SSL指南Apache才能完成设置。
第一步 - 下载Nextcloud
首先,请访问 Nextcloud发布页面 : 向下滚动到页面底部,单击鼠标右键,复制.tar.bz2
链接,最新的稳定版本。可能有更新的版本,如下图所示:
在服务器上,移动到可写目录:
cd /tmp
然后,使用
curl
命令和Nextcloud链接下载压缩包文件:
curl -LO https://download.nextcloud.com/server/releases/nextcloud-10.0.1.tar.bz2
虽然我们直接从项目的网站下载tarball,但最佳做法是验证从Internet下载的项目的真实性和完整性。此验证方法证明文件在下载过程中既未被篡改,也未损坏或损坏。返回到
发布页面单击鼠标右键,复制的链接
.sha256
,您之前下载的压缩包文件的版本相匹配的文件。 回到服务器上,使用
curl
命令和新的链接下载校验和文件:
curl -LO https://download.nextcloud.com/server/releases/nextcloud-10.0.1.tar.bz2.sha256
接下来,使用
shasum
命令来计算哈希为
.tar.bz2
文件,并把它比作在校验值
.sha256
文件。 该
-a
标志定义算法和
-c
标志读取指定的文件并检查其反对的哈希值之和
.tar.bz2
文件:
shasum -a 256 -c nextcloud-10.0.1.tar.bz2.sha256 < nextcloud-10.0.1.tar.bz2
Outputnextcloud-10.0.1.tar.bz2: OK
您可以安全地删除
.sha256
文件与
rm
命令:
rm nextcloud-10.0.1.tar.bz2.sha256
下载Nextcloud并验证文件的完整性,让我们继续安装。
第2步 - 安装Nextcloud
Nextcloud的安装包括提取tarball以为Apache创建文档根目录,执行脚本以设置提取的文件的正确所有权和权限,并更新Apache的配置以使其了解新应用程序。 通过启动tar
使用命令
-C
标志归档的内容保存到指定的目录。 该
-x
标志执行提取功能,
-v
产生冗长的输出,
-j
过滤通过存档
bzip2
压缩实用程序,并
-f
指定要上执行的操作的文件名:
sudo tar -C /var/www -xvjf /tmp/nextcloud-10.0.1.tar.bz2
tarball不是特定于发行版的,因此文件的所有权和权限不正确。然而,
Nextcloud有一个脚本 ,我们可以用它来解决这个问题。 创建具有一个shell脚本文件
nano
编辑器:
nano /tmp/nextcloud.sh
将以下内容添加到文件中:
/tmp/nextcloud.sh
#!/bin/bash
ocpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
运行带有脚本
bash
命令:
sudo bash /tmp/nextcloud.sh
OutputCreating possible missing Directories
chmod Files and Directories
chown Directories
chmod/chown .htaccess
接下来,创建了一个网站的配置文件
/etc/apache2/sites-available
目录:
sudo nano /etc/apache2/sites-available/nextcloud.conf
将以下行添加到文件:
/etc/apache2/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
保存并退出文件。为了使该网站使用
a2ensite
命令:
sudo a2ensite nextcloud
OutputEnabling site nextcloud.
. . .
除了启用该网站,使用
a2enmod
命令来启用
mod_rewrite
Apache模块,这Nextcloud要求才能正常工作。
sudo a2enmod rewrite
OutputEnabling module rewrite.
. . .
最后,在重新启动Apache之前,为Nextcloud中的其他功能安装一些可选的PHP模块:
sudo apt-get update
sudo apt-get install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip
现在,使用
systemctl
实用程序与
reload
命令来更改应用到Apache:
sudo systemctl reload apache2
在安装了Nextcloud并正确配置了Web服务器后,我们将继续为要使用的应用程序设置数据库。
第3步 - 创建MySQL数据库
要开始,请使用管理帐户登录MySQL:mysql -u root -p
输入您在安装软件时为MySQL root用户设置的密码。 Nextcloud需要一个单独的数据库来存储管理数据。虽然你可以调用这个数据库不管你愿意,我们决定用这个名字
nextcloud
让事情变得简单。
CREATE DATABASE nextcloud;
注意:每个MySQL的语句必须以分号(;)结束。 如果您遇到任何问题,请务必检查这是否存在。 接下来,创建一个单独的MySQL用户帐户,与新创建的数据库进行交互。从管理和安全的角度来看,创建单功能数据库和帐户是一个好主意。与数据库的命名一样,选择您喜欢的用户名。我们选择去与名称
nextcloud
本指南
GRANT ALL ON nextcloud.* to 'nextcloud'@'localhost' IDENTIFIED BY 'set_database_password';
警告:请务必把一个实际的密码所在的命令读取: set_database_password
通过用户分配对数据库的访问权限,执行flush-privileges操作以确保MySQL的正在运行的实例知道最近的权限分配:
FLUSH PRIVILEGES;
MySQL的配置到此结束,因此我们将通过键入以退出会话:
exit
随着数据库的设置,我们准备把注意力转向配置Nextcloud。
第4步 - 配置Nextcloud
要访问Nextcloud Web界面,请打开Web浏览器并导航到以下地址:https://server_domain_or_IP/nextcloud
如果正在使用自签名证书,您可能会收到警告,因为证书未由您的浏览器的可信授权机构签名。这是预期和正常的。我们只对证书的加密方面感兴趣,而不是对我们主机的真实性的第三方验证。单击适当的按钮或链接以继续到Nextcloud管理页面。 你应该看到这样:
通过选择用户名创建管理员帐户(建议避免使用类似“admin”的安全原因)和密码。
根据
存储和数据库部分保持
数据文件夹设置原样,并输入数据库信息,您在上一步中创建,在
配置数据库部分。下面是一个示例,它匹配我们在本指南中使用的数据库凭据:
点击
完成设置按钮登录到Nextcloud
一个安全的home为所有应该出现
的数据:
单击
X在启动画面进入主界面的右上角:
在这里,您可以创建或上传文件到您的个人云。