如何在 Ubuntu 16.04 上配置和安装 ownCloud
在这篇文章中,我们将学习如何在 Ubuntu 16.04 上配置和安装 ownCloud。ownCloud 是一个文件共享服务器,允许用户将个人内容存储在中心存储位置,就像 Google Drive、Dropbox 等一样。主要区别在于 ownCloud 是一个免费的开源应用程序,可以配置在我们自己的环境中,我们可以控制数据并通过有限的访问权限来保护它们。
先决条件
- 我们需要以下环境来设置和配置 ownCloud。
- 已安装 Ubuntu 16.04 并进行初始设置,且用户具有 sudo 权限
- 需要安装 LAMP(Linux、Apache、MySQL 和 PHP)。
- 用于保护 ownCloud 站点的 SSL 证书。
在 Ubuntu 上安装 ownCloud
默认情况下,ownCloud 包在 Ubuntu 默认存储库中可用,ownCloud 也维护其为 Ubuntu 的专用存储库。
要将存储库添加到本地机器,我们需要运行以下命令:
$ curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add – % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 1358 100 1358 0 0 896 0 0:00:01 0:00:01 --:--:-- 895 OK
我们将在 apt 的源目录中创建一个存储库地址。
$ echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list $ deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /
添加新的源后,我们将更新 apt-get 存储库并安装 ownCloud 包。
$ sudo apt-get update Hit:1 http://in.archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://security.ubuntu.com/ubuntu xenial-security InRelease Hit:3 http://in.archive.ubuntu.com/ubuntu xenial-updates InRelease Ign:4 http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 In Release Hit:5 http://in.archive.ubuntu.com/ubuntu xenial-backports InRelease Get:6 http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Re lease [984 B] Get:7 http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Re lease.gpg [481 B] Get:8 http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Pa ckages [1,611 B] Fetched 3,076 B in 1s (1,982 B/s) Reading package lists... Done $ sudo apt-get install owncloud
安装包后,我们需要重新启动 Apache 服务器才能使安装时的更改生效。
$ sudo systemctl restart apache2
为 ownCloud 配置 MySQL 数据库
我们需要为 ownCloud 创建一个单独的数据库,并向 ownCloud 用户提供访问权限。
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE DATABASE owncloud; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'password'; Query OK, 0 rows affected, 1 warning (0.00 sec) Mysql> flush privileges; Mysql> \q
为 ownCloud 创建自己的 SSL 证书
我们将使用 openssl 生成 SSL,并将 SSL 证书保存在 /etc/ssl 中。以下是为 ownCloud 生成 openssl 证书的命令:
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt Generating a 2048 bit RSA private key .............................................................................................+++ ..............................................................+++ Writing new private key to '/etc/ssl/private/apache-selfsigned.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:IN State or Province Name (full name) [Some-State]:Telengana Locality Name (eg, city) []:Hyderabad Organization Name (eg, company) [Internet Widgits Pty Ltd]:xxxx Organizational Unit Name (eg, section) []:owncloud Common Name (e.g. server FQDN or YOUR name) []:owncloud Email Address []:[email protected]
为 Owncloud 配置 Apache SSL 虚拟主机文件
我们将备份 /etc/apache2/sites-available 中的 default-ssl.conf。
$ sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak $ sudo vi /etc/apache2/sites-available/default-ssl.conf <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin owncloud.com ServerName 192.168.1.117 DocumentRoot /var/www/owncloud ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 </VirtualHost> </IfModule>
完成 SSL 配置后,我们需要重新启动 apache 以使更改在机器上生效。
$ sudo systemctl restart apache2.service
配置 ownCloud
要配置 ownCloud,我们需要访问站点 URL,打开任何浏览器并输入 https://your-IP-Address/owncloud。
在我的例子中是 https://192.168.1.117/owncloud
首先,我们需要为此 ownCloud 创建一个管理员帐户。
输入管理员帐户的用户名和密码后,我们应该点击下面提到的“存储和数据库”:
如果我们想更改客户端或用户上传数据的文件夹,我们可以在此处更改数据库名称,我们还需要提供 MySQL 数据库的用户名和密码以进行访问,还需要提供我们在前面步骤中创建的数据库名称。
输入配置后,我们需要点击屏幕末尾的“完成设置”按钮。
配置完成后,我们会看到一个欢迎启动画面。
点击启动画面右上角的 X,我们将进入主界面。
点击右上角的“管理员”以设置管理员选项。
点击“个人”以设置管理员的全名,并设置应用程序密码,该密码在用户从设备使用应用程序访问 ownCloud 时使用,此密码将授予访问 ownCloud 帐户的权限。
为 OwnCloud 创建用户
点击屏幕右上角的“管理员”选项,然后点击“用户”。
有关更多管理选项,您可以点击右上角的“管理员”,然后点击“管理员”,您将有更多选项来设置和保护您的 ownCloud。
完成此设置和配置后,我们现在就可以在 Ubuntu 16.04 上配置自己的云了。ownCloud 的主要优点是我们可以保护存储在我们自己环境中的信息和数据。我们还可以使用公共 URL 在用户之间共享内容。