Debian下SVN服务器安装

DebianSVN服务器安装

Subversion是新一代的开源版本控制系统,用以取代CVS。在安装配置SVN时,遇到了一些问题,在网上搜集资料得到解决。由于资料比较杂乱,所以特此重新整理了一下。

第一步 安装测试subversion

1.安装

# apt-get update
# apt-get install subversion subversion-tools
 

2.创建存储库

# mkdir /home/svn

# svnadmin create –-fs-type fsfs /home/svn/test

3.设置权限

# chown –R www-data:www-data /home/svn/*

# chmod –R 770 /home/svn/*

4.从本地导入源代码:

# mkdir –p /var/svn/test

# touch /var/svn/test.txt

# cd /var/svn

# svn import ./test http://hi.baidu.com/home/svn/test -m “Initial import.”

如果出错,可能是路径的问题。

5.察看代码库内容:

# svn list http://hi.baidu.com/home/svn/test

如果以上没有报错,说明subversion已经正确安装。

第二步 通过http方式访问subversion

为了远程访问SVN,通常使用apache服务器。

1.安装组件

# apt-get install apache2 libapache2-svn

2.测试apache2

http://服务器地址

3.修改配置文件/etc/apache2/mods-enable/dav_svn.conf

# vim /etc/apache2/mods-enabled/dav_svn.conf

# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual and
# the Subversion book.
 
# <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/
<Location /svn>                                 #设置访问路径
 
  # Uncomment this to enable the repository,
   DAV svn                                      #启用
 
  # Set this to the path to your repository
    #SVNPath /data/subversion                      #设置储存库路径,仅支持单个储存库,该路径要可被Apache进程访问。
  SVNParentPath /home/svn                #如果subversion下有多个储存库,则用SVNParentPath
  # The following allows for basic http authentication.  Basic authentication
  # should not be considered secure for any particularly rigorous definition of
  # secure.
 
  # to create a passwd file                      #按下面的步骤创建Apache用户验证文件
  # # rm -f /etc/apache2/dav_svn.passwd
  # # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon
  # New password:
  # Re-type new password:
  # Adding password for user dwhedon
  # #
 
  # Uncomment the following 3 lines to enable Basic Authentication
    
AuthType Basic                                #启用Apache基础验证
    AuthName "Subversion Repository"             #设置验证框标题
    AuthUserFile /etc/apache2/dav_svn.passwd     #指定验证用户文件名
 
  # Uncomment the following line to enable Authz Authentication
   AuthzSVNAccessFile /etc/apache2/dav_svn.authz  #启用目录级别授权,dav_svn.authz是授权配置文档
 
  # The following three lines allow anonymous read, but make
  # committers authenticate themselves.
 
  #<LimitExcept GET PROPFIND OPTIONS REPORT>     #允许匿名访问,不允许Commit,不能与AuthzSVNAccessFile同时使用
     Require valid-user                          
  #</LimitExcept>
 
</Location>

4.创建/etc/apache2/dav_svn.authz

[test:/]

*=

Zhangsan=rw

Lisi=r

5.设置用户口令:

# htpasswd –c –m /etc/apache2/dav_svn.passwd zhangsan

# htpasswd –c –m /etc/apache2/dav_svn.passwd lisi

6.测试:

http://服务器地址/svn/test

第三步 添加SSL支持

为了提供比较安全的远程访问,需要开启apache2SSL支持。

1.       运行命令 a2enmod ssl 。打开 apache2 的 SSL 支持。

2.       编辑 /etc/apache2/ports.conf 文件。 在此文件中,缺省只有 Listen 80,也就是apache 只接受 80 端口的普通 http 访问。我们再添加一项 "Listen 443",443 是 https 的端口。

3.       编辑 /etc/apache2/sites-available/default 文件,把 “NameVirtualHost *" 改为 "NameVirtualHost *:80" , "<VirtualHost *>" 改为 "<VirtualHost *:80>"。

4.       运行命令 apache2-ssl-certificate, 根据提示回答问题, 生成 SSL 的证书,自动被放置在 /etc/apache2/ssl/。

5.       在 /etc/apache2/sites-available/ 下建立一个新的文件,名字可以叫做 ssl . 这个文件可以拷贝 /etc/apache2/sites-availbale/default 获得。 但是要修改 VirtualHost 和 NameVirtualHost 的端口为 443。 在这个文件中加入以下两行:"SSLEngine On" 和 "SSLCertificateFile /etc/apache2/ssl/apache.pem"。

6.       使用 a2ensite ssl 来使我们的 ssl 虚拟主机生效。

7.       /etc/init.d/apache2 force-reload 重新启动 apache2 的系统服务。

8.       使用其他机器的浏览器来登陆本服务器,注意要使用 https 协议来测试我们的 apache 服务器是否接受 https 连接。

9.       使用 a2enmod dav_svn 来加载 subversion 模块。

10.    subversion 模块的配置文件在 /etc/apache2/mods-available/dav_svn.conf 中。 为了限制非 SSL 用户登陆,我们可以使用如下一句 "SSLRequireSSL" 来限制。 为了禁止匿名用户登陆,加上 "Require valid-user" 一句。

在创建证书时,发现系统没有apache2-ssl-certificate命令,查找资料发现这是系统的漏洞。解决方法如下:

Ubuntu feisty中的apache2安装包有BUG,安装后缺少apache2-ssl-certificate命令,这样如果我们要启用apache ssl服务,就生成不了站点证书。

不过,现在已经有人做了这个工作了,我们可以通过自己编译apache2源码来安装,安装方法如下:

首先下载并解压这个修复包

wget http://librarian.launchpad.net/6917265/files.tar
tar xvf files.tar

然后安装Apache2 deb源代码及相关编译依赖包,然后编译安装apache2:

sudo apt-get build-dep apache2
sudo apt-get source -d apache2
dpkg-source -x apache2_
  
  
   
   2
   
   .2.3
  
  -3.2build1.dsc
cd apache2-
   
   
    
    2.2.3
   
   
fakeroot debian/rules binary(如果没有安装fakeroot,请先安装)
sudo dpkg -i ../*.deb(您也可以选择性的安装您需要的Apache2 deb包)

这样安装的apache2包含完整的工具,下面我们来配置Apache2 ssl支持:

先生成站点证书:

sudo apache2-ssl-certificate -days 365

接着启用Apache2 的ssl模块:

sudo a2enmod ssl
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IPXE是一种网络引导协议,用于通过网络引导计算机。Debian是一个免费的操作系统,是许多服务器管理员和开发人员的首选。在安装Debian时,使用IPXE服务器可以更加方便快捷,无需使用物理安装媒介,可以从网络上自动引导Debian安装程序。 安装ipxe服务器非常简单,可以使用apt或者yum等包管理工具进行安装。具体步骤如下: 1.使用root权限登录到服务器上,然后运行以下命令: Ubuntu/Debian系统: sudo apt-get update sudo apt-get install ipxe CentOS/RHEL系统: sudo yum install ipxe 2.安装完成后,您需要创建一个ipxe启动脚本。该脚本将告诉ipxe在何处托管Debian安装映像以及如何安装它。例如,您可以在/var/lib/tftpboot/debian.ipxe文件中创建以下脚本: #!ipxe set base-url http://<YOUR_SERVER_IP>/debian kernel ${base-url}/installer/amd64/linux initrd ${base-url}/installer/amd64/initrd.gz boot 在此示例中,您需要将YOUR_SERVER_IP替换为您的IP地址,而/var/lib/tftpboot/debian是您在服务器上提供Debian映像的路径。在安装过程中,ipxe将下载Linux内核和initrd镜像,并将它们联合加载到内存中进行引导安装程序。 3.重新启动ipxe服务器并测试安装。在网络引导过程中,计算机将请求DHCP服务器为其分配IP地址并联系TFTP服务器以获取ipxe启动脚本。一旦下载ipxe启动脚本,它将执行该脚本并引导Debian安装程序。 安装完成后,您可以在您的计算机上测试Debian是否已成功安装并正常运行。 总之,使用ipxe服务器安装Debian非常方便,只需使用几个简单的命令即可轻松完成安装。这为管理员节省了时间,同时还提高了用户和开发人员的体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值