Jump to content
Froxlor Forum

fritzmg

Members
  • Posts

    15
  • Joined

  • Last visited

Everything posted by fritzmg

  1. Btw. should I remove the adjustment from UpdateCommand.php again or leave it there?
  2. I simply put too much trust in apt's message of recommending to run apt autoremove Anyway, I ended up manually re-installing php8.1 again and now everything's fine again.
  3. Yeah, I thought so too. I really only ran apt get php8.3-bz2 at that point (Ubuntu 22), nothing else. apt however automatically restarted some services. Afterwards Froxlor did not work anymore as the PHP-FPM socket was missing. ps aux | grep php-fpm does show PHP-FPM pools running for the various sites configured in Froxlor - but the pool for its control panel seems to be missing. PHP 8.3 was already installed and already used it for sites in Froxlor before, so I don't think anything got replaced. Hm, interesting. When I run froxlor:cron -f -d it wants to restart the php-fpm pool for 8.1, but fails: [information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php8.1-fpm restart Failed to restart php8.1-fpm.service: Unit php8.1-fpm.service is masked. [information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php8.2-fpm restart [information] Froxlor\Cron\Http\ApacheFcgi::reload: running service php8.3-fpm restart [information] Froxlor\Cron\Http\ApacheFcgi::reload: reloading Froxlor\Cron\Http\ApacheFcgi I am guessing Froxlor's system config is still using PHP 8.1 - may be that's the issue. Or at least that's the issue now as during the last apt upgrade PHP 8.1 got actually removed as it was marked as "unused" by apt. Is there a way to automatically restore this?
  4. But that's the issue, I cannot log in as the PHP-FPM socket for Froxlor's control panel is missing (it was missing since I was installing the bz2 extension). Thx, that helped, I was able to run bin/froxlor-cli froxlor:update --database bin/froxlor-cli froxlor:cron -f -d without any errors now. However, the original issue with the missing PHP-FPM socket still exists: [proxy:error] [pid 46129] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-froxlor.panel-froxlor.inspiredminds.at-php-fpm.socket (*) failed /var/lib/apache2/fastcgi/ still has no socket for Froxlor's control panel 😕
  5. I was installing the `php8.3-bz2` extension on my system as I needed it for a project. During this process various services (including Apache) got restarted and I guess the PHP-FPM sockets got recreated. However, the PHP-FPM socket for Froxlor was missing and thus I could not access Froxlor's admin panel anymore: [proxy:error] [pid 43569] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-froxlor.panel-froxlor.example.com-php-fpm.socket (*) failed Since there was an update available for Froxlor I decided to update it (was probably the wrong idea 😉). Froxlor was installed via apt and so I updated it via apt. Afterwards I wanted to run /usr/bin/php8.2 bin/froxlor-cli froxlor:update --database However, I am getting the following error when doing so: # /usr/bin/php8.2 bin/froxlor-cli froxlor:update --database PHP Fatal error: Uncaught Error: Call to undefined function Froxlor\Cli\lng() in /var/www/html/froxlor/lib/Froxlor/Cli/UpdateCommand.php:62 Stack trace: #0 /var/www/html/froxlor/vendor/symfony/console/Command/Command.php(298): Froxlor\Cli\UpdateCommand->execute() #1 /var/www/html/froxlor/vendor/symfony/console/Application.php(1040): Symfony\Component\Console\Command\Command->run() #2 /var/www/html/froxlor/vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand() #3 /var/www/html/froxlor/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun() #4 /var/www/html/froxlor/bin/froxlor-cli(71): Symfony\Component\Console\Application->run() #5 {main} thrown in /var/www/html/froxlor/lib/Froxlor/Cli/UpdateCommand.php on line 62 Forcing the cron to run results in the following message: # /usr/bin/php8.2 bin/froxlor-cli froxlor:cron -f -d It seems that the froxlor files have been updated. Please login and finish the update procedure. So I am now stuck unfortunately. As far as I understand it the Cronjob would normally recreate the PHP-FPM socket for Froxlor's control panel - but the cronjob cannot run becaus the update needs to be finished. But the update cannot be finished due to the aformentioned error. Does anyone have an idea how to fix this?
  6. Aaah, I thought I was - but in fact I am still on 2.1.4. Will test again with 2.1.7 then
  7. I am using Deployer PHP to deploy websites into a Froxlor environment. Deployer's default mode of operation is that it switches a Symlink (called "current") pointint to the new release after a succesful deployment. So for example if you have the website "foobar" within a customer's home, Deployer will create a structure like this: foobar/releases (individual releases) foobar/shared (files and folders shared between releases via symlinks) foobar/current (the symlink pointing to a specific release, e.g. "releases/21") When I set up the domain I typically enter something like this as the DocumentRoot for the domain: /foobar/current/public Froxlor will initially create this folder structure for me and before I make deployments, I delete the foobar/current folder and the deployment script will create the symlink instead. However, when you then want to later on change any settings for this (sub)domain, the following error will occur: The only way to work around this currently is to delete the symlink, save the (sub)domain's settings and then recreate the symlink afterwards. It would be great if Froxlor took such symlink deployments into account so that I do not have to do this
  8. It's different with NPM though as the container running NPM exposes ports 80 and 443 on the host system - where Froxlor is running. Thus the host's web server (for Froxlor) needs to run on a different port than the reverse proxy.
  9. Never mind, just changing the port to 8080 worked 👍 Thank you Side question: I noticed that php /var/www/html/froxlor/bin/froxlor-cli froxlor:cron is not present in the crontab. I assumed Froxlor's setup process adds this automatically - do I have to add this cronjob manually to the crontab?
  10. Hm, I see. Currently it contains the following: +----+------------+------+ | id | ip | port | +----+------------+------+ | 1 | 172.17.0.1 | 80 | i.e. the internal docker host IP. But I am not really sure what it should be when running Froxlor behind NPM 🤔
  11. On a server running Ubuntu 22.04.2 I installed Froxlor using the [apt package](https://docs.froxlor.org/latest/general/installation/apt-package.html). I created the priviliged database user and then accessed the admin web interface to complete the setup process, where everything went fine. I left everything at its default values. At the end of the setup process Froxlor asked me to execute the following on the command line with root priviliges: /var/www/html/froxlor/bin/froxlor-cli froxlor:install -c '…' /var/www/html/froxlor/bin/froxlor-cli froxlor:config-services -a '{"distro":"jammy","dns":"x","http":"apache24","smtp":"postfix_dovecot","mail":"dovecot_postfix2","ftp":"proftpd","system":["cron","libnssextrausers","logrotate","goaccess","php-fpm"]}' --yes-to-all This finished without any errors. However, immediately afterwards, the admin interface / install interface did not work anymore. Instead of PHP being processed, Apache now simply returns the PHP script: $ curl https://<domain>/ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0<?php /** * This file is part of the Froxlor project. * Copyright (c) 2010 the Froxlor Team (see authors). * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, you can also view it online at * https://files.froxlor.org/misc/COPYING.txt * * @copyright the authors * @author Froxlor team <team@froxlor.org> * @license https://files.froxlor.org/misc/COPYING.txt GPLv2 */ const AREA = 'login'; require __DIR__ . '/lib/init.php'; … I analysed the Apache config a bit and noticed, that under /etc/apache2/conf-enabled there is no php8.1-fpm.conf -> ../conf-available/php8.1-fpm.conf Symlink and the rest of the Apache config seems to suggest that it expects to use PHP-FPM now. I tried to manually create the symlink and then restart Apache, however PHP-FPM is still not working: [Wed Jul 12 10:48:23.477543 2023] [proxy:error] [pid 5568] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php8.1-fpm.sock (*) failed [Wed Jul 12 10:48:23.477612 2023] [proxy_fcgi:error] [pid 5568] [client 172.19.0.4:41628] AH01079: failed to make connection to backend: httpd-UDS Do I need to manually start the PHP-FPM pool in some way? Note: after installing Froxlor, before accessing the install wizard, I did manually alter the ports that Apache listens to to 8080/8443 and I also set the DocumentRoot of the default VHost directly to /var/www/html/froxlor, so that I can access the Froxlor setup and admin interface via https://froxlor.example.com/ via the Nginx Proxy Manager that is running on the same host (see here).
  12. I could not find a specific generated virtual host for the Froxlor setup process and administration interface. But I assume I just need to change /etc/apache2/ports.conf and /etc/apache2/sites-enabled/000-default.conf and then systemctl restart apache2.service And then I can access the setup process via https://froxlor.example.com/froxlor - when this domain is configured to forward to http://localhost:8080 in the reverse proxy for example . And for any additional Virtual Host I create via Froxlor, I can freely set the IPs and Ports via the Web Interface anyway, correct?
  13. I have a server running Docker with multiple containers which are accessed via a reverse proxy (via https://nginxproxymanager.com/). On the same machine I also want to install and run Froxlor. Ideally I just want to route all requests through the existing proxy - and for each website I create in Froxlor, I'd also create an entry in NPM (I would also manage the Let's Encrypt certificates via NPM). Anyway, ideally I want Froxlor's web server(s?) to not listen on port 443 at all and maybe also change the default HTTP port from 80 to 8080 for example. Are there any pointers how this could be achieved? Currently I installed Froxlor as an apt package (https://docs.froxlor.org/latest/general/installation/apt-package.html) and I would now need to adjust these services installed by Froxlor in order to be able to continue the installation process.
×
×
  • Create New...