如何在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 包的真实性。
除了导入密钥,在 apt
的 sources.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 的应用商店 安装插件。