- 浏览: 76530 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (95)
- Linux(CentOS) (17)
- ubuntu (16)
- linux命令 (13)
- java基础 (8)
- eclipse maven (1)
- ubuntu xen (0)
- samba (1)
- jdk (1)
- linux (1)
- jenkins (1)
- MySQL (4)
- spring (1)
- redis (2)
- zookeeper (3)
- java多线程 (3)
- 线程池 (2)
- 工具类 (1)
- 技术问答 (1)
- 算法 (1)
- eclipse JVM (1)
- hadoop配置 (2)
- hadoop配置 HDFS (0)
- ubuntu svn (1)
- hadoop (5)
- mapReduce (1)
- HDFS (2)
- hive (3)
- flume (1)
- python (6)
- centos (1)
- svn (1)
- sonar (1)
- JVM (1)
- kafka (1)
- zabbix (1)
- python paramiko (1)
- TPS (1)
- docker (4)
- ssh (2)
- Go (1)
最新评论
下面就讲一下如何采用Apache+SVN,实现以http的方式享受SVN服务,示例用户名为jzk。
一、Apache
1、安装Apache
如果报如下错误:
需要更新源
2、修改端口
因为nginx默认情况应该是占用了80端口,而apache默认也应该使用的是80端口,所以会发生端口冲突。
将上面2个文件中的80端口修改8099,或者其他,然后在重新启动apache
3、配置多站点
a、修改配置文件
b、修改001-filehost.conf文件
将文件中的DocumentRoot部分替换为以下部分:
同时编辑文件 /etc/apache2/apache2.conf,在里面加入如下内容:
c、激活站点 001-filelist.conf
二、SVN
1、安装SVN命令如下:
2、查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.so和mod_authz_svn.so这两个动态库说明apache已经加载了Subversion的访问控制模块。如果没有,手动添加。
3、在/home目录下创建一个SVN项目仓库(repository),指令如下:
运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb。
如果一切正常,命令执行后没有任何反馈信息而迅速返回。一个新的版本库就被创建出来。我们可以查看下版本库里有什么。
用如下命令我们可以测试下Subversion能不能检出。
4、 Subversion添加用户
首次创建需要添加-c选项,将登录Ubuntu系统的用户jzk添加到SVN用户中。
如果再次添加用户的话不需要添加-c选项了,如果添加-c选项,之前已经添加的用户就会消失,相当于从新开始了。如下:
5、添加svnAdmin的用户组,并将账号jzk添加到这个组中,命令如下:
顺带解释一下用到的2个参数
# 其中-G指定用户添加到哪个组中
-a 参数的意义等同于 -dR --preserve=all
就是以下几个意义的组合:
-d: 保持软链接
-R: 递归
--preserve=all :保持文件原有属性
这里-a表明我们只是将用户jzk添加到svnadmin这个组中,用户多了一个所属的用户组,但是不会从之前所属的用户组中脱离出来。
6、 Subversion分配用户权限
授权用户权限命令如下:
编辑内容:
其中* = 表示其它所有用户都没有任何权限。@表示用户组,*表示所有用户,[/]表示全部目录。注意顶格写。UTF-8格式才能配置SVN权限,Linux下默认是UTF-8,Windows下有转换工具,比如Eclipse->Edit->最后一项。一般针对最末梢文件设置权限。
特别注意:权限分配时,不能写成cen, huang =r,这样提交时会出现错误:svn Commit failed checkout of 403 forbidden。应该写成cen = r和huang = r
设置SVN开机启动
a、创建执行脚本svn.sh
b、添加可执行权限
c、添加自动运行
在最后添加一行内容如下:
重启服务器
7、配置Apache,以http的协议方式访问SVN服务。
在安装libapache2-svn的时候,生成了一个路径为/etc/apache2/mods-available/dav_svn.conf的文件,接下来我们对其进行些许的修改来完成对Apache的配置。
修改完的dav_svn.conf内容如下所示:
8、重启SVN:
9、访问
http://192.168.36.135:8099/svn/repos/
Subversion添加项目
我以统一的版本库为例,添加三个项目business,develop和project。首先在一个临时目录下,根据 Subversion 版本控制的一般布局结构,创建出三个项目的主要目录树,命令如下:
然后用 svn import 命令导入已有的目录树。
可以用 svn list 确认导入的项目是否正确:
如果要查看最新修订版本的信息,可以使用 svnlook info 命令:
还可以在命令后面接上 “--revision 版本号” 来指定某一个修订版的显示。
还可以用如下命令来显示版本库的具体树形结构,后面的 “--show-ids” 选项指定显示每一个显示元素的修改版本 ID。
重启之后我们在浏览器中键入SVN项目的访问地址就可以查看项目中的内容了,假定我们配置服务器的IP地址为192.168.36.135,那么我们在浏览器中可键入http://192.168.36.135/svn/respo/进行访问。
以上我们介绍的是SVN服务器端的安装和配置,在客户端可以安装一个SVN的客户端软件,如TortoiseSVN这个软件。TortoiseSVN的安装使用都非常方便,但是在第一次使用的时候可能会遇到一些小问题,如在TortoiseSVN Commit时报出错误:
svn: Can't open file '/home/svn/repos/db/txn-current-lock': Permission denied
消除这种错误的解决方法是给SVN目录添加读写权限,命令如下:
一、Apache
1、安装Apache
sudo apt-get install apache2
如果报如下错误:
Package apache is not available, but is referred to by another package
需要更新源
sudo apt-get update sudo apt-get upgrade
2、修改端口
因为nginx默认情况应该是占用了80端口,而apache默认也应该使用的是80端口,所以会发生端口冲突。
sudo vim /etc/apache2/ports.conf sudo vim /etc/apache2/sites-available/000-default.conf
将上面2个文件中的80端口修改8099,或者其他,然后在重新启动apache
sudo /etc/init.d/apache2 restart
3、配置多站点
a、修改配置文件
$ cd /etc/apache2/sites-available $ sudo cp 000-default.conf 001-filehost.conf
b、修改001-filehost.conf文件
将文件中的DocumentRoot部分替换为以下部分:
DocumentRoot /home/www Options +Indexes IndexOptions FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=*
同时编辑文件 /etc/apache2/apache2.conf,在里面加入如下内容:
<Directory /home/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
c、激活站点 001-filelist.conf
sudo a2ensite 001-* sudo a2dissite 000-* service apache2 reload #无效 sudo /etc/init.d/apache2 restart
二、SVN
1、安装SVN命令如下:
sudo apt-get install subversion sudo apt-get install libapache2-svn sudo apt-get install apache2-utils
2、查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.so和mod_authz_svn.so这两个动态库说明apache已经加载了Subversion的访问控制模块。如果没有,手动添加。
sudo vim /etc/apache2/mods-enabled/dav_svn.load LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
3、在/home目录下创建一个SVN项目仓库(repository),指令如下:
sudo mkdir -pv /home/svn/repos #创建SVN项目仓库 sudo svnadmin create --fs-type fsfs /home/svn/repos /** sudo chown -R root:subversion repos #将repos这个目录下的所有文件和目录转移所有权给subversion用户组中的用户root;-R对目前目录下的所有档案与子目录进行相同的拥有者变更 sudo svnadmin create /home/svn/repos #用SVN自带的工具svnadmin create创建SVN项目仓库 sudo chmod -R g+rws repos #赋予组成员对所有新加入项目仓库repos的文件和目录均拥有相应的权限 **/
运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb。
如果一切正常,命令执行后没有任何反馈信息而迅速返回。一个新的版本库就被创建出来。我们可以查看下版本库里有什么。
用如下命令我们可以测试下Subversion能不能检出。
sudo svn co file:///home/svn/repos/
4、 Subversion添加用户
sudo touch /home/svn/passwd.conf sudo touch /home/svn/authz.conf
sudo htpasswd -c /home/svn/passwd.conf jzk
首次创建需要添加-c选项,将登录Ubuntu系统的用户jzk添加到SVN用户中。
如果再次添加用户的话不需要添加-c选项了,如果添加-c选项,之前已经添加的用户就会消失,相当于从新开始了。如下:
sudo htpasswd /etc/subversion/passwd new_jzk
5、添加svnAdmin的用户组,并将账号jzk添加到这个组中,命令如下:
sudo addgroup svnadmin sudo usermod -G svnadmin -a jzk
顺带解释一下用到的2个参数
# 其中-G指定用户添加到哪个组中
-a 参数的意义等同于 -dR --preserve=all
就是以下几个意义的组合:
-d: 保持软链接
-R: 递归
--preserve=all :保持文件原有属性
这里-a表明我们只是将用户jzk添加到svnadmin这个组中,用户多了一个所属的用户组,但是不会从之前所属的用户组中脱离出来。
6、 Subversion分配用户权限
授权用户权限命令如下:
sudo vim /home/svn/authz.conf
编辑内容:
#用户组指令 [groups] svnadmin = jzk,将用户jzk添加到用户组svnAdmin #其他组 [repos:/] @svnadmin = rw #为用户组subversion添加读写权限 * =
其中* = 表示其它所有用户都没有任何权限。@表示用户组,*表示所有用户,[/]表示全部目录。注意顶格写。UTF-8格式才能配置SVN权限,Linux下默认是UTF-8,Windows下有转换工具,比如Eclipse->Edit->最后一项。一般针对最末梢文件设置权限。
特别注意:权限分配时,不能写成cen, huang =r,这样提交时会出现错误:svn Commit failed checkout of 403 forbidden。应该写成cen = r和huang = r
设置SVN开机启动
a、创建执行脚本svn.sh
#sudo touch /root/svn.sh sudo vim /root/svn.sh #输入如下内容 #!/bin/bash svnserve -d -r /home/svn
b、添加可执行权限
sudo chmod ug+x /root/svn.sh
c、添加自动运行
sudo vim /etc/init.d/rc.local
在最后添加一行内容如下:
/root/svn.sh
重启服务器
7、配置Apache,以http的协议方式访问SVN服务。
在安装libapache2-svn的时候,生成了一个路径为/etc/apache2/mods-available/dav_svn.conf的文件,接下来我们对其进行些许的修改来完成对Apache的配置。
sudo vim /etc/apache2/mods-available/dav_svn.conf
修改完的dav_svn.conf内容如下所示:
<Location /svn> DAV svn SVNParentPath /home/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /home/svn/passwd.conf AuthzSVNAccessFile /home/svn/authz.conf Require valid-user </Location>
8、重启SVN:
sudo killall svnserve svnserve -d -r /home/svn --config-file /home/svn/repos/conf/svnserve.conf sudo /etc/init.d/apache2 restart
9、访问
sudo /etc/init.d/apache2 restart
http://192.168.36.135:8099/svn/repos/
Subversion添加项目
我以统一的版本库为例,添加三个项目business,develop和project。首先在一个临时目录下,根据 Subversion 版本控制的一般布局结构,创建出三个项目的主要目录树,命令如下:
sudo mkdir /home/temp sudo mkdir /home/temp/develop sudo mkdir /home/temp/business sudo mkdir /home/temp/project
然后用 svn import 命令导入已有的目录树。
svn import /home/svn/tmp/ file:///home/svn/repos/ --message "init"
可以用 svn list 确认导入的项目是否正确:
svn list --verbose file:///home/svn/repos/
如果要查看最新修订版本的信息,可以使用 svnlook info 命令:
svnlook info /home/svn/repos/
还可以在命令后面接上 “--revision 版本号” 来指定某一个修订版的显示。
还可以用如下命令来显示版本库的具体树形结构,后面的 “--show-ids” 选项指定显示每一个显示元素的修改版本 ID。
svnlook tree /home/svn/repos/ --show-ids
重启之后我们在浏览器中键入SVN项目的访问地址就可以查看项目中的内容了,假定我们配置服务器的IP地址为192.168.36.135,那么我们在浏览器中可键入http://192.168.36.135/svn/respo/进行访问。
以上我们介绍的是SVN服务器端的安装和配置,在客户端可以安装一个SVN的客户端软件,如TortoiseSVN这个软件。TortoiseSVN的安装使用都非常方便,但是在第一次使用的时候可能会遇到一些小问题,如在TortoiseSVN Commit时报出错误:
svn: Can't open file '/home/svn/repos/db/txn-current-lock': Permission denied
消除这种错误的解决方法是给SVN目录添加读写权限,命令如下:
cd /home/svn/repos sudo chown jzk:1 -R db/ sudo chmod 777 -R db/
发表评论
-
制作ubuntu启动盘
2015-03-23 13:59 519http://www.ubuntu.com/download/ ... -
Ubuntu新建用户
2015-03-18 14:20 371新建用户的命令是useradd,修改密码是passwd,如下: ... -
Linux文件系统
2014-11-01 21:35 3581、查看系统分区 df 【-h】 2、查看文件、目录大小 d ... -
ubuntu14.04更换源
2014-08-22 15:20 6961、备份 sudo cp /etc/apt/sources ... -
ubuntu14.04安装jenkins
2014-08-19 16:39 8271、安装 wget -q -O - http://pkg. ... -
Ubuntu14.04server 修改时间
2014-08-18 11:31 489sudo dpkg-reconfigure tzdata ... -
ubuntu14.04开放端口
2014-08-06 19:58 2317jzk@ubuntu:$ sudo ufw enable ... -
Ubuntu14.04server 下安装samba
2014-08-06 12:34 38801、安装samba sudo apt-get instal ... -
Ubuntu14.04 安装nginx
2014-07-31 17:16 858=============================== ... -
ubuntu14.04安装maven
2014-07-20 22:19 15271、下载maven http://maven.apache. ... -
linux文件夹权限问题
2014-07-20 16:08 6181、sudo chmod 777 /usr/local/j ... -
Ubuntu配置SSH服务
2014-07-08 20:00 4791、Ubuntu14.04缺省没有安装SSH Server,使 ... -
ubuntu安装eclipse
2014-06-24 22:12 5521、下载http://www.eclipse.org/down ... -
ubuntu14.04安装tomcat8
2014-06-23 23:24 24091、http://tomcat.apache.org/down ... -
ubuntu14.04 安装JDK8
2014-06-22 23:14 1183http://www.oracle.com/technetwo ...
相关推荐
ubuntu14.04安装gitlab.pdf
虚拟机+Ubuntu 14.04完美安装方法。
sudo dpkg -i openssh-client_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_6.6p1-2ubuntu1_amd64.deb sudo dpkg -i libck-connector0_0.4.5-3.1ubuntu2_amd64.deb sudo dpkg -i openssh-server_6.6...
Ubuntu14.04离线安装NFS方法,这里面是需要的安装包,还有安装的手册,注意这个是Ubuntu14.04的安装包。
ubuntu 14.04设置Apache虚拟主机的方法.docx
nfs 挂载的详细步骤
有关在Ubuntu 14.04上安装UHD和GNURdio的教程,自己总结的
在ubuntu 14.04下有网安装GNU Radio
Ubuntu 14.04系统下能用的vscode客户端(新版本在启动时无响应,且无法打开终端),版本号:code_1.42.1-1581432938_amd64.deb 使用方法:解压后执行sudo dpkg -i code*
Ubuntu14.04升级GCC4.9.3步骤,基于Linuxmint17、Ubuntu14.04亲测。
mysql-ubuntu14.04系统版
安装完Ubuntu 14.04要做的件事,用于最新发布的ubuntu14.04,方便学习应用
基于ubuntu14.04得Tomcat8
复制文件内百度网盘分享地址ubuntu-14.04-desktop-amd64.iso
ubuntu14.04LTS离线安装openssh所需要的介质,亲测有效。
参照其他人的博客,绝对正确,在ubuntu14.04系统中安装indigo版本ROS的教程,亲手实践的!
ubuntu14.04 source.list
安装了ubuntu14.04,必须使用root,所以使用了root登陆
ubuntu14.04 Docker离线安装包