Hello whenever I create a new nginx vhost, the first thing I have to remember to do is to upload en empty nginx.conf. I know that ispconfig can create this file empty, for me. I read here https://www.faqforge.com/linux/cont...lates-for-the-config-files-and-default-pages/ but it's not clear to me where I should insert the file. Plaese can you clarify? many thanx
Ok, so I have created an empty nginx.conf into /usr/local/ispconfig/server/conf-custom/ # touch /usr/local/ispconfig/server/conf-custom/nginx.conf so, the next nginx virtualhost I will create on this server, there will be an empty nginx.conf file into /var/www/nomesito/web/ ? I just have tried and no nginx.conf was got created total 32 drwxr-x--x 4 web5093 client20 4096 Jun 4 09:01 . drwxr-xr-x 8 root root 4096 Jun 4 09:01 .. drwxr-xr-x 2 web5093 client20 4096 Jun 4 09:01 error -rwxr-xr-- 1 web5093 client20 7358 Jun 4 09:01 favicon.ico -rwxr-xr-- 1 web5093 client20 1861 Jun 4 09:01 index.html -rwxr-xr-- 1 web5093 client20 14 Jun 4 09:01 robots.txt drwxr-xr-x 2 web5093 client20 4096 Jun 4 09:01 stats I have created it into /usr/local/ispconfig/server/conf-custom/index/ w/out success, creating a new website nginx.conf is not created inside it ls -la /usr/local/ispconfig/server/conf-custom/index/ total 12 drwxr-s--- 2 root root 4096 Jun 4 09:06 . drwxr-s--- 6 root root 4096 Jun 4 08:21 .. -rwxr-x--- 1 root root 45 Apr 3 00:01 empty.dir -rwxr-x--- 1 root root 0 Jun 4 09:06 nginx.conf
The template file of nginx is not named nginx.conf. Look at the templates folder /usr/local/ispconfig/server/conf/ to see how the files are named and your custom template override file must have the exact same name then the original template, the name of the nginx config file of the website is nginx_vhost.conf.master. An empty nginx configuration file will result a non-working site as the website will not exist in nginx then, but the folders will be created of course. I have no idea what you might need this for, I just wanted to notify you that you should not expect to get a working site by using an empty nginx config template for the website. The only possible reason that I can see is that you want to write all config files manually on the shell, but why use ISPConfig then on this server? The folder /usr/local/ispconfig/server/conf-custom/index/ is not for configuration templates, it is for the default index file (index.html) and the error pages of the website. The nginx configuratiion file is not in the folder /var/www/nomesito/web/ when active, the nginx configuration files of the websites are in /etc/nginx/sites-available/ folder.
Sorry to have been misleading the matter is very simple: we host at 99% wordpress All wordpress sites use permalinks and we add into Options tab following piece of configuration, the one you suggested in other posts: Code: location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme://$host$uri/ permanent; location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ { expires max; log_not_found off; } include /var/www/Namewebsite/web/nginx.conf; location ~ /nginx.conf { deny all; access_log off; log_not_found off; } changing Namewebsite with proper values. Next step is to upload nginx.conf empty into /var/www/Namewebsite/web/ to get /var/www/Namewebsite/web/nginx.conf in place Code: include /var/www/Namewebsite/web/nginx.conf; request an nginx.conf file to exist, even empty, otherwise an .err vhost file is generated Many times who should upload this empty file, forget to do it. This suggests me to add this file to nginx web site template, so it would not be up to someone to create it, but up to your scripts Hopefully this is more clear then previous posts. If you create an .htaccess empty file into apache new virtualhosts, why do not create nginx.conf into nginx new virtualhosts?
Ahh ok, sorry. I completely misunderstood you. Personally, I won't use a line include /var/www/Namewebsite/web/nginx.conf; in the nginx directives file as it might allow any client on your server to take over the system or at least it allows him to kill nginx for all sites that you host. For that reason, the apache directives field in ISPConfig is only available to the admin and not the client and ispconfig is testing the config which will also not happen for this include. With this include line, you allow clients to modify the nginx config of the whole server which is extremely risky. If you are aware of these risks and want to take them anyway, then you will have to create a custom ispconfig plugin to create that file by attaching it to the website insert event.
Hello, yes, I agree, with this include line, you allow clients to modify the nginx config of the whole server which is extremely risky. But there are a lot of plugin, security plugin like iThemeSecuity, that write on .htacces with apache, in nginx.conf with nginx web server. So, if I use nginx.conf, I should include it in global server configuration. Otherwise, where iThemeSecurity and all the other plugins should write configuration? many thnx
Nginx does not offer an option that tools which run inside the website can write such config securely as done in apache with .htaccess.