Jump to content
Froxlor Forum


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About Guerreru

  • Rank
  1. Hi, I just started using Froxlor last week and I am running it with a small cluster, and it is working perfectly. The following may give an idea to the developers on how I set it up, so below is how I did it and is not to be used as instructions nor I am responsable if you break your configuration. My current configuration uses debian(or based) and consists of: 1 x haproxy(load balancing), 4 x dedicated apache web servers, 1 x mysql dedicated server, 1 x NAS(storing all files), and now 1 x froxlor (now running as master with all services) The only thing is that I have not added some control to the salves from the master, so I created a cron service on each slave to reload apache configurations automatically. A good way to do it might be to add some kind of API callbacks to the slaves (froxlor-plugin folder running on apache accepting connections only from local network) to accept commands from the master. I currently do this to sync e-mail accounts from froxlor to my main external email delivery server(postfix). The main thing is to have the froxlor master(please use one with the largest storage) share it's folders to the slaves or in my case on the NAS, a share was created there and then mounted on the master and slaves. Change the paths in froxlor to use the paths of the share and create corresponding folders in the share:(or copy/mv current ones there) Ex.: /shared/clients/, /shared/clients-ssl/, /shared/clients-logs/, /shared/clients-email, /shared/clients-deactivate, etc. Also create a /shared/apache/sites so that froxlor can create the vhosts files in there. Remember to set all paths in froxlor settings. Now, one thing needed is a modification to cron_tasks.inc.http.10.apache.php to change ipaddress:port to wildcard(*):port I changed the below lines in the section: public function createIpPort() { FROM: $ipport = '[' . $row_ipsandports['ip'] . ']:' . $row_ipsandports['port']; TO: // $ipport = '[' . $row_ipsandports['ip'] . ']:' . $row_ipsandports['port']; $ipport = '[*]:' . $row_ipsandports['port']; FROM: $ipport = $row_ipsandports['ip'] . ':' . $row_ipsandports['port']; TO: // $ipport = $row_ipsandports['ip'] . ':' . $row_ipsandports['port']; $ipport = '*:' . $row_ipsandports['port']; Modify /etc/apache2/apache.conf (master and slaves) to now include this line at the bottom: IncludeOptional /shared/apache/sites/*.conf Now all webservers should be able to see the vhosts you create with froxlor after they reload with the cron job created on each slave. Make sure you install all required packages and modules on each slave, so they work the same. Install postfix on all webservers and configure so that they relay email thru the froxlor master. Froxlor and Roudcube webmail is crrently only accessilble on the master thru subdomains and routed there by haproxy. There may be some file access issues with the share, depending on what software you use: NFS, SAMBA, etc.(fixable with correct user/group id) I also made modifications to use opendkim that uses the same selector name on all domains(company._domainkey) with different key per domain. More info available if requested.
  • Create New...