ISPConfig just started to not update my site .vhost nginx files when I change the nginx directives or toggle active/inactive, etc. , even though ispconfig somehow remembers the changes. They just aren't showing up on disk. Any ideas?
Any errors in ISPConfig's Monitor module? What's the output of Code: ls -la /etc/nginx/sites-available/ ? Which distribution do you use? Which tutorial (URL) did you follow?
Distributor ID: Ubuntu Description: Ubuntu 11.10 Release: 11.10 Codename: oneiric --- No errors: ISPConfig 3.0.4.2 State: info (0 unknown, 0 info, 1 warning, 0 critical, 0 error) warning: One or more components needs an update --- My install is in /opt/nginx/sites-available/ and I do see the vhost files in there. It all used to work but for some reason the files quit updating but as I mentioned the changes I make in ISPConfig continue to show up there, they just aren't reflected in those files. Also, if I deactivate a site, the symlink still remains in the sites-enabled
Sometimes when something is wrong, ISPconfig cannot generate a proper vhost file. In that case, the original file remains linked to the sites-enabled directory, but a second, newer vhost file with a .vhost.error (or something like that) extension is created in the sites-available directory. You sure you do not have one in there? Next step I guess would be to enable DEBUG logging for your server (under system) and see what it logs when you update the site. wkr, Anset
Nope. it will just be recreated. There is something somewhere that breaks the generation of the vhost file. Put the system in DEBUG and check the ispconfig log file when you update the website agian for clues.
I've discovered that it keeps re-writing the path to 'fastcgi_params'. I started with an nginx installation to /etc, but it's gone now and I use the one in /opt. However ISPConfig doesn't seem to know about this one path having changed. I did change the nginx paths in System -> Server Config -> Web, and all the other paths are working fine with that new location, except for this one., and keeps complaining when I change it to /opt. Though, if I change it manually on the system (not in ISPConfig), the config verification says the syntax is ok. Maybe that really ONLY checks the syntax? So, then when I make a change in ISPConfig it creates a .err file changing just that one path. Note that /etc/nginx/fastcgi_params does not exist anymore so it should be using /opt/nginx/conf/fastcgi_params. I assume I need to tell ISPConfig elsewhere that this location has changed? location ~ \.php$ { include /etc/nginx/fastcgi_params; #this is the line it keeps re-writing, from: include /opt/nginx/conf/fastcgi_params; }
I edited nginx_apps.vhost.master and nginx_vhost.conf.master Things seem okay so far, but maybe there's a better way to solve this? Thanks for the help.
Well, The only place in ISPConfig where web-service paths and settings are set is under system->server config->web. Of course there is the "options" tab with every web site you define... I've never played with ngnix so I can't really say if that is where you'll find something. Now for Apache, I do make changes to the main config files to suit my needs. ISPConfig does not routinely overwrite those (only with an upgrade I think). So your approach may be fine, but I'll defer to the more knowledgeable people here.
I have the same problem with apache on one vhost only. I'm just trying to set php to disabled for this host, but it produces an .err vhost file instead of writing to the working copy. I have also tried to manually copy the .err file and restart apache but it fails. Working copy: Code: <Directory /var/www/my.domain.tld> AllowOverride None Order Deny,Allow Deny from all </Directory> <VirtualHost xxx.xxx.xxx.xxx:80> DocumentRoot /var/www/my.domain.tld/web ServerName my.domain.tld ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/my.domain.tld/error.log <IfModule mod_ssl.c> </IfModule> <Directory /var/www/my.domain.tld/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web5/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # Clear PHP settings of this website <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> # php as fast-cgi enabled # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html <IfModule mod_fcgid.c> IdleTimeout 300 ProcessLifeTime 3600 # MaxProcessCount 1000 DefaultMinClassProcessCount 0 DefaultMaxClassProcessCount 100 IPCConnectTimeout 3 IPCCommTimeout 360 BusyTimeout 300 </IfModule> <Directory /var/www/my.domain.tld/web> AddHandler fcgid-script .php .php3 .php4 .php5 FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php Options +ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web5/web> AddHandler fcgid-script .php .php3 .php4 .php5 FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php Options +ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> # add support for apache mpm_itk <IfModule mpm_itk_module> AssignUserId web5 client1 </IfModule> <IfModule mod_dav_fs.c> # Do not execute PHP files in webdav directory <Directory /var/www/clients/client1/web5/webdav> <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> </Directory> DavLockDB /var/www/clients/client1/web5/tmp/DavLock # DO NOT REMOVE THE COMMENTS! # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! # WEBDAV BEGIN # WEBDAV END </IfModule> RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] RewriteRule ^/fastpath/(.*)$ /fastpath/$1 [PT,L] RewriteRule ^/static/(.*)$ /static/$1 [PT,L] RewriteRule ^/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=0&_webmcp_module=index&_webmcp_view=index&$2 [PT,QSA] RewriteRule ^/([^/\?]+)/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=index&$3 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_action=$2&$4 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=$2&_webmcp_suffix=$3&$5 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=2&_webmcp_module=$1&_webmcp_view=$2&_webmcp_id=$3&_webmcp_suffix=$4&$6 [PT,QSA] Alias /static/ /var/www/my.domain.tld/liquid_feedback_frontend/static/ ScriptAlias /fastpath/getpic /var/www/my.domain.tld/liquid_feedback_frontend/fastpath/getpic <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/fastpath/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin /var/www/my.domain.tld/webmcp/cgi-bin <Directory "/var/www/my.domain.tld/webmcp/cgi-bin/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> <Location /> SetEnv LANG 'en_US.UTF-8' SetEnv WEBMCP_APP_BASEPATH '/var/www/my.domain.tld/liquid_feedback_frontend/' SetEnv WEBMCP_CONFIG_NAME 'testing' </Location> <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/static/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost xxx.xxx.xxx.xxx:443> DocumentRoot /var/www/my.domain.tld/web ServerName my.domain.tld ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/my.domain.tld/error.log <IfModule mod_ssl.c> SSLEngine on SSLCertificateFile /var/www/clients/client1/web5/ssl/my.domain.tld.crt SSLCertificateKeyFile /var/www/clients/client1/web5/ssl/my.domain.tld.key </IfModule> <Directory /var/www/my.domain.tld/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web5/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # Clear PHP settings of this website <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> # php as fast-cgi enabled # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html <IfModule mod_fcgid.c> IdleTimeout 300 ProcessLifeTime 3600 # MaxProcessCount 1000 DefaultMinClassProcessCount 0 DefaultMaxClassProcessCount 100 IPCConnectTimeout 3 IPCCommTimeout 360 BusyTimeout 300 </IfModule> <Directory /var/www/my.domain.tld/web> AddHandler fcgid-script .php .php3 .php4 .php5 FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php Options +ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/clients/client1/web5/web> AddHandler fcgid-script .php .php3 .php4 .php5 FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php Options +ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> # add support for apache mpm_itk <IfModule mpm_itk_module> AssignUserId web5 client1 </IfModule> <IfModule mod_dav_fs.c> # Do not execute PHP files in webdav directory <Directory /var/www/clients/client1/web5/webdav> <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> </Directory> DavLockDB /var/www/clients/client1/web5/tmp/DavLock # DO NOT REMOVE THE COMMENTS! # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! # WEBDAV BEGIN # WEBDAV END </IfModule> RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] RewriteRule ^/fastpath/(.*)$ /fastpath/$1 [PT,L] RewriteRule ^/static/(.*)$ /static/$1 [PT,L] RewriteRule ^/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=0&_webmcp_module=index&_webmcp_view=index&$2 [PT,QSA] RewriteRule ^/([^/\?]+)/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=index&$3 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_action=$2&$4 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=$2&_webmcp_suffix=$3&$5 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=2&_webmcp_module=$1&_webmcp_view=$2&_webmcp_id=$3&_webmcp_suffix=$4&$6 [PT,QSA] Alias /static/ /var/www/my.domain.tld/liquid_feedback_frontend/static/ ScriptAlias /fastpath/getpic /var/www/my.domain.tld/liquid_feedback_frontend/fastpath/getpic <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/fastpath/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin /var/www/my.domain.tld/webmcp/cgi-bin <Directory "/var/www/my.domain.tld/webmcp/cgi-bin/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> <Location /> SetEnv LANG 'en_US.UTF-8' SetEnv WEBMCP_APP_BASEPATH '/var/www/my.domain.tld/liquid_feedback_frontend/' SetEnv WEBMCP_CONFIG_NAME 'testing' </Location> <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/static/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> </VirtualHost> Non working .err file Code: <Directory /var/www/my.domain.tld> AllowOverride None Order Deny,Allow Deny from all </Directory> <VirtualHost xxx.xxx.xxx.xxx:80> DocumentRoot /var/www/my.domain.tld/web ServerName my.domain.tld ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/my.domain.tld/error.log <IfModule mod_ssl.c> </IfModule> <Directory /var/www/my.domain.tld/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all <Files ~ '.php[s3-6]{0,1}$'> Order allow,deny Deny from all Allow from none </Files> </Directory> <Directory /var/www/clients/client1/web5/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all <Files ~ '.php[s3-6]{0,1}$'> Order allow,deny Deny from all Allow from none </Files> </Directory> # Clear PHP settings of this website <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> # add support for apache mpm_itk <IfModule mpm_itk_module> AssignUserId web5 client1 </IfModule> <IfModule mod_dav_fs.c> # Do not execute PHP files in webdav directory <Directory /var/www/clients/client1/web5/webdav> <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> </Directory> DavLockDB /var/www/clients/client1/web5/tmp/DavLock # DO NOT REMOVE THE COMMENTS! # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! # WEBDAV BEGIN # WEBDAV END </IfModule> RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] RewriteRule ^/fastpath/(.*)$ /fastpath/$1 [PT,L] RewriteRule ^/static/(.*)$ /static/$1 [PT,L] RewriteRule ^/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=0&_webmcp_module=index&_webmcp_view=index&$2 [PT,QSA] RewriteRule ^/([^/\?]+)/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=index&$3 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_action=$2&$4 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=$2&_webmcp_suffix=$3&$5 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=2&_webmcp_module=$1&_webmcp_view=$2&_webmcp_id=$3&_webmcp_suffix=$4&$6 [PT,QSA] Alias /static/ /var/www/my.domain.tld/liquid_feedback_frontend/static/ ScriptAlias /fastpath/getpic /var/www/my.domain.tld/liquid_feedback_frontend/fastpath/getpic <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/fastpath/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin /var/www/my.domain.tld/webmcp/cgi-bin <Directory "/var/www/my.domain.tld/webmcp/cgi-bin/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> <Location /> SetEnv LANG 'en_US.UTF-8' SetEnv WEBMCP_APP_BASEPATH '/var/www/my.domain.tld/liquid_feedback_frontend/' SetEnv WEBMCP_CONFIG_NAME 'testing' </Location> <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/static/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> <IfModule mod_ssl.c> SSLEngine on SSLCertificateChainFile /var/www/my.domain.tld/ssl/sub.class1.server.ca.pem </IfModule> </VirtualHost> <VirtualHost xxx.xxx.xxx.xxx:443> DocumentRoot /var/www/my.domain.tld/web ServerName my.domain.tld ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/my.domain.tld/error.log <IfModule mod_ssl.c> SSLEngine on SSLCertificateFile /var/www/clients/client1/web5/ssl/my.domain.tld.crt SSLCertificateKeyFile /var/www/clients/client1/web5/ssl/my.domain.tld.key </IfModule> <Directory /var/www/my.domain.tld/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all <Files ~ '.php[s3-6]{0,1}$'> Order allow,deny Deny from all Allow from none </Files> </Directory> <Directory /var/www/clients/client1/web5/web> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all <Files ~ '.php[s3-6]{0,1}$'> Order allow,deny Deny from all Allow from none </Files> </Directory> # Clear PHP settings of this website <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> # add support for apache mpm_itk <IfModule mpm_itk_module> AssignUserId web5 client1 </IfModule> <IfModule mod_dav_fs.c> # Do not execute PHP files in webdav directory <Directory /var/www/clients/client1/web5/webdav> <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> </Directory> DavLockDB /var/www/clients/client1/web5/tmp/DavLock # DO NOT REMOVE THE COMMENTS! # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! # WEBDAV BEGIN # WEBDAV END </IfModule> RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] RewriteRule ^/fastpath/(.*)$ /fastpath/$1 [PT,L] RewriteRule ^/static/(.*)$ /static/$1 [PT,L] RewriteRule ^/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=0&_webmcp_module=index&_webmcp_view=index&$2 [PT,QSA] RewriteRule ^/([^/\?]+)/(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=index&$3 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_action=$2&$4 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=1&_webmcp_module=$1&_webmcp_view=$2&_webmcp_suffix=$3&$5 [PT,QSA] RewriteRule ^/([^/\?]+)/([^/\?]+)/([^/\.\?]+)\.([^/\?]+)(\?(.*))?$ /cgi-bin/webmcp-wrapper.lua?_webmcp_urldepth=2&_webmcp_module=$1&_webmcp_view=$2&_webmcp_id=$3&_webmcp_suffix=$4&$6 [PT,QSA] Alias /static/ /var/www/my.domain.tld/liquid_feedback_frontend/static/ ScriptAlias /fastpath/getpic /var/www/my.domain.tld/liquid_feedback_frontend/fastpath/getpic <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/fastpath/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ScriptAlias /cgi-bin /var/www/my.domain.tld/webmcp/cgi-bin <Directory "/var/www/my.domain.tld/webmcp/cgi-bin/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> <Location /> SetEnv LANG 'en_US.UTF-8' SetEnv WEBMCP_APP_BASEPATH '/var/www/my.domain.tld/liquid_feedback_frontend/' SetEnv WEBMCP_CONFIG_NAME 'testing' </Location> <Directory "/var/www/my.domain.tld/liquid_feedback_frontend/static/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> <IfModule mod_ssl.c> SSLEngine on SSLCertificateChainFile /var/www/my.domain.tld/ssl/sub.class1.server.ca.pem </IfModule> </VirtualHost> It is a little complicated setup but it is working. All addittions to the vhost file have been made through ispconfig's web interface. I have tried to make the same change (php disabled) to another vhost and it is working. Thnaks in advance.
It seems that ispconfig cannot understand the new config file for some reason. I have tried to manually change "testing" on the working config to something else that i want and apache is reloading ok. If i try the same change through ispconfig web interface apache fails to start and ispconfig is reverting to the working copy. Apache fails to start also when i try to copy the .err file as the working vhost configuration.
Sorry for the multiple posts. I have tried to add just a comment "# test" to the vhost file through ispconfig's web interface and it fails. Another vhost that i have tried has no issue. So it is something specific to this vhost file and the problem has appeared after upgrading to 3.0.4.6. Before the upgrade i was editing the Apache Directives without issues.
Although the file "envvars" exists i'm getting this: Code: #./etc/apache2/envvars && apache2 -t bash: ./etc/apache2/envvars: No such file or directory
You were right. I was trying with a sudoer (but i had execute sudo su before). Nevertheless as root i'm getting the same result. Code: root@barbarossa:/etc/apache2/sites-available# ./etc/apache2/envvars && apache2 -t bash: ./etc/apache2/envvars: No such file or directory I can see that envvars is not executable: Code: root@barbarossa:/etc/apache2# ls -l envvars -rw-r--r-- 1 root root 1169 Feb 5 23:34 envvars