OwnCloud为您提供了管理和控制自己的云存储服务的能力。 最新版本ownCloud 9.0于3月8日发布。
安装ownCloud
我们来看看在运行Debian Jessie的系统上安装ownCloud 9.0的过程。
1.安装所需和推荐的软件包
首先安装支持软件包。 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 。 进行以下修改:
- 找到ServerName行并取消注释它通过删除前导#
- 更改ServerName值以匹配用于访问服务器的URL中显示的主机名:例如www.mypersonaldomain.com或myhostname
- 将以下行添加到文件的末尾,修改目录名称 为了符合您所在的位置,您需要:
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>
10.将Symlink配置文件导入/ etc / apache2 / sites-enabled
在/ 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
还推荐使用env , dir和mime模块。 这些通常默认是启用的,但您可以手动使它们安全:
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管理员帐户的字段,并输入数据库配置值。
用户名和密码是管理安装用户的值; 将这些设置为任何您喜欢的。
数据库用户 , 数据库密码和数据库名称应符合您在上一步骤中创建的[ocuser] , [ocuserpw]和[ocdbname]值。
单击完成设置。
恭喜! 您已经准备好开始使用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
SSLCertificateFile和SSLCertificateKeyFile值指向系统上已经存在的文件,作为默认openssl和ssl-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浏览器将收到警告,因为您的证书是自签名的。 在建立安全连接之前,您需要手动添加您的站点作为例外。