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

    你可能感兴趣的文章
    printf()函数
    查看>>
    PyTorch中的自定义权重初始化
    查看>>
    printf格式字符串和输出列表个数及类型不匹配案例
    查看>>
    printf的格式控制字符串
    查看>>
    PrintStream概述
    查看>>
    Prismix:Prisma 架构混合器,为复杂项目而生
    查看>>
    pritunl服务安装及配置
    查看>>
    Private Destructor
    查看>>
    private和protected能同时修饰成员变量吗_天天用注解你了解注解是怎么实现的吗?...
    查看>>
    privoxy Invalid header received from client.
    查看>>
    Privoxy代码下载
    查看>>
    Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
    查看>>
    pytorch中的求和函数sum(axis=x)解释
    查看>>
    Problem F: 质心算法
    查看>>
    Problem N HDU 2612 Find a way (两次BFS求最值)
    查看>>
    Process /usr/libexec/gdu-notification-daemon was killed by signal 6 (SIGABRT)
    查看>>
    process.env.VUE_APP_BASE_API 获取不到
    查看>>
    Process.run() 和 Process.start() 之间的区别
    查看>>
    Processes
    查看>>
    Processing通过编程实现艺术设计_实现艺术和现实的交互---数据设计分析002
    查看>>