首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

linux停基于apapche httpd安装配置svn

2013-11-05 
linux下基于apapche httpd安装配置svn倒腾了好久,昨晚终于完工了!下面贴出过程,一则分享,二则记录。文中所

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)

热点排行