PDA

View Full Version : Force ISPC3 to update apache2 vhost files


archerjd
26th November 2008, 20:23
I am working with the latest SVN of ISPC3 and wanted to know if there is a way to force ISPConfig to update/rewrite all of apache2's vhost files.

The thing is, I have been configuring ISPC3 on Debian Lenny.
I know I know, not a good idea. But I am using mod_gnutls with it and so far everything works out well. Even so, when configuring the system with a little tweak here a little tweak there the change doesn't take effect right away.

To give you an idea of what I have done here, I have modified the /usr/local/ispconfig/server/conf/vhost.conf.master file to make use of mod_gnutls. Below is a diff of the file.
--- /usr/local/ispconfig/server/conf/vhost.conf.master 2008-11-26 10:26:51.000000000 -0600
+++ vhost.conf.master 2008-11-26 12:04:20.000000000 -0600
@@ -98,12 +98,15 @@


<tmpl_if name='ssl_enabled'>
-<IfModule mod_ssl.c>
+<IfModule mod_gnutls.c>
################################################## #########
-# SSL Vhost
+# GnuTLS Vhost
################################################## #########

<VirtualHost <tmpl_var name='ip_address'>:443>
+ GnuTLSEnable On
+ GnuTLSExportCertificates on
+ GnuTLSPriorities NORMAL
DocumentRoot <tmpl_var name='web_document_root'>
ServerName <tmpl_var name='domain'>
<tmpl_if name='alias'>
@@ -123,11 +126,10 @@
ErrorDocument 503 /error/overloaded.html

</tmpl_if>
- SSLEngine on
- SSLCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='domain'>.crt
- SSLCertificateKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='domain'>.key
+ GnuTLSCertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='domain'>.crt
+ GnuTLSKeyFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='domain'>.key
<tmpl_if name='has_bundle_cert'>
- SSLCACertificateFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='domain'>.bundle
+ GnuTLSClientCAFile <tmpl_var name='document_root'>/ssl/<tmpl_var name='domain'>.bundle
</tmpl_if>

<tmpl_if name='cgi'op='==' value='y'>
@@ -192,4 +194,4 @@
</VirtualHost>
</IfModule>

-</tmpl_if>
\ No newline at end of file
+</tmpl_if>

I would also like to add the following code to enable WebDAV for clients that have an ssl cert and FTP access.
Alias /webdav <tmpl_var name='document_root'>
<Location />
DAV On
AuthBasicAuthoritative Off
AuthUserFile /dev/null
AuthMySQL On
AuthName "WebDAV Authering Service"
AuthType Basic
Auth_MySQL_Host localhost
Auth_MySQL_User ispconfig
Auth_MySQL_Password ispconfig_password # No variable found for this as of yet.
AuthMySQL_DB dbispconfig
AuthMySQL_Password_Table ftp_user
Auth_MySQL_Username_Field username
Auth_MySQL_Password_Field password
Auth_MySQL_Group_Field gid
Auth_MySQL_Encryption_Types Crypt
Auth_MySQL_Empty_Passwords Off
Auth_MySQL_Authoritative On
Auth_MySQL_Password_Clause " AND active=y"
<LimitExcept GET HEAD OPTIONS>
require group <tmpl_var name='system_group'>
</LimitExcept>
</Location>

But that is beside the point.

Thanks guys,

-Archer

till
27th November 2008, 12:00
You can not force a rewrite of all vhost files. If you want to rewrite the config for a site, edit the site settings, change a value and click on save.

archerjd
29th November 2008, 18:39
Thanks Till,
From your description my config should have already updated and it's not.
Can you give me some pointers to start looking for what caused this issue? :confused:

I have checked the ISPC log and have found it empty. Is there a way to enable verbose logging for ISPC3?

Also, since ISPC3 has the ability to apply additional apache directives, does ISPC3 do an 'apache2ctl -t' check before applying the configuration?
If not, should this be a feature request to parse the output of 'apache2ctl -t' before reloading Apache2 and notify you of the (error)s?

Just a few thoughts...

-Archer

till
1st December 2008, 21:22
Is there a way to enable verbose logging for ISPC3?

You can set the log level in the file /usr/local/ispconfig/server/lib/config.inc.php

quentusrex
17th December 2008, 23:31
Till, Is there a way to add a 'custom lines' setting so that when a vhost file is rebuilt that the custom lines are included? Like a certain client would have svn and trac settings in the vhost file.

archerjd
19th December 2008, 08:18
Quentusrex,

Could you be talking about the additional Apache directives option under Sites -> Domain -> $website -> Options -> Apache directives?

BTW, I think I may have stumbled upon a possible bug.
When I insert the following code ISPC3 chokes on it (no updates to the vhost file). But if I place the code in a file and then use the 'Include /path/to/file' directive everything works.
DAVLockDB /var/clients/client0/web1/tmp/DAVLock

Alias /webdav /var/clients/client0/web1/
<Location /webdav>
DAV On
AuthBasicAuthoritative Off
AuthUserFile /dev/null
AuthMySQL On
AuthName "WebDAV Authering Service"
AuthType Basic
Auth_MySQL_Host localhost
Auth_MySQL_User ispconfig
Auth_MySQL_Password ***************************
AuthMySQL_DB dbispconfig
AuthMySQL_Password_Table ftp_user
Auth_MySQL_Username_Field username
Auth_MySQL_Password_Field password
# Auth_MySQL_Password_Clause " AND active=y" ## Haven't got this working as of yet. ##
Auth_MySQL_Group_Table ftp_user
Auth_MySQL_Group_Field gid
Auth_MySQL_Encryption_Types Crypt
Auth_MySQL_Empty_Passwords Off
Auth_MySQL_Authoritative On
require group client0

# Disable all server side processing.
ForceType text/plain
</Location>

<IfModule mpm_itk_module>
AssignUserId web1 client0
</IfModule>
The above code works well. :D
Now if mpm-peruser was just a little easier to install...