首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

ububuntu server 装配 subversion + apache + ssl +权限控制

2012-08-30 
ububuntu server 安装 subversion + apache + ssl +权限控制操作系统:ubuntu server 11.10 64位系统,全部

ububuntu server 安装 subversion + apache + ssl +权限控制

操作系统:ubuntu server 11.10 64位系统,全部使用apt安装

sudo apt-get install apache2 sudo apt-get install subversionsudo apt-get install libapache2-svnsudo a2enmod auth_basicsudo a2enmod ssl 

?先配置一下apache ssl

##启用默认的ssl vhostsudo a2ensite default-sslsudo service apache2 restart

?这时候直接访问 https://servername 就能看见成功了,这时候所用到的证书都是系统自己带的。如果懒得自己动手做证书就用这个好了。不过我还是自己做了一个。

##创建一个目录存放证书,key之类的sudo mkdir /etc/apache2/ssl.key##如果还没装openssl,需要装上sudo apt-get install openssl#创建一个rsa私钥sudo openssl genrsa -out /etc/apache2/ssl.key/server.key 1024#生成签署请求csr,会出一些对话要求填写国家、州、城市、公司、部门、姓名,看着填就是了sudo openssl req -new -key /etc/apache2/ssl.key/server.key -out /etc/apache2/ssl.key/server.csr #生成证书crtsudo openssl x509 -days 1024 -req -in /etc/apache2/ssl.key/server.csr -signkey /etc/apache2/ssl.key/server.key -out /etc/apache2/ssl.key/server.crt

?重修修改apache配置文件

sudo vim /etc/apache2/sites-enabled/default-ssl

?找到以下两行,修改:

#SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLCertificateFile "/etc/apache2/ssl.key/server.crt"SSLCertificateKeyFile "/etc/apache2/ssl.key/server.key"

?保存,重启apache,新的证书就生效了

?

?创建一个版本库

sudo mkdir /usr/local/svn/repos/test -psudo mkdir /usr/local/svn/config -p##创建版本库,fs-type 为 bdb sudo svnadmin create /usr/local/svn/repos/test --fs-type bdb##修改版本库目录的用户和组,改成apache的用户和组sudo chown -R www-data:www-data /usr/local/svn/repos/test 

?

创建用于svn的密码文件和用户

sudo htpasswd -c /usr/local/svn/config/.svnpasswd svnadmin

?根据提示键入密码。

创建svn访问控制文件

sudo vim /usr/local/svn/config/.svnacces

?内容如下

##设置组和用户,svnadmin用户对应到admin组[groups]admin = svnadmin##设置组权限,/表示全部版本库[/]@admin = rw
?

重新修改apache配置文件

sudo vim /etc/apache2/sites-enabled/default-ssl

在VirtualHost段内添加:

<Location /svn>            DAV svn            SVNParentPath /usr/local/svn/repos            AuthType Basic            AuthName "Subversion"            AuthUserFile /usr/local/svn/config/.svnpasswd            AuthzSVNAccessFile /usr/local/svn/config/.svnaccess            Satisfy Any            Require valid-user</Location>

?保存后,重启apache,浏览器访问https://server/svn/test,即可访问svn版本库。如果以后继续在/usr/local/svn/repos下添加其他版本库,就用https://server/svn/版本库名访问。

版本库的访问控制通过编辑.svnaccess,添加用户用htpasswd添加到.svnpasswd中即可。

?

?

?

?

热点排行