apache和svn协同,安装插件
1.yum install mod_dav_svn subversion
2.yum install mod_ssl openssl
yum安装的opessl不能在编译apache的时候起到作用,必须单独安装OpenSSL
先下载
http://www.openssl.org/source安装
cd /usr/local
tar -zxvf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./config
make && make install
此举将安装最新的OpenSSL到/usr/local/ssl目录中,无需理会系统中已有版本的OpenSSL,也不要去卸载它,否则会导致很多的应用程序无法正常执行,例如X窗口无法进入等错误。
3.安装apr和apr-util
cd /opt/httpd-2.2.27/srclib/apr
./configure --prefix=/usr/local/apr
make && make install
cd /opt/httpd-2.2.27/srclib/apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install
如果安装失败提示install: error: cannot install `libaprutil-1.la‘ to a directory
cd /opt/httpd-2.2.27/srclib/apr-util
make clean
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make && make install
一般就能安装成功了
新建目录并拷贝libapr-1.so和libapr-1.la
mkdir /opt/apache/lib
cp /usr/local/apr/lib/libapr-1.la
cp /usr/local/apr/lib/libapr-1.so
4.安装apache下载地址:http://www.apache.org/dist//httpd/httpd-2.2.27.tar.gz
cd /opt
tar -zxvf httpd-2.2.27.tar.gz
通过解压,进入解压后的文件夹,执行
cd /opt/httpd-2.2.27
./configure --prefix=/opt/apache --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-ssl=static --with-ssl=/usr/local/ssl --enable-mods-shared=all
./configure --prefix=/opt/apache --with-apr=/opt/apr/ --with-apr-util=/opt/apr-util/ --with-pcre=/opt/pcre --enable-so --enable-dav --enable-dav-fs
其中,–enable-dav允许Apache提供DAV协议支持;–enable-so允许运行时加载DSO模块,前两个参数是必须要加的,–prefix 是安装的位置。如果configure通过,接着执行
make && make install
数分钟后就完事了,通过 /opt/apache/bin/apachectl -k start 来启动,在浏览器中访问127.0.0.1,如果出现 It’s Works!,那么说明安装成功。
5安装SVN
http://subversion.apache.org/download/下载最新版本,老版本在http://archive.apache.org/dist/subversion/
这次下载的是subversion-1.8.10.tar.gz,下载之后上传到/opt。解压tar -zxvf subversion-1.8.10.tar.gz
尝试编译
cd /opt/subversion-1.8.10
./configure --with-apxs=/opt/apache/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-openssl --with-zlib --enable-maintainer-mode
错误1:
An appropriate version of sqlite could not be found. We recommmend3.7.6.3, but require at least 3.6.18.
去这里http://www.sqlite.org/download.html下载sqlite-amalgamation-3080700.zip
解压后上传到/opt/subversion-1.8.10/sqlite-amalgamation,其中sqlite-amalgamation目录需要自己创建
错误2:
configure: error: subversion requires zlib
去http://zlib.net/下载,http://zlib.net/zlib-1.2.8.tar.gz,上传到/opt
cd /usr/local
tar -xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make && make install
6.svn的启动与配置
mkdir -p /opt/svn/
svnadmin create /opt/svn/home
cd /opt/svn/home/conf
授权目录
chown -R apache:apache /opt/svn //apache组的apache用户拥有权限
chmod 700 /opt/svn //让其他人无权
chmod -R 700 /opt/svn/home
chcon -R -t httpd_sys_content_t /opt/svn
错误:
出现chcon: can‘t apply partial context to unlabeled file修改/etc/selinu/config 文件:
SELINUX=enforcing
然后reboot重启机器后,就好了。
创建apache账户
第一次 表示新建一个文件以后就不需要加了
#htpasswd -c /opt/svn/passwd wxq
#htpasswd /opt/svn/passwd caowei
7.修改Apache配置,httpd.conf最下面追加,直接在根目录下建密码
cd /opt/apache/conf下载httpd.conf
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<location /svn>
DAV svn
SVNParentPath /opt/svn/
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /opt/svn/passwd
AuthzSVNAccessFile /opt/svn/authz
Satisfy Any
Require valid-user
</Location>
8.
启动与重启apache
/opt/apache/bin/apachectl start
/opt/apache/bin/apachectl restart
关闭apache
/opt/apache/bin/apachectl stop
检测SVN 端口
[root@localhost conf]#netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重启SVN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn // 启动
如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ --listen-port 3391
查看版本
svnserve --version