CentOS 搭建Apache+Subversion
Step 1☆ 執行安裝命令yum install httpd mysql mysql-server php php-*
yum install httpd-devel subversion mod_dav_svn mod_auth_mysql mod_sslperl perl-CGI
Step 2☆ 启动服务、开启相关端口
service httpd start
service svnserve start
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service iptables save Step 3☆ 创建SVN目录及仓库
killall svnserve
mkdir/home/svndata
chmod -R 755 /home/svndata
chown -R apache.apahce /home/svndata
svnserve -d -r /home/svndata
svnadmin create /home/svndata/test
echo "/usr/bin/svnserve -d -r /home/svndata/" > /etc/rc.local Step 4☆ 创建Apache认证文件及用户
htpasswd -cm /home/svndata/passwd username
htpasswd -m /home/svndata/passwd test
htpasswd -b /home/svndata/passwd username userpasswd ----修改用户密码 Step 5☆ 修改Subversion.conf
vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNParentPath /home/svndata
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svndata/apasswd
AuthzSVNAccessFile /home/svndata/authz
Require valid-user
Step 6☆ 添加在线修改用户功能
创建文件
cd /var/www/cgi-bin
touch ChangePasswd.ini ChangePasswd.cgi ChangePasswd.log
chmod 755 ChangePasswd.cgi
chmod 666 ChangePasswd.log
-rwxr-xr-x 1 root root 6184 4月23 22:02 ChangePasswd.cgi
-rw-r--r-- 1 root root573 4月23 21:55 ChangePasswd.ini
-rw-rw-rw- 1 root root298 4月23 22:24 ChangePasswd.log
vim ChangePasswd.ini
authuserfile=/home/svndata/passwd
logfile=/var/www/cgi-bin/ChangePasswd.log
pwdminlen=6
title=SVN用户密码自助修改
description=SVN用户密码自助修改
yourname=用户名
oldpwd=旧密码
newpwd1=新密码
newpwd2=确认新密码
btn_change=修 改
btn_reset=重 置
changepwdok=成功修改密码
changepwdfailed=修改密码失败
servererror=服务器错误
passmustgreater=新密码位数必须大于
twopassnotmatched=两密码不一致
entername=请输入用户名
enterpwd=密码未输入
errorpwd=你的密码不正确
back=返回vim ChangePasswd.cgi#!/usr/bin/perl -w
use strict;
use CGI;
my $time = localtime;
my $remote_id = $ENV{REMOTE_HOST} || $ENV{REMOTE_ADDR};
my $admin_email = $ENV{SERVER_ADMIN};
my $cgi = new CGI;
my $pwd_not_alldiginal = "密码不能全为数字";
my $pwd_not_allchar = "密码不能全为字符";
my $user_not_exists ="该用户不存在";
my $file_not_found ="文件不存在,请联系管理员";
my $authuserfile;
my $logfile;
my $pwdminlen;
my $title;
my $description;
my $yourname;
my $oldpwd;
my $newpwd1;
my $newpwd2;
my $btn_change;
my $btn_reset;
my $changepwdok;
my $changepwdfailed;
my $oldpwderror;
my $passmustgreater;
my $twopassnotmatched;
my $entername;
my $enterpwd;
my $errorpwd;
my $back;
&IniInfo;
if ($cgi -> param())
{#8
my $User = $cgi->param('UserName');
my $UserPwd = $cgi->param('OldPwd');
my $UserNewPwd = $cgi->param('NewPwd1');
my $MatchNewPwd = $cgi->param('NewPwd2');
if (!$User)
{&Writer_Log("Enter no user name");
&otherhtml($title,$entername,$back);}
elsif (!$UserPwd )
{&Writer_Log("Enter no OldPasswd");
&otherhtml($title,$enterpwd,$back); }
elsif (length($UserNewPwd)
页:
[1]