一、安装httpd

1、下载httpd

网址:http://httpd.apache.org/download.cgi#apache24

下载这一条---Source: httpd-2.4.39.tar.gz [ PGP ] [ SHA256 ]

解压成httpd-2.4.39文件夹

2、下载apr和apr-util

网址:http://apr.apache.org/download.cgi

下载这两条---

(1)将解压的apr-1.7.0文件夹和apr-util-1.6.1文件夹改名成apr和apr-util后copy到httpd的srclib目录下

3、下载pcre

网址:https://ftp.pcre.org/pub/pcre/

下载这一条---pcre-8.43.tar.gz 23-Feb-2019 16:46 2M

(1)安装pcre

cd /etc/httpd/pcre-8.43
sudo ./configure
sudo make
sudo make install

4、安装httpd

sudo ./configure --with-pcre=/usr/local/pcre --with-included-apr -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite

** –enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误

sudo make

sudo make install

就将httpd安装完成了

ps:sudo make 这一步报了个fatal error: expat.h: No such file or directory 错误

  解决办法:安装expat库

    命令:sudo apt-get install libexpat-dev

5、启动httpd

cd /usr/local/apache2/bin

sudo ./apachectl -k start   #启动

sudo ./apachectl -k stop   #停止

sudo ./apachectl -k restart   #重启

ps:再启动httpd的时候报了个找不到 /usr/home/httpd/conf/httpd.conf这个配置文件的错误

  原因:是因为我们安装的httpd路径是/usr/local/apache2/

  解决办法:sudo ./apachectl -f /usr/home/apache2/conf/httpd.conf -k start   #启动

二、安装svn

1、安装apr

把上面下载apr解压安装

sudo ./configure

sudo make

sudo make install

ps:报了个小错误:rm: cannot remove 'libtoolT': No such file or directory

  解决办法:找到apr-1.7.0下的configure文件,用gedit打开他,找到RM='$RM'这一句修改为RM='$RM -f'

2、安装apr-util

sudo ./configure --with-apr=/usr/local/apr

sudo make

sudo make install

3、下载subversion

网址:http://subversion.apache.org/download.cgi#supported-releases

解压

cd ./subversion-1.10.4

# sudo ./configure --with-included-apr

#sudo ./configure --with-lz4=internal --with-utf8proc=internal --with-apr=/usr/local/apr --with-apr-#util=/usr/local/apr-util/

sudo ./configure --with-lz4=internal --with-utf8proc=internal --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util LDFLAGS="-L/usr/lib64 -L/lib64"

sudo make

sudo make install

ps:

(1)报了个小错误:

An appropriate version of sqlite could not be found. We recommmend
3.8.11.1, but require at least 3.8.2.
Please either install a newer sqlite on this system

or

get the sqlite 3.8.11.1 amalgamation from:
https://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip
unpack the archive using unzip and rename the resulting
directory to:
/home/xyp/Downloads/subversion-1.10.4/sqlite-amalgamation

configure: error: Subversion requires SQLite

解决办法:

(1)wget https://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip

(2)将解压的sqlite-amalgamation-3081101文件夹中的sqlite3.c复制到/home/xyp/Downloads/subversion-1.10.4/sqlite-amalgamation路径中,没有sqlite-amalgamation这个文件夹就自己创建

(2)又报了个小错误

configure: error: subversion requires zlib

解决办法:去http://zlib.net/下载最新版的zlib,点击US (zlib.net) (GPG signature)

    sudo ./configure

    sudo make

    sudo make install

(3)又又报了个小错误

错误1:configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal
解决:./configure命令添加 --with-lz4=internal选项

错误2:configure: error: Subversion requires UTF8PROC
解决:./configure命令添加  --with-utf8proc=internal

(4)又又又报了个小错误

configure: error: failed to recognize APR_INT64_T_FMT on this platform

原因:找了下相关资料,据说是没装apr和apr-util,mmp,狗日的,我才装了好不好,神奇的Linux,每次装环境都是不同的错误

解决办法:没办法,试了很多种网上说版本,都不行,只能暴力破解了

用gedit打开configure

把下面这三句话注释了,就可以继续./configure操作了

# if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
# as_fn_error $? "failed to recognize APR_INT64_T_FMT on this platform" "$LINENO" 5
# fi

(5)在sudo make 的时候又出错了

subversion/libsvn_subr/sqlite.c:57:26: fatal error: sqlite3ext.h: No such file or directory
compilation terminated.
Makefile:789: recipe for target 'subversion/libsvn_subr/sqlite.lo' failed
make: *** [subversion/libsvn_subr/sqlite.lo] Error 1

原因:之前放了的,但是据说是版本太低了

解决办法:去官网https://www.sqlite.org/download.html下载一个最新的,我下的是下面这个

sqlite-amalgamation-3280000.zip
(2.21 MiB)

再将解压的替换之前sqlite-amalgamation中的那个sqlite3.c,我是直接把解压的文件中的全部复制过去了

(6)再sudo make 和sudo make install,感动,终于没报错了

#svnserve --version 回车显示版本说明安装成功

3、配置版本库

#mkdir /var/svn 创建svn数据目录
#svnadmin create /var/svn/repository ,就是版本库的名字,可以改变!
·修改版本库配置,回车后会在库目录下生成配置文件
#vim /var/svn/repository/conf/svnserve.conf 主配文件 [general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz #vim /var/svn/repository/conf/passwd 用户配置文件 [users]
user1 = password1
user2 = password2 #vim /var/svn/repository/conf/authz 权限配置文件 [groups] 设置组
group1 = user1
[/] 根目录权限设置
user1 = rw 用户1权限是:可读写
user2 = r 用户2权限是:可读,不可写
@group1 = rw 设置组权限
[zzc:/] 设置根目录下""文件夹的权限 启动svn服务器
#svnserve -d -r /var/svn
-d表示以daemon方式(后台运行)运行
-r /var/svn指定根目录是/var/svn #ps aux | grep svnserve 查看服务,端口: 客户端使用的软件是TortoiseSVN
浏览方法:
打开版本库浏览器输入:svn://ip-addr/repository

apache中的subversion配置:


编辑 vi /usr/local/apache/conf/httpd.conf


添加:
LoadModule dav_svn_module modules/mod_dav_svn.so

在/usr/local/libexec/下找到mod_authz_svn.so将它复制到apache2/modules

注意,如果mod_dav是作为共享对象编译(而不是静态链接到httpd程序),你需要为它使用使用LoadModule语句,一定确定它在mod_dav_svn之前,即:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

最后添加目录映射
<Location /svn>
DAV svn
SVNPath /var/svn/repository
</Location>


访问http://ip/svn 即能看到svn的内容


添加访问权限, 将Location改为:
<Location /svn>
DAV svn
SVNPath /var/svn/repository
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /var/svn/svn-passwd
Require valid-user
</Location>


接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:

sudo htpasswd -cm /var/svn/svn-passwd xieyuanpeng

报了个小错误:

The program 'htpasswd' is currently not installed. You can install it by typing:
sudo apt install apache2-utils

解决办法:

sudo apt install apache2-utils


它会提示您输入密码,当您输入了密码,该用户就建立了。"-c"选项表示创建新的/etc/subversion/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉"-c"选项即可:
htpasswd /etc/subversion/passwd other_user_name


重启apache
访问http://ip/svn 输入用户名密码 登陆即可


详细的设置可参考:http://www.blogjava.net/yongbing/archive/2007/03/06/102276.html

三、安装viewVC

1、下载viewVC

  网址:http://www.viewvc.org/downloads/

我下载的是这个 e4a84fef6d7fb0414c27faed4ff24c1e viewvc-1.1.26.tar.gz

2、安装

./viewvc-install

viewvc配置:

vi /usr/local/viewvc/viewvc.conf

修改如下:

[general]
#cvs_roots = cvs: /home/cvsroot
svn_roots = repository: /var/svn/repository
root_parents = /var/svn : svn
default_root = svn

Apache中ViewVC配置,

cp /usr/local/viewvc/bin/cgi/viewvc.cgi /usr/local/apache/cgi-bin/viewvc.cgi

在 /usr/local/apache/conf/httpd.conf 最后添加:

ScriptAlias /viewvc /usr/local/apache2/cgi-bin/viewvc.cgi
<Location /viewvc>
AuthUserFile /var/svn/svn-passwd
AuthName "ViewVC Client Access"
AuthType Basic
require valid-user
</Location>

重启apache
访问http://ip/viewvc 输入用户名密码 登陆即可

错误提示:
An Exception Has Occurred
Python Traceback

Traceback (most recent call last):
File "/var/lib/python-support/python2.4/viewcvs.py", line 3235, in main
request.run_viewcvs()
File "/var/lib/python-support/python2.4/viewcvs.py", line 268, in run_viewcvs
import vclib.svn
File "/var/lib/python-support/python2.4/vclib/svn/__init__.py", line 27, in ?
from svn import fs, repos, core, delta
ImportError: No module named svn

错误原因是python中没有subversion模块造成的 检查/usr/local/lib/svn-python是否安装 否则重新编译subversion
如已安装

pip install svn

echo /usr/local/lib/svn-python > /usr/local/lib/python2.7/site-packages/subversion.pth

并  cp /usr/local/lib/libsvn* /usr/lib/

重启apache
访问http://ip/viewvc 输入用户名密码 登陆即可

branches&tags&trunk模式下建svn库

mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}

svn import -m "Initial repository" /tmp/svn-structure-template file:///var/www/linuxidcsvn/repo/
Adding /tmp/svn-structure-template/branches
Adding /tmp/svn-structure-template/tags
Adding /tmp/svn-structure-template/trunk

五、后话

搞了两天,终于搞好了

Ubuntu16.04下安装httpd+svn+viewVC的更多相关文章

  1. Ubuntu16.04下安装数据库oracle客户端

    在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...

  2. Ubuntu16.04下安装redis

    Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...

  3. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  4. ubuntu16.04下安装artoolkit5

    目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...

  5. Ubuntu16.04下安装多版本cuda和cudnn

    Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...

  6. Ubuntu16.04下安装Hadoop

    一.记录理由 刚开始只是想要学习怎么使用Hive的.想着安装应该很简单,没想到花了整整一天的时间来安装,为了避免下次犯同样的错误,特此记录. 二.安装Hadoop 网上教你怎么安装Hadoop的文章有 ...

  7. Ubuntu16.04下安装texlive

    Ubuntu 16.04下安装texlive的步骤如下: 1.下载texlive 打开终端输入:sudo apt-get install texlive-full  #下载这一过程会持续10-20分钟 ...

  8. Ubuntu16.04下安装googlechrome flash 插件和安装网易云音乐

    一.ubuntu 16.04 下安装完后发现 flash无法播放没有安装flash插件因为 Adobe Flash 不再支持 linux Google 便开发了PepperFlashPlayer来替代 ...

  9. ubuntu16.04下安装opencv3.4.1及其扩展模块

    1.源文件下载 opencv-3.4.1.tar.gz(https://github.com/opencv/opencv/releases) opencv_contrib-3.4.1.tar.gz(h ...

随机推荐

  1. Android如何使用Https与Nohttp框架使用

    什么是Https? HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...

  2. Jmeter(五)检查点

    录制的脚本回放成功了, 但是运行有可能出现失败的情况, 所以有必要让JMeter来帮我们验证测试结果的正确性. 在Jmeter中是用断言组件来实现此功能的. 首先, 在需要添加断言的请求后面, 添加响 ...

  3. Web01_HTML

    语法和规范: 1.所有的HTML文件后缀名都是以.html或者.htm结尾的,建议使用.html结尾 2.整个html文件分别由头部分<head></head>和体部分< ...

  4. Unity Shader 基础

    推荐: https://www.cnblogs.com/nanwei/p/7277417.html 上面链接作者的整个系列都写的不错 https://www.cnblogs.com/nanwei/ca ...

  5. 【VS开发】ActiveX控件如何定制属性?

    在很多场合下会存在这样的需求,那就是使用方在实际使用控件之前就想控件已经做了相应的处理比如加载的控件版本不正确等,或者需要在加载时才确定能够使用的功能集:这个时候传统的配置文件已经无法满足这种类型的需 ...

  6. http 协议里的 200、301、302、401、403、405、500 分别代表什么?

    http 协议里的 200.301.302.401.403.405.500 分别代表什么? 详细描述: 打开某些网页时,无法正常打开,出现 200.301.302.401.403.405.500 这此 ...

  7. oracle登录后无法使用,显示Connected to an idle instance

    1.登录情况: [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul ...

  8. 【2019CSP-S游记】咕了好久了撒

    对,证书已经发下来了,我才想起来写游记(虽然我个蒟蒻明明就是在写反思) 终于和父母商议好了以后怎么办,顺带找了一下班主任,在机房的电脑敲出来的(我来找教练,然后完全没找着,淦) 79分,众所周知CCF ...

  9. POJ2387 Til the Cows Come Home (最短路 dijkstra)

    AC代码 POJ2387 Til the Cows Come Home Bessie is out in the field and wants to get back to the barn to ...

  10. centos7 源码编译安装 php

    准备工作 下载 PHP 源码包并解压 $ wget https://www.php.net/distributions/php-7.2.19.tar.bz2 $ yum -y install bzip ...