Ubuntu16.04下安装httpd+svn+viewVC
一、安装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
下载这两条---
- Unix Source: apr-1.7.0.tar.gz [PGP] [SHA256]
- Unix Source: apr-util-1.6.1.tar.gz [PGP] [SHA256]
(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的更多相关文章
- Ubuntu16.04下安装数据库oracle客户端
在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...
- Ubuntu16.04下安装redis
Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- ubuntu16.04下安装artoolkit5
目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...
- Ubuntu16.04下安装多版本cuda和cudnn
Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...
- Ubuntu16.04下安装Hadoop
一.记录理由 刚开始只是想要学习怎么使用Hive的.想着安装应该很简单,没想到花了整整一天的时间来安装,为了避免下次犯同样的错误,特此记录. 二.安装Hadoop 网上教你怎么安装Hadoop的文章有 ...
- Ubuntu16.04下安装texlive
Ubuntu 16.04下安装texlive的步骤如下: 1.下载texlive 打开终端输入:sudo apt-get install texlive-full #下载这一过程会持续10-20分钟 ...
- Ubuntu16.04下安装googlechrome flash 插件和安装网易云音乐
一.ubuntu 16.04 下安装完后发现 flash无法播放没有安装flash插件因为 Adobe Flash 不再支持 linux Google 便开发了PepperFlashPlayer来替代 ...
- 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 ...
随机推荐
- UVA 122 -- Trees on the level (二叉树 BFS)
Trees on the level UVA - 122 解题思路: 首先要解决读数据问题,根据题意,当输入为“()”时,结束该组数据读入,当没有字符串时,整个输入结束.因此可以专门编写一个rea ...
- 整理ing
RT 要学习的 专克bzoj权限题 钟神p系列
- [HTML辅助方法-Html.Raw()的简单应用]
Html.Raw(); 当我们使用 文本编辑器,存入到数据库中的数据会带 html 标签,如果我们需要在前台显示存入时的相同样式,不输出为带有html标签的字符串 ,不通过富文本显示的话,可以通过ht ...
- flutter ListView列表和导航传值以及回调
main.dart import 'package:flutter/material.dart'; void main(){ return runApp(MyApp()); } class Produ ...
- 四十二:数据库之SQLAlchemy之数据查询懒加载技术
懒加载在一对多,或者多对多的时候,如果要获取多的这一部分的数据的时候,通过一个relationship定义好对应关系就可以全部获取,此时获取到的数据是list,但是有时候不想获取全部数据,如果要进行数 ...
- PyCharm安装+破解
PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,鉴于目前最新版 PyCharm 使用教程较少,为了节约时间,来介绍一下 PyCharm 在 Windows下是如何安装的. 这是 ...
- 10 mysql选错索引
10 mysql选错索引 在mysql表中可以支持多个索引,有的sql不指定使用哪个索引,由mysql自己来决定,但是有时候mysql选错了索引,导致执行很慢. 例子 CREATE TABLE `t1 ...
- [译]深入 NGINX: 为性能和扩展所做之设计
来自:http://ifeve.com/inside-nginx-how-we-designed-for-performance-scale/ 这篇文章写了nginx的设计,写的很仔细全面, 同时里面 ...
- MYSQL5.5 linux安装
1.常规的编译安装MYSQL 此种方法使用所有Mysql5.0 - 5.1 系列产品 比较常规的编译方式 2. 采用cmake 方式编译安装Mysql 3.二进制安装方式 免编译安装MYSQL 4.如 ...
- 主机加固之windows2003
这篇与上一篇的win7主机加固内容大体类似,部分有些不同.这篇也可以用来尝试加固windows XP. 1. 配置管理 1.1用户策略 注意:在对Windows系统加固之前先新建一个临时的系统管理员账 ...