博客
关于我
[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/

    你可能感兴趣的文章
    os.environ 没有设置环境变量
    查看>>
    os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
    查看>>
    os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
    查看>>
    os.system 在 Python 中不起作用
    查看>>
    OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
    查看>>
    OSCACHE介绍
    查看>>
    SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
    查看>>
    OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
    查看>>
    SQL--mysql索引
    查看>>
    OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
    查看>>
    OSChina 技术周刊第十期,每周技术抢先看!
    查看>>
    OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
    查看>>
    OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
    查看>>
    OSGi与Maven、Eclipse PlugIn的区别
    查看>>
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:几何体的操作(一)——交互事件、简化几何体
    查看>>
    OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
    查看>>