Jump to content
Froxlor Forum
  • 0

nginx config template


planetlarg

Question

I want to play with nginx directives in the config templates. Where are the template files that are used to create web server virtual hosts?

 

 

eg. /etc/nginx/sites-enabled/22_froxlor_normal_vhost_internetmachines.net.conf

 

# 22_froxlor_normal_vhost_internetmachines.net.conf
# Created 17.04.2013 21:05
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.


server { 
listen 1.2.3.4:80;
server_name    internetmachines.net *.internetmachines.net;
access_log    /var/customers/logs/im1-access.log combined;
...
 

 

I am running Froxlor on the same machine as a Drupal package called BOA (http://drupal.org/project/boa). BOA does all sorts of things to the system, including adding its own style of nginx configuration. 

 

Froxlor and BOA don't work together. Nginx doesn't like something - possibly duplicate directives.

 

Great to see work going ahead here. 

 

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

well, froxlor is not designed to co-work with other systems playing around in the webserver-configs, if you are able to fix what you need, take a look at scripts/jobs/cron_tasks.inc.http.30.nginx.php

 

PS: there are no template files...it's all individually generated in the cronfile

Link to comment
Share on other sites

Excellent, thanks. 

 

I did hit the "Like this" button but I got the message "You have reached your quota of positive votes for the day".

 

BOA does not play well with others. It is a quick way to get a working nginx/Mariadb/Drupal/Aegir combination, along with other hosting things like csf/lfd. 

Link to comment
Share on other sites

I created a workaround.

 

problem -

The vhosts with the BOA Drupal system each have a wildcard listen directive. 

 

...
server { 
 listen *:80;
...

All I see is Froxlor sites. My Drupal sites disappear and whatever is in /etc/nginx/sites-enabled is displayed. 

 

I guess this is because the Froxlor config takes precedence. I guess because nginx looks for exact matches first.  

 

 

experiments - 

I navigated to Server > IPs and Ports, and added a new IP and port combination of *:80. Froxlor did not like it. 

I edited the IP/port for 1.2.3.4:80 and unticked the box for adding a listen directive. It made no difference to the config files.  

 

solution - 

I edited 

/var/www/froxlor/scripts/jobs/cron_tasks.inc.http.30.nginx.php    

and added # to the three listen statement directive creation statements. That worked. 

 

Each vhost file now looks like

...
server { 
# listen 1.2.3.4:80;
...

If listen is missing, nginx defaults to "listen *:80".

Link to comment
Share on other sites

I understand. I want Froxlor to provide Internet administrator control and BOA to provide Drupal administrator control for my small-scale ISP use. It's a pretty narrow use case. 

 

I am breaking things to remove conflicts between BOA and Froxlor. BOA provides the multi-customer Drupal hosting, but has no Internet administration services built in. Froxlor provides the Internet services control panel. I prefer Froxlor to DTC, ISPConfig, cPanel and so on.

 

This is my first step towards combining the two -  I want to create a Drupal administration front end to the Froxlor system, split the Froxlor panels into Drupal blocks, combine customer services, add the Drupal commerce modules and so on. 

 

I don't know if good integration is possible, but I do now have the two hosting systems running on the same machine, serving a few live customers.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...