博客
关于我
[Linux] PHP程序员玩转Linux系列-Ubuntu配置SVN服务器并搭配域名
阅读量:656 次
发布时间:2019-03-15

本文共 1620 字,大约阅读时间需要 5 分钟。

在Ubuntu 上部署SVN 服务器

在部署网站时,传统的使用 FTP 方式虽然常见,但确实不够高效。现在我将介绍如何在 Ubuntu 上安装并配置 Subversion(SVN)服务器,通过 SVN 直接部署网站。

安装 Subversion

首先,安装 SVN 服务器:

sudo apt-get install subversion

创建仓库目录

接下来,创建 SVN 仓库目录并初始化:

svnadmin create /home/ubuntu/svnrepos

配置 svnserve.conf

编辑 SVN仓库配置文件 svnserve.conf:

sudo nano /home/ubuntu/svnrepos/conf/svnserve.conf

去除前缀,使配置如下(注:示例中 # 号前的内容已被注释,只保留配置内容):

anon-access = noneauth-access = writepassword-db = passwdauthz-db = authz

配置用户权限

编辑权限文件 authz:

sudo nano /home/ubuntu/svnrepos/conf/authz

添加以下内容:

[groups]svn_users = sopans, sopans2[@svn_users]rw

这表示用户组 svn_users具备读写权限。

配置密码

编辑用户密码文件 passwd:

sudo nano /home/ubuntu/svnrepos/conf/passwd

添加以下内容:

[users]sopans = www.sopans.com

配置 Apache 模块

为了通过 Apache 服务器访问 SVN仓库目录,需要安装 Apache SVN 模块:

sudo apt-get install libapache2-svn

配置虚拟主机

在 Apache 配置文件中,为域名(my.sopans.com) 配置虚拟主机:

sudo nano /etc/apache2/sites-available/yoursite.conf

添加以下内容:

ServerName my.sopans.com
DAV svn SVNPath /home/ubuntu/svnrepos/ AuthType basic AuthName "svn" AuthUserFile /home/ubuntu/svnrepos/conf/passwd # AuthzSVNAccessFile /home/ubuntu/svnrepos/conf/authz require valid-user ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

启用服务

最后,启动并确认 SVN 服务已运行:

sudo svnserve -d -r /home/ubuntu/svnrepos/

检查进程是否运行:

ps aux | grep svnserve

测试 SVN 访问

通过浏览器打开 SVN 地址:http://my.sopans.com/svn/,使用配置好的用户名和密码进行验证。

常见问题解决

  • 密码错误提示:修改密码时,建议使用 htpasswd 工具进行加密。

  • 提交错误:确保仓库目录权限设为 777:

  • chmod -R 777 /home/ubuntu/svnrepos/
    1. 域名解析问题:请确保域名已正确解析至服务器 IP 地址。
    2. 配置完成后,访问域名即可直接使用 SVN 存储库,无需后台服务运行。

    转载地址:http://ninmz.baihongyu.com/

    你可能感兴趣的文章
    python3安装scapy_Linux下安装scapy-python3
    查看>>
    python3实现socket通信
    查看>>
    Python关于numpy.transpose函数详细解析附代码
    查看>>
    Python3导入自定义模块的3种方式
    查看>>
    python3打开txt文件_使用Python 3从文本文件读取句子并添加到列表中
    查看>>
    python3爬虫抓取智联招聘职位信息代码
    查看>>
    Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
    查看>>
    python3的 pymysql把mysqldb库取代了,让python 3支持mysqldb的解决方法
    查看>>
    Python3笔记——IDE的选择
    查看>>
    python3简单使用requests 用户代理,cookie池
    查看>>
    Python3组播通信编程实现教程(发送者+接收者)
    查看>>
    Python3编写网络爬虫10-数据存储方式三-CSV文件存储
    查看>>
    python3读取redis返回数据带有'b'的问题
    查看>>
    Python3连接MySQL
    查看>>
    Python关于isinstance函数的解析 | 附Demo(全)
    查看>>
    Python3:setup.py:完成所有任务的PIP安装(Build_ext+Install)
    查看>>
    python4.0 gil_Python 并发编程系列--1、浅谈GIL历史及对多线程的影响
    查看>>
    python60行绘图程序_天底下最简单的QT画图板,就一个类,60行代码
    查看>>
    Python: AES加密与解密
    查看>>
    Python: Range() 最大尺寸;动态的还是静态的?
    查看>>