Jump to content
Froxlor Forum
  • 0
df8oe

Migrating from Debian to Arch

Question

Here I will post everything that isn't self explaining and possibly is inside Froxlor...

 

First I looked over the apache vhost files and noticed lines following:

SetHandler proxy:unix:/var/lib/apache2/fastcgi/hullewulle-php-fpm.socket|fcgi://localhost

This does not work in Arch because it must be like this:

SetHandler proxy:unix:/var/lib/apache2/fastcgi/hullewulle-php-fpm.sock|fcgi://localhost

Is there a settings possibility to change from "socket" to "sock"?

Share this post


Link to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Why would that not work? a socket is just a file, regardless of the name. Can you show me a documentation where it states that on arch it must be named .sock? And no, there is no setting for that

Share this post


Link to post
Share on other sites
  • 0

OK - I see. It is generated by froxlor and froxlor defines and uses the ending. I have to dig deeper why my "hand-defined vhost" works with php and all froxlor vhosts do not.... All sockets are present for froxlor vhosts so it is mainly apache configuration / conflicts with existing base config from Arch (which is quite different from Debian).

Share this post


Link to post
Share on other sites
  • 0

Well without any error messages or any sort of information I cannot help you. I doubt that it's the file extension. The pool config says "generate xyz.socket", php-fpm then creates it and listens on it. Apache knows the socket is "xyz.socket" - as said a socket is just a (special) file, the extension should not be a problem

Share this post


Link to post
Share on other sites
  • 0

Interesting. Apache logs tell me

[Sat May 02 17:21:55.743194 2020] [proxy_fcgi:error] [pid 92157] [client 192.168.0.202:55572] AH01079: failed to make connection to backend: httpd-UDS
[Sat May 02 17:23:24.331392 2020] [proxy:error] [pid 92159] (13)Keine Berechtigung: AH02454: FCGI: attempt to connect to Unix domain socket /var/lib/apache2/fastcgi/1-anton-hullewulle.de-php-fpm.socket (*) failed

But user/group in sites-enabled config of the domain and also in corresponding php-fpm config is identical. I can get php work if I set listen.mode to 666 in php-fpm config...

Share this post


Link to post
Share on other sites
  • 0

"No permission" does not say: it should be .sock instead of .socket. Also there is no need to adjust the listen.mode as it it set to the permission its supposed to have when everything is set up correctly.

Be sure you have libnss-extrausers setup correctly as the sockets are running under the customers users

Share this post


Link to post
Share on other sites
  • 0

There is someting going wrong. I do have libnss-extrausers installed and marked as "present" in Froxlor. /etc/nsswitch.conf is modified as mentioned here in the forum. /var/lib/extrausers exists and hs three files with well looking contents (passwd, group, shadow). But nscd throws some messages at start:

Mai 02 17:53:21 myserver64 nscd[98342]: 98342 überwache das Verzeichnis »/etc« (2)
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 Die inotify-basierte Überwachung für die Datei »/etc/netgroup« deaktiviert: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 »stat« für die Datei »/etc/netgroup« ist fehlgeschlagen; weiterer Versuch folgt später: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 Die inotify-basierte Überwachung für die Datei »/var/db/passwd.db« deaktiviert: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 »stat« für die Datei »/var/db/passwd.db« ist fehlgeschlagen; weiterer Versuch folgt später: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 Die inotify-basierte Überwachung für die Datei »/var/db/group.db« deaktiviert: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 »stat« für die Datei »/var/db/group.db« ist fehlgeschlagen; weiterer Versuch folgt später: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 Die inotify-basierte Überwachung für die Datei »/var/db/services.db« deaktiviert: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 nscd[98342]: 98342 »stat« für die Datei »/var/db/services.db« ist fehlgeschlagen; weiterer Versuch folgt später: Datei oder Verzeichnis nicht gefunden
Mai 02 17:53:21 myserver64 systemd[1]: Started Name Service Cache Daemon.

 

Where is the path to /var/lib/extrausers published for usage?

Share this post


Link to post
Share on other sites
  • 0

Well seems you did not follow the configuration steps completely, you need to adjust /etc/nsswitch.conf

Share this post


Link to post
Share on other sites
  • 0

I have nsswitch.conf adjusted as following:

# Make sure that `passwd`, `group` and `shadow` have extrausers in their lines
# You should place extrausers at the end, so that it is queried after the other mechanisams
#
passwd:      compat extrausers
group:       compat extrausers
shadow:      compat extrausers

hosts:       files dns
networks:    files dns

services:    db files
protocols:   db files
rpc:         db files
ethers:      db files
netmasks:    files
netgroup:    files
bootparams:  files

automount:   files
aliases:     files

 

Share this post


Link to post
Share on other sites
  • 0

Solved! The configuration was not correct. I took now the original nsswitch.conf which was shipped with Arch and added just "extrausers" at the end of the lines passwd, shadow and group. That fixed all. No error messages at start, php is running well. Thanks for pointing me to nsswitch.conf.

Share this post


Link to post
Share on other sites
  • 0

I have got one leaving issue which I am unable to solve by myself. I think it is not related to Froxlor but to a configuration problem...

Temporary directory /tmp/username does not work. I see "unable to locate session file" e.g. in logs. Folder was not created - so I created it giving it correct permissions and ownership. Does not work either. Path is included in openbasedir line of froxlor generated php-fpm conf for the domain. If I remove username in the config file at all places so that only /tmp is used it works (after restarting fpm process). But I cannot use folder within /tmp. What can be the problem?

It looks like everything else related to Froxlor works under Arch as stable as under Debian. I can confirm that my implementation of DKIM works perfectly, too.

The only part that must be paid attention: NEVER direct copy configuration files for Debian or any other distribution! See which changes are related to Froxlor and modify these specific lines in Arch manually. I have done that with every cofiguration file except one (nsswitch.conf) and Murphy pushes me into problems immediately :)

Share this post


Link to post
Share on other sites
  • 0

The customer tmp dir should be /var/customers/tmp (according to default value of Settings -> php-fpm -> Temp directory). It is not meant to be set to the global /tmp directory. 

Share this post


Link to post
Share on other sites
  • 0

Usage of /tmp was "grown" - but not mandatory. /var/customers/tmp is working out of the box. I will test the next weeks and if nothing else pops up migration is complete. Thank you for your support - excellent!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...