Ubuntu 11.10 Server Apache + SVN + SSL配置-验证OK

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

一、安装准备(安装模块)

#sudo apt-get install apache2

#sudo apt-get install apache2-mpm-prefork

#sudo apt-get install apache2-utils

#sudo apt-get install libapache2-svn

#sudo apt-get install libapache2-mod-auth-pam(可选,用于PAM

#sudo apt-get install libapache2-mod-auth-sys-group(可选,用于PAM

#sudo apt-get install subversion

#sudo apt-get install subversion-tools

二、SVN配置

配置前说明:

我的Subversion文件仓库放在/home/svn,并且我的项目名称是简单的“myproject”Subversion组名字是subversion

创建Subversion的组:

典型的情况下,您应该创建一个名为“Subversion”的组来拥有文件仓库所在的目录。

#sudo addgroup subversion

#sudo usermod -G subversion -a www-data

//subversion是组名,可自己定义,一般不需要更改

验证:

# cat /etc/group|grep subversion

subversion:x:1001:www-data,svnx

//你需要注销然后再登录以便您能够成为subversion组的一员

www-data是一个在安装apache2服务器时系统自动添加的用户,从网络上连接到apache2服务器的用户都会拥有与www-data用户相同的权限

创建SVN库:

# cd /home

# sudo mkdir svn

#cd svn

# sudo mkdir myproject

//此命令在svn目录下进行

# sudo chown -R root:subversion myproject

//此命令在svn目录下进行

# # sudo chmod -R g+rws myproject

//此命令在svn目录下进行

//赋予组成员对所有新加入文件仓库的文件拥有相应的权限

# sudo svnadmin create myproject //此命令在svn目录下进行

可能的问题:

在后续Check in的时候遇到如下错误:

Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied

解决方法:可以再次运行命令:

# sudo chown -R root:subversion myproject

三、Apache配置

先备份一下Apache2的配置文件:

sudo cp -R /etc/apache2 /etc/apache2_backup

通过WebDAV协议访问SVN文件仓库,您必须配置您的Apache 2 Web服务器。您必须加入下面的代码片段到您的/etc/apache2/mods-available/dav_svn.conf中:(加在文件最后面即可)

<Location /myproject> //版本库名字,必须以/开始

DAV svn //不用改

SVNPath /home/svn/myproject //版本库路径

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd //密码文件路径。

<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

</Location>

特别说明:

1、如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT></LimitExcept>两行注释掉。

2、当您添加了上面的内容,您必须重新起动Apache 2 Web服务器,请输入下面的命令:

#sudo /etc/init.d/apache2 restart

创建passwd 文件:

该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:

#sudo htpasswd -c /etc/subversion/passwd user_name

它会提示您输入密码,当您输入了密码,该用户就建立了。

最后,你就可以用客户端来访问了

http://主机IP/myproject

如果端口号已经更改,则需要添加相应的端口号

这样,就可以通过Web方式访问版本库了,不过这样的密码传输是纯文本方式的,基于安全方面的考虑,我建议你使用SSL

四、SSL配置

Apache2已经在前面安装好了下面安装SSL模块:
安装SSL模块

#a2enmod ssl

我们可以使用openssl来创建,这里我就是此方法创建SSL证书的

#sudo cd /etc/apache2

#sudo mkdir ssl

#sudo cd ssl

#sudo openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999

注:在要求输入Common Name (eg, YOUR name)时,输入你的主机名。

示例过程如下:

Generating a 1024 bit RSA private key
.....................++++++
..++++++
writing new private key to 'apache.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:China
string is too long, it needs to be less than 2 bytes long
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Jiangxi
Locality Name (eg, city) []:Nanchang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Nanchang Unversity
Organizational Unit Name (eg, section) []:
Information Center
Common Name (eg, YOUR name) []:LinuxServer
Email Address []:
111@gmail.com


复制一份站点配置做为SSL配置的原型
#cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

#ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl

编辑SSL的配置

#vi /etc/apache2/sites-enabled/ssl
把端口改为443
加入SSL认证配置
其它的根据需要自己定制与普通配置无异

<VirtualHost *:443>

ServerSignature On

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/apache.pem

………………………

修改普通http方式的配置(apache2这里好像不用改,默认的已经是80端口)

编辑Apache端口配置,加入443端口(这里可以不用加“Listen 443”因为SSL默认认证的443端口已经打开)

别忘了把前面生成的SSL密钥文件拷贝过来

# sudo cp apache.pem /proc/14646/cwd/apache.pem //在apache.pem目录下

重启apache2

#/etc/init.d/apache2 restart

这样,你就可以通过https的方式访问了!!

参考自:

http://blog.csdn.net/beisika10368/archive/2010/11/25/6035518.aspx


==========================================================================================

http://blog.csdn.net/maijian/article/details/5755938

Apache2 支持 https (ubuntu10.04)

apt-get install apache2

运行a2enmod 输入ssl,激活模块

apache2-ssl-certificate 或者使用openssl

openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999

生产apache.pem cp到/etc/apache2

vim sites-available/default

添加

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerAdmin webmaster@localhost

DocumentRoot /var/www
ServerName 192.168.60.131
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>

</VirtualHost>

Ubuntu 18.04 Apache WebDAV完整部署与排错指南 WebDAV是一种基于HTTP的文件管理协议,广泛应用于企业文档协同、CI/CD归档和远程配置同步等场景。其核心原理是通过PROPFIND、PUT等扩展HTTP方法实现远程文件系统操作,依赖Apache模块链(mod_ssl → mod_authn_core → mod_dav_fs)完成请求解析、认证授权与磁盘映射。技术价值在于零客户端依赖、Windows原生挂载支持及强审计能力,适用于政企内网、工业网关等对稳定性要求极高的生产环境。常见故障如‘no required ssl certificate wa 阅读详情

相关推荐

Ubuntu 20.04 + Apache 搭建生产级 WebDAV 协作服务

WebDAV 是一种基于 HTTP 的文件管理协议,支持远程编辑、版本控制与细粒度权限管理,广泛用于 Office、Finder、Obsidian 等客户端的无缝协同。其核心原理遵循 IETF RFC 4918 标准,依赖服务器端对 PROPFIND、LOCK、PROPPATCH 等扩展方法的完整实现。相比轻量但功能受限的 Nginx DAV 模块,Apache 的 mod_dav/mod_dav_fs 提供更成熟、更兼容的企业级协议栈。在稳定性和可审计性要求高的场景下,Ubuntu 20.04 LTS 凭

weixin_34379433的博客 473

ubuntu linux 配置svn+apache+ssl

ubuntu linux中配置svn+apache+ssl

Ubuntu 16.04 LEMP 部署 WordPress:存量系统下的生产级建站实践

LEMP(Linux + Nginx + MySQL + PHP)是构建高性能 WordPress 网站的经典技术栈,其核心价值在于轻量、稳定与高并发处理能力。Nginx 的事件驱动模型显著降低内存占用,MySQL 的事务与字符集支持保障数据一致性,PHP-FPM 则实现进程隔离与资源可控。在教育、政务、中小企等广泛存在的老旧生产环境中,Ubuntu 16.04 作为长期支持系统,虽已结束维护,却因 PHP 7.0、MySQL 5.7 和 Nginx 1.10 的成熟兼容性,成为支撑 WordPress 5

weixin_34353714的博客 523

ubuntu搭建SVN实现https协议传输

1安装(可参考http://wiki.ubuntu.org.cn/SubVersion) (1)安装subversion     sudo apt-get install subversion (2)安装apacheapache svn工具:      sudo apt-get install apache2 && apt-get install libapache2-svn

B_H_L的专栏 6730

Ubuntu上搭建SVN服务器全攻略

1    概述... 3 2    安装Ubuntu 8.10服务器... 3 3    安装Apache服务器... 3 4    创建SVN服务器... 3 4.1     安装SVN.. 3 4.2     增加组... 4 4.3     创建SVN仓库... 4 4.4     配置Apache服务器... 4 5    配置SSL. 6 6    远程修改svn用户口

Mirage520的专栏 1834

Ubuntu使用svn命令行创建分支 遇到svn: SSL is not supported错误

Ubuntu使用svn命令行创建分支 遇到svn: SSL is not supported错误 这主要是因为在编译svn源码的时候,没有加上--with-ssl选项,导致不支持https加密协议。解决办法(以svn1.6.13为例): 1、下载svn1.6.13源码,并解压,得到subversion1.6.13目录,因为在ubuntu下系统缺少一些库文件,还需要一个相应的包,下载subv

晨光飞舞的专栏 2880

20.04.2-Ubuntu SVN+HTTPS管理多个仓库

linux通过https方式搭建svn服务器

weixin_43126629的博客 347

Ubuntu 18.04 + Apache 搭建合规 WebDAV 服务实战指南

WebDAV 是基于 HTTP 的文件协作协议,核心价值在于支持远程文件的创建、锁定、属性管理等原子操作,为 Zotero、Obsidian 等知识管理工具提供类本地磁盘体验。其技术实现依赖 RFC 4918 协议栈完整性,尤其强调 LOCK、PROPFIND 等扩展方法的支持能力与锁机制健壮性。在工程实践中,Apache 的 mod_dav/mod_dav_fs 组合因高 RFC 兼容度和模块解耦设计,成为生产环境首选;而 Ubuntu 18.04 作为 LTS 版本,凭借稳定内核、成熟软件包与可预测行为

weixin_30258901的博客 320

Ubuntu 18.04 + Nginx 混合服务实战:Web托管与反向代理共存配置

Nginx 是现代 Web 架构中兼具静态文件服务与反向代理能力的高性能 HTTP 服务器,其基于事件驱动的异步非阻塞模型(如 epoll)赋予了远超传统服务器的并发处理能力。核心原理在于 master-worker 进程模型与精细化的 location 路由匹配机制,使它能在毫秒级完成 SSL 卸载、路径重写、请求转发与缓存控制,从而实现前后端流量的分层调度与安全收敛。该技术方案广泛应用于政务云、工业网关、教育私有云等对稳定性与可控性要求极高的生产环境,尤其适配长期支持(LTS)的 Ubuntu 18.0

weixin_33727510的博客 511

Ubuntu 18.04 下 Nextcloud 原生 LAMP 部署实战指南

Nextcloud 是一款开源私有云协作平台,其核心依赖 Web 服务器、数据库、PHP 运行时与缓存系统构成的 LAMP 栈。理解 LAMP 架构原理,有助于在老旧或受限环境中实现稳定部署。Ubuntu 18.04 虽已结束官方支持,但因硬件兼容性与运维惯性,仍广泛用于教育、工控及中小机构内网场景。本文聚焦生产级部署,强调 snappy 机制的沙箱限制与原生 LAMP 的可控优势,详解 Apache 安全头配置、MySQL 缓冲池调优、PHP 扩展手动编译及 Redis 分布式锁集成等关键技术点,适用于需

culi3118的博客 474

Ubuntu 22.04 LEMP 部署 WordPress 生产级实战指南

LEMP(Linux + Nginx + MySQL + PHP)是现代 WordPress 高性能托管的核心架构,其事件驱动模型显著提升并发处理能力,相比 Apache 更节省内存并降低攻击面。Nginx 的静态资源直出与 FastCGI 协议配合 PHP-FPM,结合 MySQL 8.0 的安全认证机制和 PHP 8.1 的 JIT 性能优化,共同构成稳定、可扩展的生产环境基础。该架构广泛应用于电商、企业官网及高流量内容站点,支持 HTTPS 强制跳转、防暴力破解、敏感文件保护等安全实践。本文聚焦 Ub

weixin_30457465的博客 381

Debian 10私有CA搭建实战:从根证书到UEFI签名

私有证书颁发机构(CA)是构建零信任网络与设备可信链路的核心基础设施。其原理基于X.509公钥证书体系,通过分层签名(Root CA→Intermediate CA→End Entity)实现密钥隔离与策略管控。技术价值在于摆脱公共CA依赖、支持内网HTTPS、mTLS双向认证及固件级安全启动(如Windows UEFI Secure Boot)。典型应用场景涵盖Debian/Linux服务加密、IoT设备身份认证、容器平台TLS配置,以及符合法规要求的数字凭证签发。本文聚焦Debian 10系统环境,详解

Coding 149

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

Ubuntu系统如何安装SVN服务端并通过客户端无公网ip实现远程访问?

由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。当SVN安装在局域网内的话,想要远程访问资料库或者代码将会受到限制,为了能从公共网络访问内网SVN资料库,[cpolar](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)能很好的解决这一需求,cpolar是一个能把内网服务暴露至公网进行访问的工具。

知道的越多,不知道的越多。 1894

ubuntu系统安装SVN服务端,并通过客户端进行远程访问

ubuntu系统安装SVN服务端,并通过客户端进行远程访问

分享学习知识地方 3229

Ubuntu配置Apache SVN并使用SSL

1.  sudo apt-get install apache2      sudo apt-get install subversion      sudo apt-get install libapache2-svn 2.  sudo addgroup subversion      sudo usermod -G subversion -a www-data      su

只发亲测有效的文章!抵制无脑瞎转,浪费网络资源和大家的时间! 602
上一篇: vitualbox ubuntu下apache服务器建立,外网访问
下一篇: oracle的dual
vsooda
博客等级 码龄15年 456粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值