介绍
ownCloud 是一个开源文件共享服务器和协作平台,可以将您的个人内容(如文档和图片)存储在一个集中位置,这样您就可以通过不依赖 Dropbox 等第三方内容托管服务来控制您的内容和安全性。
在本教程中,我们将在 Ubuntu 18.04 服务器上安装并配置 ownCloud 实例。
前提条件
为了完成本指南中的步骤,您将需要以下内容:
- ** 服务器上的sudo用户和防火墙** : 您可以按照 [Ubuntu 18.04 初始服务器设置指南] (https://andsky.com/tech/tutorials/initial-server-setup-with-ubuntu-18-04) 创建具有"sudo"权限的用户并设置基本防火墙.
- A LAMP stack :自有Cloud需要网络服务器,数据库,PHP才能正常运行. 建立一个LAMP堆栈(Linux,Apache,MySQL,和PHP)服务器可以满足所有这些要求. 遵循 [本指南] (https://andsky.com/tech/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04)来安装和配置此软件.
- ** An SSL 证书** :您如何设置此证书取决于您是否有一个域名解决您的服务器.
- ** 如果您有域名...** 保护您网站最简单的方式是提供免费的,可信任的证书的Let's Encrypt. 遵循 Apache [让我们加密指南] (https://andsky.com/tech/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04])来设置此功能.
- ** 如果您没有域名...** 而您只是使用此配置来测试或个人使用,您可以使用自签名的证书取而代之. 这提供了同类型的加密,但没有域验证. 遵循 [自签的 Apache (https://andsky.com/tech/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-18-04) SSL 指南来设置.
步骤 1 – 安装 ownCloud
ownCloud 服务器包不存在于 Ubuntu 的默认存储库中,但 ownCloud 保留了专用存储库,我们可以将其添加到我们的服务器中。
首先,请使用curl
命令下载他们的释放密钥,并使用add
命令的apt-key
实用程序导入它:
1curl https://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/Release.key | sudo apt-key add -
Release.key
文件包含一个PGP(Pretty Good Privacy)公共密钥,它将使用apt
来验证 ownCloud包的真实性。
除了导入密钥外,在sources.list.d
目录中创建一个名为owncloud.list
的文件,用于apt
。
1echo 'deb http://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list
现在,我们可以使用包管理器来查找并安装 ownCloud。 除了主包,我们还会安装一些额外的PHP库,而 ownCloud则使用它们来添加额外的功能。
1sudo apt update
2sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files
现在我们所需要的一切都安装在服务器上,接下来我们可以完成配置,以便我们可以开始使用该服务。
步骤 2 – 调整文档根
我们安装的 ownCloud 包将网页文件复制到服务器上的 `/var/www/owncloud. 目前,Apache 虚拟主机配置已设置为从不同的目录中服务的文件。
您可以使用apache2ctl
工具找到哪个虚拟主机文件引用您的域名或 IP 地址,并选择DUMP_VHOSTS
。
1sudo apache2ctl -t -D DUMP_VHOSTS | grep server_domain_or_IP
输出可能会看起来像这样的东西:
1[secondary_label Output]
2*:443 server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP-le-ssl.conf:2)
3 port 80 namevhost server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP.conf:1)
在窗口中,你可以看到每个文件,引用域名或IP地址,我们将使用访问 ownCloud. 这是你需要编辑的文件。
对于每个匹配,打开文件在一个文本编辑器与sudo
特权:
1sudo nano /etc/apache2/sites-enabled/server_domain_or_IP.conf
内部,搜索DocumentRoot
指令. 更改行,以便指向/var/www/owncloud
目录:
1[label Example DocumentRoot edit]
2<VirtualHost *:80>
3 . . .
4 DocumentRoot /var/www/owncloud
5 . . .
6</VirtualHost>
保存并关闭文件完成后 完成此过程,每个文件引用您的域名(或 IP 地址,如果您没有为您的服务器配置域)。
当你完成时,检查你的Apache文件的语法,以确保你的配置中没有可检测的字体:
1sudo apache2ctl configtest
1[secondary_label Output]
2Syntax OK
根据您的配置,您可能会看到关于全球设置ServerName
的警告,只要输出结束为Syntax OK
,您可以忽略该警告。
如果您的语法检查通过,请重新加载Apache服务以激活新的更改:
1sudo systemctl reload apache2
Apache 现在应该知道如何服务您的 ownCloud 文件。
步骤三:配置MySQL数据库
在基于 Web 的配置过程中,我们需要提供数据库名称、数据库用户名和数据库密码,以便 ownCloud 在 MySQL 中连接和管理其信息。
首先,请使用 MySQL 管理帐户登录您的数据库:
1sudo mysql
如果您为 MySQL root
帐户设置了密码验证,则可能需要使用以下语法:
1mysql -u root -p
创建一个专用的 ownCloud 数据库来使用,我们将数据库命名为owncloud
。
1CREATE DATABASE owncloud;
<$>[注] 注: 每个MySQL语句必须以半列(;)结束。
接下来,创建一个单独的MySQL用户帐户来管理新创建的数据库。创建一个功能的数据库和帐户从管理和安全的角度来说是一个好主意。与数据库的命名一样,选择您喜欢的用户名。
1GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';
<$>[警告]
警告: 请确保输入实际密码,其中命令说: owncloud_database_password
<$>
当用户被分配访问数据库时,执行流特权操作,以确保运行 MySQL 实例知道最近的特权分配:
1FLUSH PRIVILEGES;
您现在可以通过键入退出MySQL会话:
1exit
随着 ownCloud 服务器的安装和数据库的设置,我们已经准备好将注意力转向配置 ownCloud 应用程序。
步骤 4 – 配置 ownCloud
要访问 ownCloud Web 界面,请打开 Web 浏览器并导航到以下地址:
1https://server_domain_or_IP
<$>[注] 注: 如果您正在使用自签名的SSL证书,您可能会收到警告,因为该证书不是由您的浏览器的可信机构之一签署的。
您应该在您的浏览器中看到 ownCloud Web 配置页面。
通过选择用户名和密码创建管理员帐户. 为了安全目的,不建议为用户名使用admin
:
接下来,将 Data 文件夹 设置为-is,然后向下滚动到数据库配置部分。
请填写您在上一节创建的数据库名称、数据库用户名和数据库密码的详细信息. 如果您使用了本指南中的设置,数据库名称和用户名都将是云
。
点击完成设置
按钮以使用您提供的信息完成 ownCloud 配置,您将被带到登录屏幕,您可以使用新帐户登录:
在您的第一次登录时,将出现一个屏幕,您可以下载应用程序来同步您的文件在各种设备上。您可以现在下载和配置这些或稍后完成。
在这里,您可以创建或上传文件到您的个人云。
结论
ownCloud 可以复制受欢迎的第三方云存储服务的功能. 内容可在用户之间或通过公共 URL 外部共享。 ownCloud 的优点是信息存储在您控制和管理的位置,而无需第三方。
探索接口,并获取额外的功能,使用 ownCloud的应用商店安装插件。