serverfault.com

VN:F [1.9.22_1171]
Rating: 6.0/10 (1 vote cast)

Common Server issues – FAQs and answers from those in the know

File stuck in php-fpm opcache?

28 March 2026 @ 2:17 pm

I had a php file I was unable to update. The server was constantly returning an old version of the file. After deleting the file I got 404, but restoring the file again returned an old version of the file. All other files I tested worked as expected. Copying the file to a new file name worked as expected. Just that one file wouldn't update. After calling opcache_reset it started working. So it seems the cache was not correctly invalidated for that one file on change. This is scary. Why would this happen? How can I prevent this from happening again, besides disabling opcache? I found this other example of it happening to someone (though it doesn't specify it happening to just one file): Why Does PHP-FPM sometimes get stuck serving old files?

Trigger scripts via dovecot imapsieve without actually touching the read-only mailbox

27 March 2026 @ 11:15 pm

Configuring a Sieve script to run after IMAP flag changes like so: [..] dovecot_config_version = 2.4.0 protocol imap { mail_plugins { acl = yes imap_acl = yes imap_sieve = yes } } sieve_plugins { sieve_imapsieve = yes } sieve_script script_name { cause = flag driver = file name = script_name # content does not matter, empty file sufficient path = /etc/dovecot/file-name.sieve type = after } [..] In conjunction with an ACL of lookup/read/write/write-seen (no insert/post!) on a mailbox gives me errors like this.. on each and every flag IMAP change: imap(redacted@example)<123> Error: sieve: Execution of script 'script_name/file-name' failed with unsuccessful implicit keep Is there a more proper (not relying on dovecot hand

Apache redirect all ports from subdomain to back end server

27 March 2026 @ 4:20 pm

I have multiple servers with different services. I have Apache on a publicly accessible server, pointing different subdomains to different servers (*.example.com, *.serv1.example.com, *.serv2.example.com). One problem that is when I go to serv1.example.com:5320, it goes to example.com:5320. Here is the Apache server config: <VirtualHost *:80> ServerName serv1.example.com ServerAlias *.serv1.example.com ProxyPreserveHost On ProxyPass / http://100.10.20.30/ ProxyPassReverse / http://100.10.20.30/ </VirtualHost> I tried using <VirtualHost *:*> but that didn't route traffic through in general. The back end servers are also running nginx, so that I could give them their own subdomains, and the main server is running Ubuntu with the backend servers running Arch linux. Any help would be much appreciated.

How to configure dovecot to handle one specific user special?

27 March 2026 @ 1:13 pm

My dovecot setup looks like this: # 2.4.2 (0962ed2104): /etc/dovecot/dovecot.conf # Pigeonhole version 2.4.2 (767418c3) # OS: Linux 6.12.0-160000.25-default x86_64 # Hostname: eagle # 9 default setting changes since version 2.4.0 dovecot_config_version = 2.4.0 dovecot_storage_version = 2.4.0 listen = * protocols = imap lmtp ssl = required protocol imap { imap_idle_notify_interval = 60 secs mail_max_userip_connections = 10 } ssl_server { cert_file = /etc/dovecot/certs/cert.pem key_file = /etc/dovecot/certs/privkey.pem } namespace inbox { mail_driver = mbox mail_inbox_path = /var/mail/%{user} mail_path = ~/Mail inbox = yes separator = / } mbox { read_locks = fcntl write_locks = fcntl } passdb pam { service_name = dovecot } userdb passwd { use_worker = yes } service imap-login { inet_listener imap { } inet_listener imaps { port = 993 ssl = yes } } namespace inbox { inbox = yes separator = / mailbox Drafts { special_use

Email from Google to Microsoft 365 fails, but no error messages

27 March 2026 @ 12:55 pm

Due to a migration process, I need to adjust our inbound mail configuration to transition to exchange online. The old configuration Config A MX 10 mymail-1.mydomain.com. MX 20 mymail-2.mydomain.com. The currently desired configuration is something like Config B MX 5 mydomain.mail.protection.outlook.com. MX 10 mymail-1.mydomain.com. MX 20 mymail-2.mydomain.com. After enabling this, everything seemd to work fine: As expected, almost all incoming mails entered via Exchange Online, every now and then some incoming mail used the fallback or even the fallback of the fallback. There was but one(?) exception that did not work: Mails coming from Google customers. From what I can assess from my side, Google perhaps tried to go via the Microsoft route and failed, but never tried the fallback or second fallback. Even after several hours, neither did the mail arrive her

Puppet fails with Cannot allocate memory - fork(2) on Debian Trixie VMs (Ganeti) unless RAM is increased to 8 GB

27 March 2026 @ 3:59 am

I am facing a memory-related issue on Debian Trixie VMs running on Ganeti. These VMs are used exclusively as PostgreSQL database servers. The same Puppet configuration works fine on Debian Bullseye and Bookworm, but consistently fails on Trixie. Environment Hypervisor: Ganeti Guest OS: Debian Trixie VM RAM: 4 GB (fails), works only at 8 GB Workload: PostgreSQL + Puppet agent Puppet version: Puppet 7 PostgreSQL version: 14 Problem When running Puppet (runpuppet), I get multiple failures like: Error: Could not evaluate: Cannot allocate memory - fork(2) Error: Could not prefetch mount provider 'parsed': Cannot allocate memory - fork(2) Error: Could not prefetch sysctl provider 'augeas': Cannot allocate memory - fork(2) Example full output: Error: /Stage[main]/Ssh/Exec[/bin/systemctl enable systemd-networkd-wait-online.service]: Could not evaluate: Cannot allocate memory - fork(2) Error: /Stage[main]/Profiles::Monitor

The configured disk size and the size provided by the service do not match

26 March 2026 @ 6:04 pm

enter image description here My boot disk is 40GB, but my server's actual disk space is only 30GB. enter image description here

Postfix with SMTP: "From" error

26 March 2026 @ 2:39 pm

I am running a Debian server which hosts two different web applications running on apache2 that both need to be able to send emails from specific email addresses. Those addresses are actual email accounts from my provider with my domain name, so I am trying to implement SMTP with postfix. In order to test I am trying to send this email using sendmail in CLI: email.txt: From: [email protected] Subject: test test test test sendmail [email protected] < ./email.txt However it doesn't work. Here's what /var/log/mail has to say about it (I trimmed the timestamps for readability): postfix/pickup[1130256]: 075FC37CE43: uid=0 from=<root> postfix/cleanup[1133097]: 075FC37CE43: message-id=<20260326142453.075FC37CE43@myhostname> postfix/qmgr[1130257]: 075FC37CE43: from=<root@myhostname>, size=272, nrcpt=1 (queue active) postfix/smtp[1133100]: 075FC37CE43: to=<[email protected]>, relay=send

Regarding using HAPROXY with proxy protocol to secure database

26 March 2026 @ 12:30 pm

I read this blog: https://www.haproxy.com/blog/using-haproxy-with-the-proxy-protocol-to-better-secure-your-database but am confused as the author uses some addresses to indicate the problem and different addresses within the solution. If someone could provide a little clarity about it. We have 4 percona (MYSQL) servers: 2 in datacentre A and 2 in datacentre B. The user entry point is via haproxy, where we have 1 in both datacentres It looks to me like the author suggests that every possible source for access on the client side would need to be added to the database: mysql> CREATE USER 'haproxy'@'192.168.122.64'; which, I assume would have to be both source user and host. But what if there are multiple users on each host? How to cater for DHCP hosts? Would we have to then have global wildcards declare

OpenLDAP conditional sudo based on server tag

26 March 2026 @ 8:00 am

I want to setup a conditional sudo access rule to a host. I understand adding a sudo schema, and then adding a user to group that gives sudo powers. But I want to distinguish somehow hosts by custom ldap groups, and allow users sudo access if they belong to same ldap group too. Example picture: ldap setup wish Imagine Host1 belongs to groupA, and Host2 belongs to groupB. I would like to add Alice to groupA and to groupSudo - so she can execute sudo commands on Host1, while she would not have sudo access on host2, but she can still login there as simple user. Similarly I want to assign Bob to groupB and groupSudo - that would give him sudo only on Host2. And Cynthia to all 3 groups so that she gets sudo everywhere. I'm struggling to finding this solution though. I did find a solution where I would restrict Alice login to Host2 entirely, by configuring sssd to not allow logins if not in groupB. H