linux下基于apapche httpd安装配置svn
倒腾了好久,昨晚终于完工了!下面贴出过程,一则分享,二则记录。
文中所需的准备文件和本文记录时的word文档也一同分享在本文下面(由于有10M限制,所以分批上传了)。
排版格式很烂,请多包涵,谢谢!
?
1、环境与准备文件
系统:Ubuntu 12.04
文件:httpd-2.4.6.tar.gz
subversion-1.8.3.tar.gz
apr-1.4.8.tar.gz
apr-util-1.5.2.tar.gz
pcre-8.33.tar.gz
sqlite-autoconf-3080100.tar.gz
zlib-1.2.8.tar.gz
?
?
2、安装apache httpd
1)、解压 tar -zxvf httpd-2.4.6.tar.gz
2)、进入文件夹 cd httpd-2.4.6/
3)、配置
?
?会发现出现以下错误:
?
?经查询,发现安装apache httpd要预先安装apr、apr-util、prce,这点在官网上也有提到。所以,要先安装apr、apr-util、prce,见步骤3、4、5。
4)、重新配置(如果3)没有问题可跳过),经过上面3个文件的安装,要重新配置,
?
?5)、编译 sudo make
6)、安装 sudo make install
7)、测试运行
启动:sudo /usr/local/apache2/bin/apachectl -k start
如果报错:
?
?则要配置ServerName,具体的:
sudo gedit /usr/local/apache2/conf/httpd.conf
添加:ServerName 127.0.0.1:80
重新启动,浏览器输入 127.0.0.1:80出现 It works! 表明成功!
关闭服务:sudo /usr/local/apache2/bin/apachectl -k stop
附:CSDN上面这篇文章很好的记录了安装过程中遇到的各种问题,很详细。
?
3、安装apr
1)、解压 tar -zxvf apr-1.4.8.tar.gz
2)、进入文件夹 cd apr-1.4.8/
3)、配置 ./configure --prefix=/usr/local/apr
4)、编译 sudo make
5)、安装 sudo make install
?
4、安装apr-util
1)、解压 tar -zxvf apr-util-1.5.2.tar.gz
2)、进入文件夹 cd apr-util-1.5.2/
3)、配置 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
4)、编译 sudo make
5)、安装 sudo make install
?
5、安装pcre
1)、解压 tar -zxvf pcre-8.33.tar.gz
2)、进入文件夹 cd pcre-8.33/
3)、配置 ./configure –prefix=/usr/local/pcre
如果报configure: error: You need a C++ compiler for C++ support.错误,则你需要安装C++编译器,可通过sudo apt-get install build-essential 获取(debian发行版)
4)、编译 sudo make
5)、安装 sudo make install
?
6、安装svn
1)、解压 tar -zxvf subversion-1.8.3.tar.gz
2)、进入文件夹 cd subversion-1.8.3/
3)、配置
?
?如果发现报错:configure: error: Subversion requires SQLite
则安装SQLite,如7所示。
然后如果报错:configure: error: subversion requires zlib,则安装zlib,如8所示。
4)、重新配置,同3)。
5)、编译 sudo make
6)、安装 sudo make install
7)、测试 sudo /usr/local/subversion/bin/svnserve –-version
如果出现了版本信息,则安装成功!
8)、配置环境变量,方便下次启动,添加如下信息到环境变量:
?
?生效配置文件 source /etc/profile
?
7、安装SQLite
1)、解压 tar -zxvf sqlite-autoconf-3080100.tar.gz
2)、进入文件夹 cd sqlite-autoconf-3080100/
3)、配置 ./configure –-prefix=/usr/local/sqlite
4)、编译 sudo make
5)、安装 sudo make install
?
8、安装zlib
1)、解压 tar -zxvf zlib-1.2.8.tar.gz
2)、进入文件夹 cd zlib-1.2.8/
3)、配置 ./configure –-prefix=/usr/local/zlib
4)、编译 sudo make
5)、安装 sudo make install
?
9、svn的配置
1)、选择根目录并创建版本库
?
?此步骤生成该项目版本库的一些基本文件和配置
注意:/home/<your name>/repository/svn 为svn根目录,需要提前创建,jbbs为具体的项目产品版本库
2)、配置,在conf文件夹中主要有三个文件需要配置:
svnserve.conf: svn服务配置文件下。
passwd: 用户名口令文件。
authz: 权限配置文件。
3)、配置 svnserve.conf
?
?上述配置的是指:
匿名用户没有访问权限,权限用户可以写,口令配置在passwd文件中,权限配置在 authz文件中。此处可根据自己情况改变。
4)、配置 passwd
harry = harryssecret
sally = sallyssecret
分别对应用户名和密码
5)、配置 authz
[groups]
@<用户组名> = <用户1>,<用户2>
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
具体详细配置可以参考此博文
?
10、svn的启动关闭
1)、启动svn:
方式一:svnserve -d -r /opt/svn/ #默认的启动端口号为3690
方式二:su –<启动用户> -c “svnserve -d –listen-port 9999 -r /opt/svn/”
其中:
su –<启动用户>表示以启动用户的身份启动svn,用户可添加;
-d表示以daemon方式(后台运行)运行;
–listen-port 9999 表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限;
-r /home/<your name>/repository/svn/ 指定根目录。
2)、检查是否启动
netstat -tunlp | grep svn
如果显示以下信息说明启动成功
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 22887/svnserve
3)、如果想停止svn,则使用如下命令:
killall svnserve
11、结合apache启动svn
1)、配置apache配置文件
在/apache2/conf/httpd.conf中添加:
?
?解释:
SVNParentPath svn的根目录
AuthType 此指令选择了一个目录的用户认证类型
AuthName 提供给AuthName的字符串将出现在大多数浏览器提供的密码对话框中。
AuthUserFile 指定的是SVN访问的口令文件
AuthzSVNAccessFile 指定的是SVN访问的权限文件
其中:
关于AuthUserFile:
首先需要创建一个用户文件。Apache 提供了一个工具 htpasswd,用于生成用户文件,可以在 Apache 的安装目录下找到。具体使用方法如下:htpasswd /etc/subversion/passwd username。如果 passwd 不存在,可以加上 -c 选项让 htpasswd 新建一个。创建好的文件内容是用户名加上密码的 MD5 密文。
例如:
?
?关于 AuthzSVNAccessFile:这和上述9中配置authz一样,可参考配置。
具体的解释请见这篇博文和这篇博文。
这时可能报错:
?
?这是由于mod_dav_svn.so
和mod_authz_svn.so文件没有找到,要将svn目录下面的两个文件分别拷贝到/apache2/modules/目录下面
然后重启服务:
sudo /usr/local/apache2/bin/apachectl -k restart
可能发现又报错:
?
?原因是未加载mod_dav.so,解决办法为在httpd.conf中找到:
#LoadModule dav_module modules/mod_dav.so ,去掉前面的#号
再次重启,浏览器输入地址:
http://127.0.0.1/svn
如果出现
http://127.0.0.1/svn/jbbs
则成功啦!!
?
万年巨坑终于结束了!!!2013年10月31日 01时32分26秒?
(文/p)