Chinaunix首页 | 论坛 | 博客
  • 博客访问: 654368
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1961
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-04 21:54
文章分类

全部博文(220)

文章存档

2018年(1)

2015年(140)

2014年(79)

我的朋友

分类: 系统运维

2015-04-23 17:40:28


因为某种原因我们需要用Nginx作为Subversion的http前端,但目前没有现成的Nginx+Subversion搭配方式。
而Subversion提供Apache的http处理模块。现在我们通过nginx反向代理给Apache的方式来实现Nginx+Subversion的组合方式。

构建Apache+Subversion的环境

安装Apache

yum install -y httpd

安装Subversion

yum install -y subversion

安装Apache SVN模块

yum install -y mod_dav_svn

建立SVN库

mkdir -p /home/svn/ cd /home/svn/ svnadmin create work
chown -R apache.apache work

添加Subversion账号

htpasswd -c /home/svn/work/conf/passwdfile  test

修改/etc/httpd/conf.d/subversion.conf,内容如下

LoadModule dav_svn_module     modules/mod_dav_svn.so LoadModule authz_svn_module   modules/mod_authz_svn.so <Location /svn/work> DAV svn SVNPath /home/svn/work AuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svn/work/conf/passwdfile AuthzSVNAccessFile /home/svn/work/conf/authz Require valid-user Location>

启动httpd

/etc/init.d/httpd start

使用Nginx反向代理
下载nginx

wget http://nginx.org/download/nginx-0.8.55.tar.gz tar -xzvf nginx-0.8.55.tar.gz
cd nginx-0.8.55

添加nginx账号

useradd -s /bin/false nginx

编译安装nginx

./configure --prefix=/opt/nginx-0.8.55 \ --with-http_stub_status_module \ --with-http_gzip_static_module
make
make install
cd /opt && ln -sf nginx-0.8.55 nginx && cd -

配置Nginx反向代理,修改/opt/nginx/conf/nginx.conf

server { listen 80; server_name  svn.test.com; location /svn/work { proxy_pass  http://127.0.0.1/svn/work; } location / { return 404; } }

启动nginx

/opt/nginx/sbin/nginx

最后
访问即访问svn库

相关文档:

  • 修改svn服务器地址
  • 处理SVN的tree conflicts
  • CentOS下编译安装nginx+php
  • CentOS下Nginx+uWSGI+Django搭建

apache htpasswd选项参数

  htpasswd [-cmdpsD] passwordfile username

  htpasswd -b[cmdpsD] passwordfile username password

  htpasswd -n[mdps] username

  htpasswd -nb[mdps] username password

apache htpasswd命令选项参数说明

  -c 创建一个加密文件

  -n 不更新加密文件,只将apache htpasswd命令加密后的用户名密码显示在屏幕上

  -m 默认apache htpassswd命令采用MD5算法对密码进行加密

  -d apache htpassswd命令采用CRYPT算法对密码进行加密

  -p apache htpassswd命令不对密码进行进行加密,即明文密码

  -s apache htpassswd命令采用SHA算法对密码进行加密

  -b 在apache htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码

  -D 删除指定的用户

  在Windows, NetWare and TPF 系统中 ‘-m’选项是默认的,在使用apache htpasswd命令时可以忽略。在其他系统中,’-p’选项可能不能工作。

apache htpasswd例子

1、如何利用htpasswd命令添加用户?

  htpasswd -bc .passwd tonyzhang pass

  在bin目录下生成一个.passwd文件,用户名tonyzhang ,密码:pass,默认采用MD5加密方式

2、如何在原有密码文件中增加下一个用户?

  htpasswd -b .passwd onlyzq pass

  去掉c选项,即可在第一个用户之后添加第二个用户,依此类推

3、如何不更新密码文件,只显示加密后的用户名和密码?

  htpasswd -nb tonyzhang pass

  不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码

4、如何利用htpasswd命令删除用户名和密码?

  htpasswd -D .passwd tonyzhang

5、如何利用htpasswd命令修改密码?

  htpasswd -D .passwd tonyzhang

  htpasswd -b .passwd tonyzhang pass

  即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。



阅读(3316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~