Vistas

Mejora G-Forge 3: Ofrecer un dominio para cada proyecto

De MorfeoWiki

Introducción

En este caso se pensó en incluir un dominio personalizado para cada proyecto, pero por motivos de la política de los proyectos alojados en morfeo-project.org se decidió no hacerlo así y en su lugar se optó por cambiar la política de nombrado.

Actualmente cada proyecto dispone de un dominio en el que puede publicar contenidos personalizados bajo un dominio del tipo <nombre_proyecto>.morfeo-project.org o nombre_proyecto.morfeo-project.org.

Implementación

Para hacer esto posible basta con añadir un nuevo "sitio" al servidor Apache. Es necesario que este "sitio" se cargue el último para no afectar al funcionamiento de GForge:

  • /etc/apache2/sites-enabled/003-projects

NameVirtualHost * <VirtualHost 10.95.19.7:80>

       ServerName zion.morfeo-project.org
       ServerAlias *.morfeo-project.org
       #RewriteEngine On
       #RewriteRule   ^/(.)* https://%{SERVER_NAME}/$1 [R,L]
       VirtualDocumentRoot /var/lib/gforge/chroot/home/groups/%1/htdocs
       VirtualScriptAlias /var/lib/gforge/chroot/home/groups/%1/cgi-bin
       DirectoryIndex index.html index.php
       php_admin_value default_charset "UTF-8"
       php_admin_value include_path "/etc/gforge/custom:/etc/gforge:/usr/share/gforge:/usr/share/gforge/www/include:."
       Alias /themes-gforge/ /usr/share/gforge/www/themes/
       <Directory /var/lib/gforge/chroot/home/groups>
              Options Indexes FollowSymlinks
              AllowOverride All
              order allow,deny
              allow from all
      </Directory>
 #LogFormat "%h %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" gforge
 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" gforge
 CustomLog "|/usr/bin/cronolog /var/log/gforge/%Y/%m/%d/gforge.log" gforge
 # Ensure that we don't try to use SSL on SSL Servers
 <IfModule apache_ssl.c>
   SSLDisable
 </IfModule>

</VirtualHost>

Resultados

Ahora es posible acceder a cada proyecto a través de su dominio personal del tipo <nombre_proyecto>.morfeo-project.org.