所需文件:
httpd-2.2.19.tar.bz2 subversion-deps-1.6.19.tar.gz subversion-1.6.19.tar.gz安装Apache:
# bzip2 -dc httpd-2.2.19.tar.bz2 | tar -xvf - # ./configure--prefix=/usr/local/apache2 --enable-dav --enable-so --enable-rewrite --enable-module -with-sslwith-ssl增加SSL功能
# make && make install将http改为服务方式:
# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd # ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf # vi /etc/rc.d/init.d/httpd 加下以下三行,否则chkconfig --add httpd时报service httpd does not support chkconfig #Comments to support chkconfig on RedHat Linux #chkconfig: 2345 90 90 #description:http server # chkconfig --add httpd # chkconfig --list httpd 启动,看到it works!说明安装正常。
安装subversion:
将subversion两个文件解压到相同的目录下 # tar xvzf subversion-deps-1.6.19.tar.gz # tar xvzf subversion-1.6.19.tar.gz # cd subversion-1.6.19 #./configure --prefix=/usr/local/subversion # make # make install为安全,创建svn用户
创建版本库: mkdir /home/svn/repository svnadmin create /home/svn/repository/txzl 初始化目录: # cd /opt/ # mkdir txzl txzl/Soft txzl/Documents # svn import txzl/ file:///home/svn/repository/txzl -m "初始化SVN目录";创建资源权限文件:
/home/svn/repository/authz.conf [groups] project_p = pm project_s = admin project_c = user01 project_t = test[txzl:/]
@project_p = rw * =[txzl:/soft]
@project_p = rw @project_s = rw * =[txzl:/documents]
@project_p = rw @project_s = rw @project_c = rw @project_t = rw * =注:* = 指除所有人
创建用户文件:
1、创建user.conf文件并增加admin用户 /usr/local/apache2/bin/htpasswd -c /home/svn/repository/user.conf admin 2、增加其他用户 /usr/local/apache2/bin/htpasswd /home/svn/repository/user.conf admin2修改httpd.conf
1、修改运行程序所属组 #User daemon #Group daemon 改为 User svn Group svn2、指定svn访问目录:
<Location /svn> DAV svn SVNParentPath /home/svn/repository/ AuthzSVNAccessFile /home/svn/repository/authz.conf AuthType Basic AuthName "Subversion SVN Login Auth!" AuthUserFile /home/svn/repository/user.conf Require valid-user </Location>测试:
配置SSL:
1、查看模块集成情况: /usr/local/apache2/bin/httpd -l ..... mod_ssl.c .....2、查看openssl
rpm -qa|grep openssl 3、生成证书文件 a.创建rsa私钥,文件名为server.key # openssl genrsa -out server.key 1024b.用 server.key 生成证书签署请求 CSR
#openssl req -new -key server.key -out server.csr Country Name:两个字母的国家代号 State or Province Name:省份名称 Locality Name:城市名称 Organization Name:公司名称 Organizational Unit Name:部门名称 Common Name:你的姓名 Email Address:地址 'extra' attributes 不用输入c.生成证书CRT文件server.crt
openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt 将证书复制到/usr/local/apache2/下 httpd-ssl.conf文件中默认证书的参数为: SSLCertificateFile /usr/local/apache2/server.crt SSLCertificateKeyFile /usr/local/apache2/server.keyd.修改httpd.conf
去掉Include conf/extra/httpd-ssl.conf 前的#号 注释掉listen 80 修改servername 127.0.0.1:80为127.0.0.1:443 强制使用SSL.重启httpd
./apachectl -S VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: _default_:443 (/usr/local/apache2/conf/extra/httpd-ssl.conf:74)e.测试