Hello, thank you for contributing. I just had a (really quick) look at the diff to master and have some notes: You seem to have created an update sql file (0085). All development code should go to upd_dev_collection.sql instead so it can be merged prior to release (otherwise we'll get conflicts). If I got it right, there are two DB modifications inside the upd_0085 file but only 1 of them in the ispconfig3.sql. Regarding the sysctl/systemd system calls I think you have to wait for tills comments
The ISPConfig updater has an option to run a php file for a specific database update. You can find these files in install/patches/ folder. The name must match the sql incremental file. Currently, the name would have be upd_0085.php so that it gets run when with the 0085 sql file (when we create it by moving the code from dev collection to a file with that name. see the existing two files for the file structure, basically it just contains a function that is called before the sql insert and one that is called after insert. I would say that we should add the path as an option somewhere under System > server config (web ?). The paths from the distribution specific conf array are written in installer_base.lib.php and update.lib.php. see installer_base.lib.php around line 300+ One thing that we should consider is to add an option under System > server config to hide the php_fpm_isolated_process option in the website settings completely as not all systems have systemd installed and this options won't work without systemd. That way we can hide it on older systems. But that's something that I can add myself later as well so you don't have to find out how to implement that in the interface
Yes, I'll appreciate of @till can do some of the finer touches (like settings and handling multiple distros) because it takes *me* a lot of time to find where things are and how to properly code stuff for ispconfig. If you don't mind, I would proceed to update the nginx plugin now to reimplement the same functionality as in apache. It would be nice if somebody can do a little testing (beside the testing I do while coding) so perhaps we could catch bugs early. Also, I use debian and derivatives almost exclusively, so I'm not sure what happens in centos with my patches. I guess aside from the path the rest will work the same way.
I apologize for not being too active lately. I have to finish this work as I'd like to see it in ispconfig stable and propagate it to my servers.
Hi, I was pointed here from https://www.howtoforge.com/communit...-limit-php-fpm-website-cpu.88813/#post-434889 I think that this improvement may be the most important in any future roadmap, because a shared environment as a ISPConfig server may protect itself from single tenant (website), and to allow resource throttling. Is this task still alive? I cannot help with development, but if I can help in other way to "recover" this task and to have it completed, I'm here.
Hi all, I was also redirected here from same post as @topogigio I checked development @ispcomm did in past here https://git.ispconfig.org/ispcomm/ispconfig3/-/commits/fpm-isolated-process?ref_type=heads and I am able to continue in this work. @till Hello Till, when I finish this work, can I count with integration in upstream? Thanks!
If it's well written and tested on Debian Ubuntu and RHEL derivates and the author assures that he will maintain it for the next years, then I might integrate it into the core. I'm currently working on php-fpm inside Docker containers for isolation, which would make such a cgroup-based solution likely superfluous.
Docker containers will be really a GREAT improvement, that will upgrade whole service can be provided! I think that in the future this can open the door also to some kind of clustering features (two or more servers proving same set of websites services).
You can already have several ISPConfig systems offer the same sites, this feature is called server mirroring. You can find an example configuration for that in the multiserver guides.
Uh! Sorry, I miss this. Do you mean https://www.howtoforge.com/installi...tabase-cluster-on-debian-5.0-with-ispconfig-3 I think? Great to know, thanks. The only problem is that glusterfs seems with no future ahead, need to be replaced with something as Ceph I suspect.
There is no dependency on Glusterfs for that setup; it was just one possible example we chose at that time. You can use any network storage for /var/www that allows you to mount the storage on two servers, from various OS software (e.g. Ceph or another kind of highly available NFS server) to cloud services or commercial storage appliances. For installation, one would use the auto-installer today for the ISPConfig part. Mounting your network storage to /var/www must be done by you though, depending on the storage type you use. Btw: Even if we use Docker more deeply in ISPConfig, there would be no benefit or difference in using Docker here as Docker would require a shared storage for the volume that holds the websites in the exact same way.