집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux 서버에서 svn 환경을 구축하는 방법에 대한 자세한 설명
다음 Linux Tutorial 칼럼에서는 Linux 서버에서 svn 환경을 구축하는 방법을 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!
1. svn 서버를 설치합니다
sudo apt-get install subversion
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、把上面创建的用户组的权限给到资源库pro
sudo 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=123456
sudo 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、重启svn
sudo 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
2. ubuntusudo apt-get install libapache2- svn
에 svn 로컬 클라이언트를 설치합니다. code>
sudo mkdir /home/svn
🎜🎜4의 루트 디렉터리로 svn 폴더를 만들고 관리자를 만듭니다🎜 rrreee🎜5. 그런 다음 svn의 루트 디렉터리 아래에 svn 리소스 라이브러리를 만들고 pro🎜🎜sudo mkdir /home/svn/pro
🎜🎜6과 같이 원하는 이름을 지정하고 권한을 부여합니다. 위에서 생성한 사용자 그룹을 리소스 라이브러리 pro🎜rrreee🎜7로 가져옵니다. 리소스를 리소스 라이브러리🎜🎜sudo svnadmin create /home/svn/pro
🎜🎜8로 입력합니다. >/home/svn/pro 여러 폴더가 보이는데, conf 폴더🎜rrreee🎜9를 열어보세요. 먼저 svnserve.conf
를 열고 #Remove 앞의 내용을 변경하고 다음 내용이 일치하는지 확인하세요🎜rrreee🎜🎜10. 🎜passwd
🎜 파일을 열고 🎜svn🎜User, 🎜[ 사용자 ]
🎜아래를 추가하세요🎜admin=123456
🎜rrreee🎜11 authz
를 엽니다. 파일, 지금 바로 사용자에게 액세스 권한을 추가하세요🎜rrreee🎜🎜12. svn🎜🎜rrreee🎜13을 다시 시작하세요. 로컬 우분투의 IP 주소를 확인하세요🎜🎜sudo ifconfig
🎜🎜를 보실 수 있습니다. >192.168.***.***
🎜🎜14. 그런 다음 창 호스트에서 LAN을 통해 가상 머신의 svn에 액세스할 수 있습니다. 14px; line -height: 1.76em;">TortoiseSVN🎜이 도구는 주소에 🎜svn://192.168을 입력합니다. bar.***.***/pro
🎜바로 그 사용자입니다. 위에서 생성한 사용자입니다🎜admin=123456
🎜, index.php와 같은 몇 가지 테스트 파일을 업로드하고 일부 PHP 코드를 작성하여 업로드하세요. 🎜🎜🎜15 현재 PHP는 svn에서 리소스 index.php를 구문 분석할 수 없으므로 필요합니다. svn 리소스 라이브러리에 추가하려면 🎜🎜 파일이 우분투의 apache+php 액세스 디렉터리에 동기화되고 /var/www/html 아래에 🎜rrreee🎜16 폴더가 생성됩니다. 그러면 http:/에 액세스할 수 있습니다. / 창 호스트 192.168.***.***/bbs
index.php의 내용을 확인하세요.🎜그런 다음 효과를 달성하려면 svn 리소스 라이브러리의 변경된 내용을 자동으로 동기화하는 아파치가 필요합니다.🎜 🎜🎜 🎜/home/svn/pro/hooks
디렉터리에는 tmpl로 끝나는 파일이 많이 있습니다. post-commit.tmpl
을 찾아 🎜🎜rrreee🎜 명령을 사용하세요. 파일을 열려면 #이 없는 마지막 몇 줄이 보이면 모두 #을 추가하세요. 이는 이메일 보내기의 예이므로 🎜 필요하지 않으므로 모두 로그아웃한 다음 다음을 추가하세요. 코드를 마지막 줄에 🎜🎜rrreee🎜 이렇게 합니다. 창의 svn 리소스 라이브러리에 파일을 업로드하면 Apache는 자동으로 이 파일을 🎜bbs 폴더에 동기화한 다음 주소 표시줄에서 프로젝트에 액세스할 수 있습니다. . 또한, 드문 경우지만 중국어 🎜🎜 디스플레이에 문제가 있는 경우 svn up
코드 앞에 export.UTF8
을 추가하고 다시 시도할 수 있습니다 🎜 🎜. 🎜🎜위 내용은 Linux 서버에서 svn 환경을 구축하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!