在以前的工做中搭建了owncloud私有云基于apache双向验证的配置,完成以后测试web端是正常的,可是owncloud的客户端连不上web服务器,通过查阅资料发现,之因此web端能正常使用是由于在浏览器中导入了管理员签发的证书,客户端发起请求的时候带着证书进行验证,验证经过后才能访问web服务。可是客户端与web端链接时并无带着证书去进行校验,因此致使老是提示ssl握手失败。php
通过与领导协商,最终采用单项加密的方式进行访问,经过实验验证,客户端也能正常联通web服务器,邮件功能也配置完成。html
前面配置apache和php的操做和双向加密的帖子是同样的,这里就不在赘述了。这里就说一下区别吧!node
1、因为单项加密,因此签发证书的方式有所不一样git
mkdir -p /etc/apache2/ssl web
openssl req -new-x509 -days 365-nodes -out/etc/apache2/ssl/owncloud.pem -keyout /etc/apache2/ssl/owncloud.key
Generating a 2048 bit RSA private key
.........................+++
..................................................................+++
writing newprivate key to '/etc/apache2/ssl/owncloud.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 DistinguishedNameor 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.
-----
CountryName(2 letter code)[AU]:IN
StateorProvinceName(full name)[Some-State]:AP
LocalityName(eg, city)[]:HYD
OrganizationName(eg, company)[InternetWidgitsPtyLtd]:ExamplePvt.Ltd
OrganizationalUnitName(eg, section)[]:IT
CommonName(e.g. server FQDN or YOUR name)[]:example.com
EmailAddress[]:admin@example.com
而后修改apache虚拟主机的配置文件apache
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
<Directory/var/www/html/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted (这里的配置根据日志状况而定,若是有报错,把这行注释掉)
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/owncloud.pem
SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
DocumentRoot /var/www/html/owncloud/
<Directory/var/www/html/owncloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted(这里的配置根据日志状况而定,若是有报错,把这行注释掉)
</Directory>
</VirtualHost>
重启apache后访问成功。ubuntu
2、客户端安装很是简单,从官方网站上下载与本机相应的版本以后,安装便可。官网地址https://owncloud.org浏览器
客户端安装完成后会弹出一个对话框如图:bash
填写好服务器地址后,下一步服务器
这里填写好在web端配置好的用户名密码后下一步
在这里能够根据本身的需求进行配置,本地文件夹放置在本身用着舒服的路径,进行和服务器同步。完成后web端的内容就都下载到本地文件夹了。
3、邮件配置
Owncloud支持密码找回,支持以连接的方式发送邮件,可是前提是须要配置好邮件服务。用管理员帐号登录系统,在右上角管理员名字的下拉菜单-我的中填写邮件地址。我是基于网易126邮件服务配置的,因此这里写一个126的邮箱。在下拉菜单-管理中找到电子邮件服务器这一项,而后按以下信息填写
图很这两部分信息同样都是邮箱@符号前面的信息。配置好后点击发送邮件,就能在你126的想中看到测试信息了。
4、数据备份
owncloud的资料都放在owncloud目录下的data目录中,因此备份这个目录便可,脚本以下
#!/bin/bash
bakTime=`date +%Y%m%d%H`
/usr/bin/scp -r /usr/local/apache2/htdocs/owncloud/data /var/owncloudbackup/data.$bakTime
cd /var/owncloudbackup
tar -czf data.$bakTime.tar.gz data.$bakTime
rm -rf data.$bakTime
find /var/owncloudbackup -name "data.*" -mtime +6 -exec rm -f {} \;
这个脚本是备份data目录数据,而且将其压缩成tar.gz格式,数据保留7天的
参考资料: