介绍
ownCloud是一个开源文件共享服务器和协作平台,可以将您的个人内容(如文档和图片)存储在一个集中的位置。 这使您可以通过不依赖Dropbox等第三方内容托管服务来控制您的内容和安全性。
在本教程中,我们将在Debian 9服务器上安装和配置ownCloud实例。
先决条件
要完成本指南中的步骤,您需要具备以下条件:
- 服务器上的sudo用户和防火墙 :您可以按照Debian 9初始服务器设置指南创建具有
sudo
权限的用户并设置基本防火墙。 - LAMP :ownCloud需要Web服务器,数据库和PHP才能正常运行。 设置LAMP(Linux,Apache,MySQL和PHP)服务器可满足所有这些要求。 请按照本指南安装和配置此软件。
- SSL证书 :如何设置此证书取决于您是否具有可解析为服务器的域名。
- 如果您有域名......保护您网站的最简单方法是使用Let's Encrypt,它提供免费的可信证书。 按照Apache的Let's Encrypt指南进行设置。
- 如果您没有域...并且您只是使用此配置进行测试或个人使用,则可以使用自签名证书。 这提供了相同类型的加密,但没有域验证。 按照Apache的自签名SSL指南进行设置。
第1步 - 安装ownCloud
Debian的默认存储库中不存在ownCloud服务器包。 但是,ownCloud为我们可以添加到服务器的分发维护一个专用存储库。
首先,让我们安装一些组件来帮助我们添加ownCloud存储库。 apt-transport-https
软件包允许我们在apt
来源列表中使用deb https://
来指示通过HTTPS提供的外部存储库:
sudo apt update
sudo apt install curl apt-transport-https
接下来,使用curl
命令下载ownCloud发布密钥,并使用add
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包是否可信。
除了导入密钥外, owncloud.list
在owncloud.list
的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
目录:
<VirtualHost *:80>
. . .
DocumentRoot /var/www/owncloud
. . .
</VirtualHost>
完成后保存并关闭文件。 对引用您的域名的每个文件(如果您没有为服务器配置域,则为IP地址)完成此过程。
完成后,请检查Apache文件的语法,以确保配置中没有可检测的拼写错误:
sudo apache2ctl configtest
OutputSyntax OK
根据您的配置,您可能会看到有关全局设置ServerName
的警告。 只要输出以Syntax OK
结束,您就可以忽略该警告。 如果您看到其他错误,请返回并检查刚编辑的文件是否存在错误。
如果您的语法检查已通过,请重新加载Apache服务以激活新的更改:
sudo systemctl reload apache2
Apache现在应该知道如何为自己的Cloud文件提供服务。
第3步 - 配置MySQL数据库
在我们继续进行Web配置之前,我们需要设置数据库。 在基于Web的配置过程中,我们需要提供数据库名称,数据库用户名和数据库密码,以便ownCloud可以在MySQL中连接和管理其信息。
首先使用MySQL管理帐户登录数据库:
sudo mysql
如果为MySQL管理帐户设置密码身份验证,则可能必须使用以下语法:
mysql -u admin -p
为ownCloud创建一个专用数据库以供使用。 为清晰起见,我们将数据库owncloud
为owncloud
:
CREATE DATABASE owncloud;
注意:每个MySQL语句必须以分号(;)结尾。 如果您遇到问题,请务必检查是否存在此问题。
接下来,创建一个单独的MySQL用户帐户来管理新创建的数据库。 从管理和安全角度来看,创建单功能数据库和帐户是一个好主意。 与数据库的命名一样,选择您喜欢的用户名。 我们选择在本指南中使用名称owncloud
。
GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';
警告:请务必在命令中owncloud_database_password
实际密码: owncloud_database_password
在用户分配了对数据库的访问权限后,执行flush特权操作以确保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的配置。 您将进入登录屏幕,您可以使用新帐户登录:
首次登录时,将出现一个屏幕,您可以在其中下载应用程序以在各种设备上同步文件。 您可以立即下载和配置这些内容,也可以在以后进行下载和配置。 完成后,单击初始屏幕右上角的x以访问主界面:
在这里,您可以创建或上传文件到您的个人云。
结论
ownCloud可以复制流行的第三方云存储服务的功能。 内容可以在用户之间共享,也可以在外部与公共URL共享 ownCloud的优点是信息存储在您无需第三方控制和管理的地方。
浏览界面和其他功能,使用ownCloud的应用商店安装插件。