如何在Debian9上安装和配置ownCloud

来自菜鸟教程
跳转至:导航、​搜索

介绍

ownCloud 是一个开源文件共享服务器和协作平台,可以将您的个人内容(如文档和图片)存储在一个集中位置。 这使您可以通过不依赖第三方内容托管服务(如 Dropbox)来控制您的内容和安全性。

在本教程中,我们将在 Debian 9 服务器上安装和配置 ownCloud 实例。

先决条件

为了完成本指南中的步骤,您将需要以下内容:

  • 服务器上的 sudo 用户和防火墙:您可以按照 Debian 9 初始服务器设置指南 创建具有 sudo 权限的用户并设置基本防火墙。
  • A LAMP 堆栈:ownCloud 需要 Web 服务器、数据库和 PHP 才能正常运行。 设置 LAMP 堆栈(Linux、Apache、MySQL 和 PHP)服务器可以满足所有这些要求。 按照本指南安装和配置这个软件。
  • SSL 证书:如何设置取决于您是否拥有解析到服务器的域名。 如果您有域名……保护您的网站的最简单方法是使用 Let's Encrypt,它提供免费的、受信任的证书。 按照 Apache 的 Let's Encrypt 指南进行设置。 如果您没有域......并且您只是将此配置用于测试或个人使用,则可以使用自签名证书。 这提供了相同类型的加密,但没有域验证。 按照 Apache 的自签名 SSL 指南进行设置。

第 1 步 – 安装 ownCloud

ownCloud 服务器包不存在于 Debian 的默认存储库中。 但是,ownCloud 为我们可以添加到服务器的分发维护一个专用存储库。

首先,让我们安装一些组件来帮助我们添加 ownCloud 存储库。 apt-transport-https 包允许我们使用 apt 源列表中的 deb https:// 来指示通过 HTTPS 提供的外部存储库:

sudo apt update
sudo apt install curl apt-transport-https

接下来,使用 curl 命令下载 ownCloud 发布密钥,并使用 apt-key 实用程序和 add 命令将其导入:

curl https://download.owncloud.org/download/repositories/production/Debian_9.0/Release.key | sudo apt-key add -

'Release.key' 文件包含一个 PGP(Pretty Good Privacy)公钥,apt 将使用它来验证 ownCloud 包的真实性。

除了导入密钥,在 aptsources.list.d 目录中创建一个名为 owncloud.list 的文件。 该文件将包含 ownCloud 存储库的地址。

echo 'deb http://download.owncloud.org/download/repositories/production/Debian_9.0/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list

现在,我们可以使用包管理器找到并安装ownCloud。 除了主包,我们还将安装一些额外的 PHP 库,ownCloud 使用这些库来添加额外的功能。 通过键入以下内容更新您的本地包索引并安装所有内容:

sudo apt update
sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files

我们需要的一切现在都安装在服务器上,所以接下来我们可以完成配置并开始使用该服务。

第 2 步 — 调整文档根目录

我们安装的ownCloud包将web文件复制到服务器上的/var/www/owncloud。 目前,Apache 虚拟主机配置设置为从不同目录提供文件。 我们需要更改配置中的 DocumentRoot 设置以指向新目录。

您可以使用带有 DUMP_VHOSTS 选项的 apache2ctl 实用程序查找哪些虚拟主机文件引用了您的域名或 IP 地址。 按服务器的域名或 IP 地址过滤输出,以在接下来的几个命令中查找需要编辑的文件:

sudo apache2ctl -t -D DUMP_VHOSTS | grep server_domain_or_IP

输出可能看起来像这样:

Output*:443                  server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP-le-ssl.conf:2)
         port 80 namevhost server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP.conf:1)

在括号中,您可以看到引用我们将用于访问 ownCloud 的域名或 IP 地址的每个文件。 这些是您需要编辑的文件。

对于每个匹配项,在具有 sudo 权限的文本编辑器中打开文件:

sudo nano /etc/apache2/sites-enabled/server_domain_or_IP.conf

在里面,搜索 DocumentRoot 指令。 更改该行,使其指向 /var/www/owncloud 目录:

示例 DocumentRoot 编辑

<VirtualHost *:80>
    . . .
    DocumentRoot /var/www/owncloud
    . . .
</VirtualHost>

完成后保存并关闭文件。 为每个引用您的域名(或 IP 地址,如果您没有为您的服务器配置域)的文件完成此过程。

完成后,检查 Apache 文件的语法以确保配置中没有可检测到的拼写错误:

sudo apache2ctl configtest
OutputSyntax OK

根据您的配置,您可能会看到有关全局设置 ServerName 的警告。 只要输出以 Syntax OK 结尾,您就可以忽略该警告。 如果您看到其他错误,请返回并检查您刚刚编辑的文件是否有错误。

如果您的语法检查通过,请重新加载 Apache 服务以激活新更改:

sudo systemctl reload apache2

Apache 现在应该知道如何为您自己的云文件提供服务。

第 3 步 – 配置 MySQL 数据库

在继续进行 Web 配置之前,我们需要设置数据库。 在基于 Web 的配置过程中,我们需要提供数据库名称、数据库用户名和数据库密码,以便 ownCloud 可以在 MySQL 中连接和管理其信息。

首先使用 MySQL 管理帐户登录到您的数据库:

sudo mysql

如果您为 MySQL 管理帐户设置密码身份验证,则可能必须改用以下语法:

mysql -u admin -p

创建一个专用数据库供ownCloud使用。 为了清楚起见,我们将数据库命名为 owncloud

CREATE DATABASE owncloud;

注意: 每个 MySQL 语句必须以分号 (;) 结尾。 如果遇到问题,请务必检查是否存在。


接下来,创建一个单独的 MySQL 用户帐户来管理新创建的数据库。 从管理和安全的角度来看,创建单一功能的数据库和帐户是一个好主意。 与数据库的命名一样,选择您喜欢的用户名。 我们选择在本指南中使用名称 owncloud

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';

警告: 请务必在命令状态下输入实际密码:owncloud_database_password


为用户分配对数据库的访问权限,执行刷新权限操作以确保正在运行的 MySQL 实例知道最近的权限分配:

FLUSH PRIVILEGES;

您现在可以通过键入以下内容退出 MySQL 会话:

exit

安装 ownCloud 服务器并设置数据库后,我们准备将注意力转向配置 ownCloud 应用程序。

第 4 步 – 配置 ownCloud

要访问 ownCloud Web 界面,请打开 Web 浏览器并导航到以下地址:

https://server_domain_or_IP

注意: 如果您使用的是自签名 SSL 证书,您可能会收到警告,因为该证书未由浏览器的受信任机构之一签名。 这是预期和正常的。 单击相应的按钮或链接以进入 ownCloud 管理页面。


您应该会在浏览器中看到 ownCloud Web 配置页面。

通过选择用户名和密码来创建管理员帐户。 出于安全考虑,不建议使用“admin”之类的用户名:

接下来,保持 Data 文件夹 设置不变并向下滚动到数据库配置部分。

填写您在上一节中创建的数据库名称、数据库用户名和数据库密码的详细信息。 如果您使用本指南中的设置,则数据库名称和用户名都是 owncloud。 将数据库主机保留为 localhost

单击完成设置按钮,使用您提供的信息完成对ownCloud的配置。 您将被带到一个登录屏幕,您可以在其中使用您的新帐户登录:

首次登录时,将出现一个屏幕,您可以在其中下载应用程序以在各种设备上同步文件。 您可以立即下载和配置这些内容,也可以稍后再进行配置。 完成后点击闪屏右上角的【X33X】x【X38X】进入主界面:

在这里,您可以创建文件或将文件上传到您的个人云。

结论

ownCloud 可以复制流行的第三方云存储服务的能力。 内容可以在用户之间共享,也可以通过公共 URL 在外部共享。 ownCloud 的优势在于信息存储在您无需第三方控制和管理的地方。

探索界面和附加功能,使用 ownCloud 的应用商店 安装插件。