ViewVC sous Apache

De EjnTricks

Plusieurs modes de publication de ViewVC sous apache sont disponibles et décrite dans le fichier INSTALL de la distribution. L'exemple présenté dans cet articule utilise la méthode de ScriptAlias.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Apache 2.2.X

Ayant pour hypothèse l'installation de ViewVC a été réalisée sour /usr/local/viewvc-1.1.7, la procédure est la suivante, sous Ubuntu: Modification du fichier /etc/apache2/sites-enabled/000-default, par ajout des deux lignes:

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ScriptAlias /viewvc/repos /usr/local/viewvc-1.1.7/bin/cgi/viewvc.cgi	
        <Location "/viewvc/repos">
           #Options Indexes FollowSymLinks
           #AllowOverride None
           #Order deny,allow
        </Location>
	ScriptAlias /viewvc/query /usr/local/viewvc-1.1.7/bin/cgi/query.cgi

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

La mise en place de la configuration Location "/viewvc/repos" va permettre de spécifier des paramètres d'accès à l'URL.

Dans ce cas, les outils seront accessibles depuis les URLs:

http://server/viewvc/repos
http://server/viewvc/query



Apache 2.4.6

Lors d'une mise à jour du serveur Ubuntu, Apache a été mis à jour en version 2.4.6. Cependant, l'impact est assez conséquent, car il y a eu une refonte de la gestion des droits d'accès. Des messages d'erreurs étant constatés dans les logs de Apache:

[Thu Dec 26 13:48:04.976876 2013] [authz_core:error] [pid 8692] [client 82.230.154.123:58512] AH01630: client denied by server configuration: /var/opt/viewvc/bin/cgi/viewvc.cgi

La configuration a donc été modifiée afin d'être de nouveau opérationnelle:

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		# Old configuration for APACHE 2.2
		# Order allow,deny
		# Allow from all
		Require all granted
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		# Old configuration for APACHE 2.2
		# Order allow,deny
		# Allow from all
		Require all granted
	</Directory>

	ScriptAlias /viewvc/repos /usr/local/viewvc-1.1.7/bin/cgi/viewvc.cgi	
        <Location "/viewvc/repos">
           #Options Indexes FollowSymLinks
           #AllowOverride None
           #Order deny,allow
           Require all granted
        </Location>
	ScriptAlias /viewvc/query /usr/local/viewvc-1.1.7/bin/cgi/query.cgi

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
		# Old configuration for APACHE 2.2
		# Order allow,deny
		# Allow from all
		Require all granted
    </Directory>

</VirtualHost>