运行自己的云:在Debian 8上安装OwnCloud 9

OwnCloud为您提供运行您管理和控制自己的云存储服务的能力。最新版本,ownCloud 9.0,是发布...

OwnCloud为您提供了管理和控制自己的云存储服务的能力。 最新版本ownCloud 9.0于3月8日发布。

安装ownCloud

我们来看看在运行Debian Jessie的系统上安装ownCloud 9.0的过程。

首先安装支持软件包。 OwnCloud使用PHP并建议使用MariaDB作为其数据库。 以root用户身份,使用apt-get安装以下软件包:

apt-get install mariadb-server mariadb-client apache2 libapache2-mod-php5 php5-json php5-gd php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick

2.下载

接下来,下载ownCloud 9.0软件包。 在此步骤中,我们还将下载SHA256哈希,ownCloud的公共PGP签名以及软件包的PGP签名。 在安装之前,我们将在以下步骤中使用这些步骤来验证和验证软件。 SHA256是推荐的验证算法,但如果您希望使用MD5进行验证,则该哈希也可以在ownCloud的网站上下载。

这些命令使用wget下载文件,但是您可以通过将URL输入到Web浏览器中轻松地下载文件。

wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2

wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.sha256

wget https://owncloud.org/owncloud.asc

wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.asc

3.验证下载的软件包的完整性

检查下载的软件归档的SHA256哈希值是否与ownCloud提供的数据匹配:

sha256sum -c owncloud-9.0.0.tar.bz2.sha256

成功输出:

owncloud-9.0.0.tar.bz2: OK

如果金额不匹配,你不应该继续! 在执行剩余步骤之前,请确保您的下载已被验证。

4.将ownCloud PGP公钥导入GnuPG密钥环

接下来,我们将使用GnuPG来验证软件包的真实性。 为此,首先将ownCloud的公共PGP密钥导入到GnuPG密钥环中。

gpg --import owncloud.asc

成功输出:

[...]
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

5.验证包签名的真实性

接下来,使用GnuPG验证软件包的签名。 它将使用您在上一步中导入的密钥检查对档案的签名。

gpg --verify owncloud-9.0.0.tar.bz2.asc

成功输出:

[...]
gpg:“ownCloud <info@owncloud.com>”的签名很好
[...]

您将收到一条警告,表示ownCloud的签名尚未被信任。 信任签名是您执行自己的一个可选步骤。 有关信任公钥的更多信息,请参阅“ GNU隐私手册”第3章

6.提取软件包

下载验证和验证后,解压缩。

tar xjvf owncloud-9.0.0.tar.bz2

将ownCloud目录复制到Apache2文档根目录下

接下来,将新创建的owncloud目录及其内容复制到您的Web文档根目录中。 在Debian 8中,Apache2使用/ var / www / html作为其默认文档根; 如果你愿意,你可以自定义这个位置。 在本教程中,我们将把owncloud直接放到/ var / www中

cp -r owncloud /var/www

8.将owncloud添加到Apache2可用站点

现在我们可以开始配置Apache2了。 创建默认站点配置文件的副本/etc/apache2/sites-available/000-default.conf ,命名为owncloud.conf

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf

9.编辑自己的网站配置

作为根,在文本编辑器中打开/etc/apache2/sites-available/owncloud.conf 。 进行以下修改:

  1. 找到ServerName行并取消注释它通过删除前导
  2. 更改ServerName值以匹配用于访问服务器的URL中显示的主机名:例如www.mypersonaldomain.commyhostname
  3. 将以下行添加到文件的末尾,修改目录名称 为了符合您所在的位置,您需要:
Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

/ etc / apache2 / sites-enabled目录中创建一个到您的站点配置的符号链接:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

11.启用Apache2模块

OwnCloud需要mod_rewrite 。 启用它:

a2enmod rewrite

建议使用标题模块。 启用它:

a2enmod headers

还推荐使用envdirmime模块。 这些通常默认是启用的,但您可以手动使它们安全:

a2enmod env

a2enmod dir

a2enmod mime

12.启用ownCloud站点配置并重新启动Apache2

启用您的网站配置:

a2ensite owncloud

重新启动Apache2服务,使您的更改生效:

service apache2 restart

13.设置ownCloud文件的权限

在开始配置ownCloud之前,您需要确保HTTP用户/组具有对ownCloud文件进行更改的权限。 在Debian中,该用户和组名为www-data 。 使他们成为owncloud目录及其所有内容的所有者。

chown -R www-data:www-data /var/www/owncloud/

接下来,改进这些权限。 自带云安装的确切权限是:

  • 所有文件应该是文件所有者的读写,对于组所有者是只读的,而不能被其他人访问
  • 所有目录应该是可执行的,目录所有者的读写,以及组所有者的只读
  • apps /目录应该由[HTTP用户]拥有:[HTTP组]
  • config /目录应该由[HTTP用户]拥有:[HTTP组]
  • 主题/目录应由[HTTP用户]拥有:[HTTP组]
  • 资产/目录应由[HTTP用户]拥有:[HTTP组]
  • 数据/目录应由[HTTP用户]拥有:[HTTP组]
  • [ocpath] / .htaccess文件应由root拥有:[HTTP组]
  • 数据/ .htaccess文件应由root拥有:[HTTP组]
  • 这两个.htaccess文件应该是文件所有者的read-write,对于组所有者是只读的,不能被其他人访问

要符合此权限结构,请将以下脚本复制并粘贴到新文件中。 在此示例中,脚本文件名将为/root/oc-perms.sh 。 如果使用自定义位置,请修改ocpath值。

#!/bin/bash
ocpath='/var/www/owncloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'

printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets

printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/

chmod +x ${ocpath}/occ

printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
 then
  chmod 0644 ${ocpath}/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
 then
  chmod 0644 ${ocpath}/data/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

使脚本可执行:

chmod u + x /root/oc-perms.sh

执行它:

/root/oc-perms.sh

14.创建ownCloud数据库和数据库用户

接下来,为自己的Cloud准备一个数据库。 以数据库root用户身份登录到MariaDB客户端:

mysql -u root -p

系统将提示您输入数据库root用户的密码。 如果在第1步中首次安装了MariaDB,系统将提示您创建此密码。 现在输入 您将被放置在MariaDB客户端提示符下。

为自己的cloud数据库( ocdbname ),owncloud数据库用户( ocuser )和该用户的密码( ocuserpw )选择一个名称。 然后在MariaDB提示符下运行以下两个命令,用您自己的代替括号值:

CREATE DATABASE [ocdbname];

GRANT ALL ON [ocdbname].* TO [ocuser]@localhost IDENTIFIED BY '[ocuserpw]';

退出数据库客户端:

quit

15.配置ownCloud客户端

将Web浏览器导航到您自己的Cloud安装,例如http:// myhostname / owncloud 。 您将看到可以创建一个ownCloud管理员帐户的字段,并输入数据库配置值。

OwnCloud设置。

用户名密码是管理安装用户的值; 将这些设置为任何您喜欢的。

数据库用户数据库密码数据库名称应符合您在上一步骤中创建的[ocuser][ocuserpw][ocdbname]值。

单击完成设置。

恭喜! 您已经准备好开始使用ownCloud。

OwnCloud已安装。

可选:使用SSL

建议加密将通过和传出ownCloud的网络流量。 以下是通过安装获取HTTPS并运行的几个步骤。

1.在Apache2中启用SSL

a2enmod ssl

a2ensite default-ssl

2.将SSL Virtualhost配置添加到owncloud.conf

Apache2附带默认的SSL站点配置,位于/etc/apache2/sites-available/default-ssl.conf中 。 复制该文件的内容并将其粘贴到owncloud.conf的顶部。 在<VirtualHost _default_:443>部分中进行以下修改:

添加一个ServerName行与您的主机名作为值,例如:

 ServerName myhostname

编辑DocumentRoot行以反映owncloud安装的父目录,例如:

 DocumentRoot /var/www/

3.如有必要,生成新的证书/密钥对

<VirtualHost _default_:443>部分已经包含三个重要的行,用于通过HTTPS访问站点时启用SSL:

SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

SSLCertificateFileSSLCertificateKeyFile值指向系统上已经存在的文件,作为默认opensslssl-cert包的一部分进行安装。 但是,您可能需要在某些情况下重新生成这些文件 - 例如,如果您更改/ etc / hosts中的配置。

如果需要重新生成这些文件,请使用以下命令:

make-ssl-cert generate-default-snakeoil --force-overwrite

有关详细信息和故障排除错误,请参阅/usr/share/doc/apache2/README.Debian.gz中的注释。

4.重新加载Apache2配置

service apache2 reload

您现在应该能够使用https:// URL访问您自己的Cloud安装。 请注意,您的Web浏览器将收到警告,因为您的证书是自签名的。 在建立安全连接之前,您需要手动添加您的站点作为例外。