一、安装准备(安装模块)
#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
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>