Hello, I have a working ispconfig3-stable-3.1-e2465bd7a2d324259c3c1dae00dfca8c2535edcc installation, but today I found something wrong in the configuration. First of all, in Server Config -> Web I have this settings: Website basedir: /data/www Website path: /data/www/clients/client[client_id]/web[website_id] Website symlinks: /data/www/sites/[website_domain]/:/data/www/clients/client[client_id]/[website_domain]/ Make relative symlinks: yes So in /data/www/ I don't have the directory or links to the websites, I have the symlinks in /data/www/sites/ The configuration is working, but looking at a sample vhost, there are obvious errors: How can I solve ? I don't like all the websites links under /data/www, putting them under /data/www/sites makes everything more clean Thank you, Roberto File /etc/apache2/sites-available/sample.com.vhost <Directory /data/www/sample.com> # THIS DOESN'T EXIST AllowOverride None Require all denied </Directory> <VirtualHost *:80> DocumentRoot /data/www/clients/client9/web14/web ServerName sample.com ServerAlias www.sample.com ServerAdmin [email protected] ErrorLog /var/log/ispconfig/httpd/sample.com/error.log Alias /error/ "/data/www/sample.com/web/error/" # THIS DOESN'T EXIST ErrorDocument 400 /error/400.html ErrorDocument 401 /error/401.html ErrorDocument 403 /error/403.html ErrorDocument 404 /error/404.html ErrorDocument 405 /error/405.html ErrorDocument 500 /error/500.html ErrorDocument 502 /error/502.html ErrorDocument 503 /error/503.html <IfModule mod_ssl.c> </IfModule> <Directory /data/www/sample.com/web> # THIS DOESN'T EXIST # Clear PHP settings of this website <FilesMatch ".+\.ph(p[345]?|t|tml)$"> SetHandler None </FilesMatch> Options +FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /data/www/clients/client9/web14/web> # Clear PHP settings of this website <FilesMatch ".+\.ph(p[345]?|t|tml)$"> SetHandler None </FilesMatch> Options +FollowSymLinks AllowOverride All Require all granted </Directory> # suexec enabled <IfModule mod_suexec.c> SuexecUserGroup web14 client9 </IfModule> <IfModule mod_fastcgi.c> <Directory /data/www/clients/client9/web14/cgi-bin> Require all granted </Directory> <Directory /data/www/sample.com/web> # THIS DOESN'T EXIST <FilesMatch "\.php[345]?$"> SetHandler php-fcgi </FilesMatch> </Directory> <Directory /data/www/clients/client9/web14/web> <FilesMatch "\.php[345]?$"> SetHandler php-fcgi </FilesMatch> </Directory> Action php-fcgi /php-fcgi virtual Alias /php-fcgi /data/www/clients/client9/web14/cgi-bin/php-fcgi-*-80-sample.com FastCgiExternalServer /data/www/clients/client9/web14/cgi-bin/php-fcgi-*-80-sample.com -idle-timeout 300 -socket /var/lib/php5-fpm/web14.sock -pass-header Authorization -pass-header Content-Type </IfModule> <IfModule mod_proxy_fcgi.c> #ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ unix:///var/lib/php5-fpm/web14.sock|fcgi://localhost//data/www/clients/client9/web14/web/$1 <Directory /data/www/clients/client9/web14/web> <FilesMatch "\.php[345]?$"> SetHandler "proxy:unix:/var/lib/php5-fpm/web14.sock|fcgi://localhost" </FilesMatch> </Directory> </IfModule> # add support for apache mpm_itk <IfModule mpm_itk_module> AssignUserId web14 client9 </IfModule> <IfModule mod_dav_fs.c> # Do not execute PHP files in webdav directory <Directory /data/www/clients/client9/web14/webdav> <ifModule mod_security2.c> SecRuleRemoveById 960015 SecRuleRemoveById 960032 </ifModule> <FilesMatch "\.ph(p3?|tml)$"> SetHandler None </FilesMatch> </Directory> DavLockDB /data/www/clients/client9/web14/tmp/DavLock # DO NOT REMOVE THE COMMENTS! # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! # WEBDAV BEGIN # WEBDAV END </IfModule> </VirtualHost>
That's exactly the mistake you made which broke your config. The reason for the wrong vhost is that you altered the symlink settings and removed a symlink that is required by ISPConfig (there must be a symlink for the domain name in the directory that you configured as website basedir). To fix our setup, restore the original symlink setup that shipped with ISPConfig.
Done. Now my Website symlinks field is /data/www/[website_domain]/:/data/www/clients/client[client_id]/[website_domain]/ I applied the settings, on top page operations in red were applied, but under /data/www nothing changed, the symlinks were not created. Should I do that manually or is there a way to force ispconfig make the missing symlinks for the existing websites ? Thank you, Roberto
The global config settings are just the presets for new sites, that's why the change did not create the missing symlinks. You can try to run Tools > Resync on the websites to see if they get added then.
Yes that fixed eveything IMHO having the websites links under a specific directory would make the ispconfig directory layout more clear Thanks again, Roberto