Ubuntu 11.10 Server Apache + SVN + SSL配置-验证OK

一、安装准备(安装模块)

#sudo apt-get install apache2

#sudo apt-get install apache2-mpm-prefork

#sudo apt-get install apache2-utils

#sudo apt-get install libapache2-svn

#sudo apt-get install libapache2-mod-auth-pam(可选,用于PAM

#sudo apt-get install libapache2-mod-auth-sys-group(可选,用于PAM

#sudo apt-get install subversion

#sudo apt-get install subversion-tools

二、SVN配置

配置前说明:

我的Subversion文件仓库放在/home/svn,并且我的项目名称是简单的“myproject”Subversion组名字是subversion

创建Subversion的组:

典型的情况下,您应该创建一个名为“Subversion”的组来拥有文件仓库所在的目录。

#sudo addgroup subversion

#sudo usermod -G subversion -a www-data

//subversion是组名,可自己定义,一般不需要更改

验证:

# cat /etc/group|grep subversion

subversion:x:1001:www-data,svnx

//你需要注销然后再登录以便您能够成为subversion组的一员

www-data是一个在安装apache2服务器时系统自动添加的用户,从网络上连接到apache2服务器的用户都会拥有与www-data用户相同的权限

创建SVN库:

# cd /home

# sudo mkdir svn

#cd svn

# sudo mkdir myproject

//此命令在svn目录下进行

# sudo chown -R root:subversion myproject

//此命令在svn目录下进行

# # sudo chmod -R g+rws myproject

//此命令在svn目录下进行

//赋予组成员对所有新加入文件仓库的文件拥有相应的权限

# sudo svnadmin create myproject //此命令在svn目录下进行

可能的问题:

在后续Check in的时候遇到如下错误:

Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied

解决方法:可以再次运行命令:

# sudo chown -R root:subversion myproject

三、Apache配置

先备份一下Apache2的配置文件:

sudo cp -R /etc/apache2 /etc/apache2_backup

通过WebDAV协议访问SVN文件仓库,您必须配置您的Apache 2 Web服务器。您必须加入下面的代码片段到您的/etc/apache2/mods-available/dav_svn.conf中:(加在文件最后面即可)

<Location /myproject> //版本库名字,必须以/开始

DAV svn //不用改

SVNPath /home/svn/myproject //版本库路径

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd //密码文件路径。

<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

</Location>

特别说明:

1、如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT></LimitExcept>两行注释掉。

2、当您添加了上面的内容,您必须重新起动Apache 2 Web服务器,请输入下面的命令:

#sudo /etc/init.d/apache2 restart

创建passwd 文件:

该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:

#sudo htpasswd -c /etc/subversion/passwd user_name

它会提示您输入密码,当您输入了密码,该用户就建立了。

最后,你就可以用客户端来访问了

http://主机IP/myproject

如果端口号已经更改,则需要添加相应的端口号

这样,就可以通过Web方式访问版本库了,不过这样的密码传输是纯文本方式的,基于安全方面的考虑,我建议你使用SSL

四、SSL配置

Apache2已经在前面安装好了下面安装SSL模块:
安装SSL模块

#a2enmod ssl

我们可以使用openssl来创建,这里我就是此方法创建SSL证书的

#sudo cd /etc/apache2

#sudo mkdir ssl

#sudo cd ssl

#sudo openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999

注:在要求输入Common Name (eg, YOUR name)时,输入你的主机名。

示例过程如下:

Generating a 1024 bit RSA private key
.....................++++++
..++++++
writing new private key to 'apache.pem'
-----
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]:China
string is too long, it needs to be less than 2 bytes long
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Jiangxi
Locality Name (eg, city) []:Nanchang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Nanchang Unversity
Organizational Unit Name (eg, section) []:
Information Center
Common Name (eg, YOUR name) []:LinuxServer
Email Address []:
[email protected]


复制一份站点配置做为SSL配置的原型
#cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

#ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl

编辑SSL的配置

#vi /etc/apache2/sites-enabled/ssl
把端口改为443
加入SSL认证配置
其它的根据需要自己定制与普通配置无异

<VirtualHost *:443>

ServerSignature On

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/apache.pem

………………………

修改普通http方式的配置(apache2这里好像不用改,默认的已经是80端口)

编辑Apache端口配置,加入443端口(这里可以不用加“Listen 443”因为SSL默认认证的443端口已经打开)

别忘了把前面生成的SSL密钥文件拷贝过来

# sudo cp apache.pem /proc/14646/cwd/apache.pem //在apache.pem目录下

重启apache2

#/etc/init.d/apache2 restart

这样,你就可以通过https的方式访问了!!

参考自:

http://blog.csdn.net/beisika10368/archive/2010/11/25/6035518.aspx


==========================================================================================

http://blog.csdn.net/maijian/article/details/5755938

Apache2 支持 https (ubuntu10.04)

apt-get install apache2

运行a2enmod 输入ssl,激活模块

apache2-ssl-certificate 或者使用openssl

openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999

生产apache.pem cp到/etc/apache2

vim sites-available/default

添加

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerAdmin webmaster@localhost

DocumentRoot /var/www
ServerName 192.168.60.131
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>

</VirtualHost>

你可能感兴趣的:(Ubuntu 11.10 Server Apache + SVN + SSL配置-验证OK)