前言:
现时看官们对“ubuntusvn开机自启动”大体比较注重,咱们都需要分析一些“ubuntusvn开机自启动”的相关文章。那么小编同时在网上收集了一些关于“ubuntusvn开机自启动””的相关知识,希望我们能喜欢,朋友们一起来学习一下吧!介绍
本文分为以下几个步骤
1.安装Subversion
2.安装Apache
3.使用SSL配置Apache
4.使用Apache(和SSL)配置Subversion
5.安装Trac
例如,您可以选择如何安装Apache和SSL,或者在没有Trac的情况下安装Apache plus subversion。
这些步骤是自愿隔离的,需要更多的操作,例如发布一个“apt-get install trac”,它将一步下载并安装所有软件包; 但这将有希望让读者选择一个部分,并忘记不需要的组件。
我不会解释Subversion是什么,或者是什么SSL等等。询问谷歌,获取这些信息:我只是说,对于你的软件项目,你可能需要一个服务器,为你的团队准备好这些工具。
要求
你需要Ubuntu ,我使用“服务器版”64位,而在安装时,我使用最小服务器模式按F4使系统尽可能轻。
准备
在安装服务器之后,您必须确保apt系统与存储库上的可用软件保持同步。键入以下命令:
$ sudo apt-get update
升级安装的软件包现在可能是一个好主意:
$ sudo apt-get upgrade
如果要求下载并安装升级,请回答是。
1.安装Subversion
从命令行输入命令:
$ sudo apt-get install subversion
如果一切顺利,您应该能够使用以下命令验证安装的Subversion版本:
$ svn --version
稍后我们将看到如何创建一个存储库,并使用apache和HTTP基本认证对其进行配置。
2.安装Apache
要安装apache 2,输入命令:
$ sudo apt-get install apache2
完成后,您应该能够通过http:// localhost与浏览器连接,并看到消息“It works!”。或者你可以在命令行中验证安装和使用curl:
$ sudo apt-get install curl
$ curl http:// localhost
<html> <body> <h1> It works!</ h1> </ body> </ html>
3.使用SSL配置Apache
现在我们要配置apache来运行HTTPs。
以下命令将使用a2enmod启用ssl Apache2模块(“Apache2启用模块”的神秘名称:
$ sudo a2enmod ssl
前面的命令会建议你重新启动apache来让它重新加载配置; 现在忽略该消息。
我们需要启用HTTPS端口(443)。编辑/etc/apache2/ports.conf并确保端口443的定义如下:
$ sudo vi /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
NameVirtualHost *:443
Listen 443
</IfModule>
我在SSL中添加了NameVirtualHost *:443子句; 这不是绝对必要的,但如果您希望为trac和其他开发服务提供VirtualHost,以后将会很有用。
现在我们需要配置SSL站点。我们已经有了配置文件,我们只需要用a2ensite(“apache2 enable site”的简写)来启用它。
$ sudo a2ensite default-ssl
同样,上面的命令会建议重新加载Apache配置来激活更改。这一次这个建议几乎是正确的。当我们做出了一些改变之后,我更喜欢用下面的命令重新启动apache:
$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
如果一切正常,你应该看到上面的警告。你可以忽略它,除非你想为你的服务器配置ServerName。所以,如果一切顺利,现在我们应该能够通过SSL连接到我们的服务器。
像以前一样,您可以使用firefox或curl,但是这次URL将是https:// localhost
$ curl -k
<html><body><h1>It works!</h1></body></html>
-k选项是忽略认证验证。另外firefox会抱怨我们的证书是无效的,但是你可以将它添加到异常中,并且它会提示你使用这些消息。
如果一切顺利,现在我们应该准备好Apache2,HTTP和HTTP。
4.使用Apache(和SSL)配置Subversion
首先,我们需要为Apache2安装Subversion模块。
$ sudo apt-get install libapache2-svn
它们将默认启用。所以你不需要运行a2enmod。
我们只需要配置一个存储库。假设我们的项目被称为'myproject'。
首先,我们来决定创建svn仓库的位置。我喜欢/ var / local / svn:
$ sudo mkdir / var / local / svn
然后让我们使用以下过程创建存储库:
$ sudo mkdir / var / local / svn / myproject
$ sudo chown www-data:www-data / var / local / svn / myproject
$ sudo -u www-data svnadmin create / var / local / svn / myproject
上述命令将确保用户www-data(这是apache用户)可以完全访问存储库以便读取和更新它。
我们需要在Apache中配置存储库。编辑/etc/apache2/mods-available/dav_svn.conf使用:
$ sudo vi /etc/apache2/mods-available/dav_svn.conf
并添加如下一节:
<Location / svn / myproject>
DAV svn
SVNPath / var / local / svn / myproject
AuthType Basic
AuthName“My Project Subversion Repository”
AuthUserFile
/etc/subversion/myproject.passwd <LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</ LimitExcept >
</ Location>
在上面的文件中,我们指出,在svn位置我们的仓库应该回应。为了更新存储库,我们需要一个有效的用户。根据上述配置,允许匿名咨询; 但是您可以禁用它,使用前导'#'注释行<LimitExcept ...和</ LimitExcept>或仅删除它们,如下例所示:
<Location / svn / myproject>
DAV svn
SVNPath / var / local / svn / myproject
AuthType Basic
AuthName“My Project Subversion Repository”
AuthUserFile
/etc/subversion/myproject.passwd#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#< / LimitExcept>
</ Location>
上面的配置向Apache表明,即使是咨询我们想要一个有效的用户的存储库。
但是有效的用户需要一个密码,实际上我们为我们的存储库指定了一个名为/etc/subversion/myproject.passwd的密码文件。因此,让我们与几个用户创建一个密码文件:
$ sudo htpasswd -c /etc/subversion/myproject.passwd luigi
$ sudo htpasswd /etc/subversion/myproject.passwd mario
-c选项表示应该将密码文件创建为新的; 只有第一个用户才需要。请注意这个事实,即-c会覆盖现有密码文件而不询问任何内容。就我个人而言,我认为这是一个相当愚蠢的行为,但事实就是如此。
现在我们应该准备好了。
让我们重新加载Apache配置,使更改生效:
$ sudo /etc/init.d/apache2 reload
让我们用浏览器测试我们的svn存储库现在可以通过HTTP和HTTP在以下URL中访问:
我们也可以使用curl来验证它正在工作:
$ curl
<html><head><title>myproject - Revision 0: /</title></head>
<body>
<h2>myproject - Revision 0: /</h2>
<ul>
</ul>
<hr noshade><em>Powered by <a href="">Subversion</a> version 1.5.4 (r33841).</em>
</body></html>
$ curl -k
<html><head><title>myproject - Revision 0: /</title></head>
<body>
<h2>myproject - Revision 0: /</h2>
<ul>
</ul>
<hr noshade><em>Powered by <a href="">Subversion</a> version 1.5.4 (r33841).</em>
</body></html>
现在我们也可以使用svn下载我们的项目
$ svn co https:// localhost / svn / myproject myproject --username luigi
“luigi”显然是我的用户名,用你的用户名代替。
第一次它会提示接受SSL证书,回答永久接受它(p)。然后它可以选择询问你输入的密码。
我们还可以测试修改远程存储库是否正在处理:
$ svn mkdir -m "created the trunk for the project" --username luigi
它会回答:承诺修订1.如果是这样,我们已经完成了。
5.安装Trac
要安装trac文件和所需的依赖项,请键入以下命令:
$ sudo apt-get install trac
$ sudo apt-get install libapache2-mod-python
我们来创建trac web文件夹的目录:
$ sudo mkdir / var / local / trac
$ sudo chown www-data:www-data / var / local / trac
编辑其中一个启用站点的Apache配置文件(在本例中,我修改默认的http一个,但您可以选择将trac放在HTTPS上修改default-ssl)
$ sudo vi / etc / apache2 / sites-enabled / 000-default
并在</ VirtualHost>标记之前的文件末尾添加以下行:
<Location /projects>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/local/trac
PythonOption TracUriRoot /projects
PythonOption PYTHON_EGG_CACHE /tmp
</Location>
# use the following for one authorization for all projects
# (names containing "-" are not detected):
<LocationMatch "/projects/[[:alnum:]]+/login">
AuthType Basic
AuthName "trac"
AuthUserFile /etc/trac/trac.passwd
Require valid-user
</LocationMatch>
为trac用户创建一个密码文件(如果您希望您可以重用或链接用于subversion存储库的passwd文件)
$ sudo htpasswd -c /etc/trac/trac.passwd luigi
$ sudo htpasswd /etc/trac/trac.passwd mario
... continue this way for all your users.
为您的项目创建trac环境:
$ sudo -u www-data trac-admin /var/local/trac/myproject initenv
它会问你一些与你的项目有关的问题。
Project Name [My Project]> My Project
Database connection string [sqlite:db/trac.db]> [Just press Enter to accept the default]
Repository type [svn]> [Just press Enter to accept the default]
Path to repository [/path/to/repos]> /var/local/svn/myproject
现在让我们重新启动apache:
$ sudo /etc/init.d/apache2 restart
检查trac是否可以正确地将浏览器连接到http:// localhost / projects或使用curl来验证url是否正确响应,就像我们以前一样。这个网址应该显示一个链接到“我的项目”,点击它,你应该看到项目的主页。点击登录,浏览器应该要求您提供最近用htpasswd命令定义的用户名和密码。
最后要做的事:添加自己作为Trac的管理员。这将启用管理菜单并允许从网络执行大部分管理操作,您也可以在命令行上使用trac-admin工具执行操作。
执行以下命令:
$ sudo -u www-data trac-admin /var/local/trac/myproject permission add luigi TRAC_ADMIN
这将使该项目的用户名'luigi'管理员。
您可以在Trac中调整其他配置设置以启用电子邮件通知,更改项目徽标等。
标签: #ubuntusvn开机自启动