在Ubuntu服务器上设置Subversion和Trac作为虚拟主机

在Ubuntu服务器上设置Subversion和Trac作为虚拟主机

这个方法概述了可以设置Subversion版本控制系统的过程,并在运行Ubuntu(或可能是Debian)的服务器上与软件开发项目的项目经理Trac一起工作。 它是由Openject Consulting带给您的。

设置Subversion

有关这方面的详细信息,包括备用设置,请参阅使用Subversion的版本控制

  1. 安装所需的软件包。
    sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
  2. 为SVN创建虚拟主机目录。 我们将使用/ var / local / svn而不是/ var / www,以便Subversion实例不会阻塞Web根目录的目录。
    sudo mkdir -p /var/local/svn/svn.example.com
  3. 创建一个开发组,并添加Web用户。
    sudo addgroup示例 sudo adduser www-data示例
  4. 将用户添加到开发组。 这些是需要访问存储库的人员。
    sudo adduser username1示例
    sudo adduser username2示例
    sudo adduser username3示例
  5. 设置适当的权限。
    sudo chmod 2770 /var/local/svn/svn.example.com
  6. 设置存储库。
    sudo svnadmin create /var/local/svn/svn.example.com
  7. 清除当前密码文件。 默认情况下,它是针对svnserve协议的,但我们将使用HTTPS(或仅使用HTTP)。 我们稍后将在此文件中添加用户。
    sudo rm /var/local/svn/svn.example.com/conf/passwd
    sudo touch /var/local/svn/svn.example.com/conf/passwd
  8. 允许组写入存储库。
    sudo chmod -R g + w /var/local/svn/svn.example.com
  9. 设置文件所有权。
    sudo chown -R www-data:example /var/local/svn/svn.example.com
  10. 设置存储库访问权限。 有关如何执行此操作的信息可以在 版本控制与Subversion 的基于路径的授权部分 找到
    sudo vi /var/local/svn/svn.example.com/conf/authz
  11. 为日志文件创建一个目录。
    sudo mkdir /var/log/apache2/svn.example.com
  12. 将站点添加到日志轮播列表。
    sudo vi /etc/logrotate.d/apache2
  13. 配置虚拟主机...
    sudo vi /etc/apache2/sites-available/svn.example.com
    ...具有以下数据。 如果您不关心SSL,则可以忽略SSL选项,并在端口80上运行此选项。
    <VirtualHost [server's IP address]:443>
      ServerName svn.example.com
      <Location />
        DAV svn
        AuthType Basic
        AuthName "svn.example.com"
        AuthUserFile /var/local/svn/svn.example.com/conf/passwd
        AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz
        SVNPath /var/local/svn/svn.example.com
        Require valid-user
      </Location>
      CustomLog /var/log/apache2/svn.example.com/access.log combined
      ErrorLog /var/log/apache2/svn.example.com/error.log
      SSLEngine on
      SSLCertificateFile /etc/apache2/ssl/apache.pem
    # Add this once there is a real (non self-signed) certificate.
    #  SSLCertificateKeyFile /etc/apache2/ssl/server.key
    </VirtualHost>
    <VirtualHost [server's IP address]:80>
      ServerName svn.example.com
      Redirect / https://svn.example.com/
    </VirtualHost>
    
    参考:
    /etc/apache2/mods-enabled/dav_svn.conf
  14. 启用subversion虚拟主机。
    sudo a2ensite svn.example.com
  15. 创建用户/密码组合。
    htpasswd /var/local/svn/svn.example.com/conf/passwd用户名
  16. 重新启动Web服务器。
    sudo /etc/init.d/apache2重新启动
  17. 如果要让用户在本地工作,请设置svnwrap。 (详见手册页)
    sudo ln -s / usr / bin / svnwrap / usr / local / bin / svn

设置Trac

  1. 创建网络目录。 我们将使用/ var / local / trac代替/ var / www,以免堵塞webroot的目录。
    sudo mkdir -p /var/local/trac/trac.example.com
  2. 设置适当的权限。
    sudo chmod 2770 /var/local/trac/trac.example.com
  3. 创建一个Trac实例。
    sudo trac-admin /var/local/trac/trac.example.com initenv
  4. 在网络目录中设置适当的所有权。
    sudo chown -R www-data:example /var/local/trac/trac.example.com
  5. 允许组写入存储库。
    sudo chmod -R g + w /var/local/trac/trac.example.com
  6. 配置它
    sudo vi /var/local/trac/trac.example.com/conf/trac.ini
  7. 为日志文件创建一个目录。
    sudo mkdir /var/log/apache2/trac.example.com
  8. 将站点添加到日志轮播列表。
    sudo vi /etc/logrotate.d/apache2
  9. 配置虚拟主机...
    sudo vi /etc/apache2/sites-available/trac.example.com
    ...具有以下数据。 如果您不关心SSL,您可以跳过SSL选项,并在端口80上运行此选项。
    # Trac Configuration
    <VirtualHost [server's IP address]:80>
      ServerName trac.example.com
      Redirect / https://trac.example.com/
    </VirtualHost>
    <VirtualHost [server's IP address]:443>
      ServerName trac.example.com
      DocumentRoot /var/local/trac/trac.example.com/
      Alias /trac/ /usr/share/trac/htdocs
      <Directory "/usr/share/trac/htdocs/">
          Options Indexes MultiViews
          AllowOverride None
          Order allow,deny
          Allow from all
      </Directory>
      <Location />
          SetHandler mod_python
          PythonHandler trac.web.modpython_frontend
          PythonInterpreter main_interpreter
          PythonOption TracEnv /var/local/trac/trac.example.com/
          PythonOption TracUriRoot /
          AuthType Basic
          AuthName "trac.example.com"
          # Use the SVN password file.
          AuthUserFile /var/local/svn/svn.example.com/conf/passwd
          Require valid-user
      </Location>
      CustomLog /var/log/apache2/trac.example.com/access.log combined
      ErrorLog /var/log/apache2/trac.example.com/error.log
      SSLEngine on
      SSLCertificateFile /etc/apache2/ssl/apache.pem
    # Add this once there is a real (non self-signed) certificate.
    #  SSLCertificateKeyFile /etc/apache2/ssl/server.key
    </VirtualHost>
    
    参考:
    http://trac.edgewall.org/wiki/TracOnUbuntu
  10. 启用Trac虚拟主机。
    sudo a2ensite trac.example.com
  11. 配置Trac权限 一旦进入管理控制台,执行命令“帮助权限”获取有关如何执行此操作的信息。 这很重要,因为默认情况下,某些设置是允许的,当它们应该是限制性的。 另外,请参阅维基页面TracPermissions附带您的新安装。
    trac-admin /var/local/trac/trac.example.com
  12. 重新启动Web服务器。
    sudo /etc/init.d/apache2重新启动

最后一件事是将子域“svn”和“trac”添加到您的域的DNS配置中。 一旦完成,Subversion和Trac将被集成到您的服务器环境中,并且可以从Web访问。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏