linux 部署php svn,Linux服务器搭建svn环境方法详解

下面由Linux教程栏目给大家介绍Linux服务器搭建svn环境的方法,希望对需要的朋友也是帮助!

f413ae366f07f96dd1f24941e6ad37e8.png

1、安装svn服务端

sudo apt-get install subversion

2、安装svn在ubuntu的本地客户端

sudo apt-get install libapache2-svn

3、在根目录home下面建一个文件夹svn,作为svn的根目录

sudo mkdir /home/svn

4、建一个ubuntu的用户组,和一个管理员sudo adduser svnuser(这里随便取个用户名)

sudo addgroup svngroup(这里是用户组)

sudo addgroup svnuser svngroup(把用户添加到用户组)

5、接着在svn的根目录下面创建一个svn的资源库,随便取名,例如pro

sudo mkdir /home/svn/pro

6、把上面创建的用户组的权限给到资源库prosudo chown -R root:svngroup /home/svn/pro

sudo chmod -R g+rws /home/svn/pro

7、向资源库里导入资源

sudo svnadmin create /home/svn/pro

8、进入资源库/home/svn/pro,可以看到有几个文件夹,打开conf文件夹svnserve.conf是svn的配置文件

passwd是svn的用户文件

authz是svn的权限文件

9、先打开svnserve.conf,将这些内容前面的#去掉,并查看后面的内容符合与否sudo gedit /home/svn/pro/conf/svnserve.conf

-----------------

[general]

anon-access = read(这个是匿名访问权限,只读)

auth-access = write(这个是有权限操作,可写)

password-db = passwd(这个是用户文件的名称,对应8的passwd)

auth-db = authz(这个是用户权限文件的名称,对应8的authz)

realm = my project(这个是访问的时候显示的别名,随便取名也可)

10、打开passwd文件添加一个svn用户,在[users]下面添加admin=123456sudo gedit /home/svn/pro/conf/passwd

admin是用户名

123456是密码

11、打开authz文件,给刚才的用户添加访问权限sudo gedit /home/svn/pro/conf/authz

[groups]

root = admin(定义一个权限组root,把admin用户加入权限组root)

[/]

@root=rw(给root里的所有用户,读写的权限)

* = r(给所有其他的匿名用户,只读的权限)

12、重启svnsudo killall svnserve

sudo svnserve -d -r /home/svn

13、查看下本机ubuntu的ip地址

sudo ifconfig

可以看到192.168.***.***

14、然后在我们的window主机里可以局域网访问虚拟机的svn了,相信大家都有TortoiseSVN这个工具吧,在地址栏写上svn://192.168.***.***/pro即可,用户为上面建立的admin=123456,上传几个测试文件,比如index.php,写点php代码上传上去;

15、这个时候php是无法解析到我们的svn里的资源index.php的,所以要把svn资源库里的文

件给同步到ubuntu的apache+php访问目录里去,在/var/www/html下面建一个文件夹sudo mkdir /var/www/html/bbs

sudo chmod -R 777 /var/www/html/bbs

sudo svn co svn://192.168.***.***/pro /var/www/html/bbs

16、然后我们可以在window主机上访问http://192.168.***.***/bbs看到index.php的内容了,接着我们要让apache自动同步svn的资源库变化后的内容,才能达到我们的效果;

在/home/svn/pro/hooks目录下有很多以tmpl结尾的文件,找到post-commit.tmpl,使用命令cd /home/svn/pro/hooks

sudo cp post-commit.tmpl post-commit

sudo chmod +x post-commit

sudo gedit post-commit

打开文件后,看到最后几行没有加#的,给它们全部加上#,因为这个是发邮件的例子,我们用不到,全部注销掉,然后在最后一行加上这段代码svn up /var/www/html/bbs --username=admin --password=123456

这样只要我们在window上传文件到svn的资源库,apache就会自动把这些文件同步到我们的bbs文件夹下,然后就可以在地址栏访问到我们的项目了,搞定。另外,极个别,如果中文显示有问题的话,那么可以在svn up这个代码前面加上export.UTF8,再试试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pfsense 2.2RC版本应用

为什么要上RC版本呢?因为华硕主板有一个RTL8111G驱动在2.15中还没有识别。。。。 公司双线WAN,一个PPPOE一个静态IP。 开了端口转发, 要求对不同的IP进行相关限速, 到达指定网站用固定IP, 两根线带宽均衡使用。 相关设…

我的Android进阶之旅------Android利用温度传感器实现带动画效果的电子温度计

要想实现带动画效果的电子温度计,需要以下几个知识点:1、温度传感器相关知识。2、ScaleAnimation动画相关知识,来进行水印刻度的缩放效果。3、android:layout_weight属性的合理运用,关于android:layout_weight属性的讲解&#xff…

mybatis中的#和$的区别

为什么80%的码农都做不了架构师?>>> 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是…

MINA2 源代码学习--源代码结构梳理

一、mina总体框架与案例: 1.总体结构图: 简述:以上是一张来自网上比較经典的图,总体上揭示了mina的结构,当中IoService包括clientIoConnector和服务端IoAcceptor两部分。即不管是client还是服务端都是这个结构。IoServ…

如何查看mac系统是32位还是64位的操作系统

(一)点击工具栏左上角点击 (苹果Logo)标志,关于本机 --> 更多信息 --> 系统报告 -->(左侧栏中)软件 (二)打开终端,输入命令 uname -a 回车 x86_64 表示系统为64位 i68…

3ds max删除了对象后,还是将原来所有对象输出的原因

原因是场景中除了 几何体 外还有 图形,如下图 将这些图形删除,几何体就都正常输出了。 转载于:https://www.cnblogs.com/qingsunny/p/4236530.html

后代选择器

1 <!DOCTYPE HTML>2 <html>3 <head>4 <meta http-equiv"Content-Type" content"text/html; charsetutf-8">5 <title>后代选择器</title>6 <style type"text/css">7 .first span{8 color:red;9 …

u-boot分析(八)----串口初始化

u-boot分析&#xff08;八&#xff09; 上篇博文我们按照210的启动流程&#xff0c;分析到了内存初始化&#xff0c;今天我们继续按照u-boot的启动流程对串口的初始化进行分析。 今天我们会用到的文档&#xff1a; 1. 2440芯片手册&#xff1a;http://download.csdn.net…

linux 开启防火墙的指定端口

2019独角兽企业重金招聘Python工程师标准>>> 通过下面的命令可以开启允许对外访问的网络端口&#xff1a; /sbin/iptables -I INPUT -p tcp --dport 8011 -j ACCEPT #开启8011端口 /etc/rc.d/init.d/iptables save #保存配置 /etc/rc.d/init.d/iptables restart #…

关于webstorm 配置 banbel

2019独角兽企业重金招聘Python工程师标准>>> file type : javascript files scope: project files program: ..............appData\Roaming\npm\babel.cmd argumemt: $FileName$ --out-file $FileNameWithoutExtension$.js -s ps: --out-put 输出es5 格式的文件 …

微信朋友圈广告详细说明

根据官方发布的微信广告系统介绍&#xff0c;朋友圈广告来源于微信广告的一部分&#xff0c;与公众号广告形成了一整个体系。关于公众号的广告&#xff0c;简单说&#xff0c;他可以把微信公众号变成广告牌&#xff0c;会根据用户的阅读习惯以及个人信息来进行广告的投放。每一…

EasyExcel 导出文件的格式化

阿里开源的这个库&#xff0c;让 Excel 导出不再复杂&#xff08;既要能写&#xff0c;还要写的好看&#xff09; 之前聊了 EasyExcel 的内容导出&#xff0c;本文主要说一下导出文件的格式化&#xff0c;格式化包括工作表/单元格样式和内容格式化。毕竟&#xff0c;有时候还是…

oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点...

一、新建测试表并插入数据&#xff1a;oracle二、模拟表数据误删并提交&#xff1a;测试三、使用闪回查询来查误删前表的数据&#xff1a;(表误删是在15:08分左右误删&#xff0c;所以在15:08分以前表的数据仍是在的)&#xff1a;spa四、用如今的数据与误删前的数据作对比&…

opengl微开发之1-从零開始

对OpenGL有一点了解之后&#xff0c;如今開始真正编写代码。 今天的内容&#xff1a; 使用FreeGLUT创建OpenGL的上下文环境 初始化GLEW 创建一个OpenGL的的模板范例 第一步&#xff1a; 一个OpenGL的上下文能够同意我们传递命令究竟层硬件&#xff0c;所以须要一个上下文环境。…

Git客户端(Windows系统)的使用(Putty)(转)

本文环境&#xff1a; 操作系统&#xff1a;Windows XP SP3 Git客户端&#xff1a;TortoiseGit-1.8.14.0-32bit 一、安装Git客户端 全部安装均采用默认&#xff01; 1. 安装支撑软件 msysgit: http://msysgit.github.io/ 当前最新版本为v1.9.5。 2. 安装TortoiseGit 首先&#…

两道二分coming~

第一道&#xff1a;poj 1905Expanding Rods 题意&#xff1a;两道墙&#xff08;距离L&#xff09;之间架一根棒子&#xff0c;棒子受热会变长&#xff0c;弯曲&#xff0c;长度变化满足公式&#xff08; s(1n*C)*L&#xff09;&#xff0c;求的是弯曲的高度h。 首先来看这个图…

十天学Linux内核之第七天---电源开和关时都发生了什么

十天学Linux内核之第七天---电源开和关时都发生了什么 原文:十天学Linux内核之第七天---电源开和关时都发生了什么说实话感觉自己快写不下去了&#xff0c;其一是有些勉强跟不上来&#xff0c;其二是感觉自己越写越差&#xff0c;刚开始可能是新鲜感以及很多读者的鼓励&#xf…

dede php 里加nofollow,织梦导航栏目如何加nofollow

很多用织梦程序做网站的朋友会发现&#xff0c;dedecms后台并没有直接加nofollow的选项。那如果想要给联系我们、关于我们等导航栏目加上nofollow该怎么解决呢&#xff1f;笔者在网上也找了一些资料&#xff0c;有通过修改数据库增加参数的方法&#xff0c;但没有成功。今天笔者…

【Cocos2d-Js实战教学(1)横版摇杆八方向移动】

本教程主要通过搭建一个横版摇杆八方向移动的实例&#xff0c;让大家如何用Cocos2dx-Js来做一款游戏&#xff0c;从基础了解Cocos2dx-Js的基本实现原理&#xff0c;从创建工程&#xff0c;到各个知识点的梳理。 教程分为上下两讲&#xff1a; 上讲有2个小节&#xff1a; 1&…

在单文档中显示我的第一个对话框

在单文档中显示我的第一个对话框 (2010-04-19 21:19:50) 转载▼标签&#xff1a; it 今天编写了在单文档中创建对话框以及调用对话框的代码&#xff0c;收获很多&#xff1b; 1&#xff1a;OnInitDialog函数的加载问题尤其是在VS上的加载&#xff1b;&#xff08;这一点花了…