sigmoid.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A social space for people researching, working with, or just interested in AI!

Server stats:

588
active users

#apache2

1 post1 participant0 posts today

If you're running Nextcloud on top of Apache2 on Debian 12 server and after upgrading to Debian 13 server it refuses to start up again, do the following:

a2dismod php8.2
a2enmod php8.4
systemctl restart apache2

At least that was what I needed to do.

Continued thread

Die zwei neue Mixture of Experts-Modelle unter Apache 2.0 Lizenz:
Das 120B-Modell erreicht Reasoning-Performance vergleichbar mit o4-mini – auf einer einzigen 80 GB GPU.
Das kompakte 20B-Modell läuft sogar auf Laptops mit ~16 GB RAM.
Beide unterstützen Chain-of-Thought, Tool-Use (z. B. Websuche, Codeausführung) und agentische Workflows – vollständig lokal einsetzbar und kommerziell nutzbar.
theguardian.com/technology/202
#OpenWeights #LLM #Apache2

The Guardian · OpenAI takes on Meta and DeepSeek with free and customisable AI modelsBy Dan Milmo

Amazon will offer OpenAI’s open-weight models, sidestepping Microsoft via Apache 2.0 license - Image via Amazon

OpenAI released its first open-weight AI models in more than ... - geekwire.com/2025/amazon-will- #artificialgeneralintelligence #openaimicrosoftpartnership #artificialintelligence #open-weightmodels #apache2.0license #openaiamazondeal #techpartnerships #amazonsagemaker #cloudcomputing

Replied in thread

Okay, this SEEMS to work. The database is just the start addresses for lots of /8, /16, /24 or /32 ranges (depending on the size of the requested block - e.g. a /22 range gets written as the start address for four /24s) taken from okean.com/antispam/iptables/rc and mapped to "BLOCKED" and then built into a database file with `httxt2dbm`.

```
# Extract IP parts
RewriteCond %{REMOTE_ADDR} ^((([0-9]+)\.[0-9]+)\.[0-9]+)\.[0-9]+$
RewriteRule . - [E=subnet8:%3.0.0.0,E=subnet16:%2.0.0,E=subnet24:%1.0,E=subnet32:%0]

# Tarpit provided by a Mastodon user - mastodon.social/@pcarrier/1124
# We don't have access to mod_cspnonce yet, so fudge a random-ish value
RewriteCond ${greatfirewall:%{ENV:subnet8}} =BANNED [OR]
RewriteCond ${greatfirewall:%{ENV:subnet16}} =BANNED [OR]
RewriteCond ${greatfirewall:%{ENV:subnet24}} =BANNED [OR]
RewriteCond ${greatfirewall:%{ENV:subnet32}} =BANNED
RewriteRule . srv.us/tarpit?nonce=%{REMOTE_PORT}%{TIME} [L,E=donotlog:1,R=301]
```

(`donotlog` is used later to avoid logging, because when they hit so hard and so often then I don't need that bloat in my server logs!)
Not yet worked out why it only seemed to work within <VirtualHost> blocks.

Replied in thread

Deleted the database and recreated it from scratch (rather than updating it) and "page 599 is on free list with type 13", "PANIC: Invalid argument" and "Error string not specified yet" have all gone away. So apparently they mean "I don't like the existing database but can't handle it cleanly" 😐

Continued thread

Debugging this and… it looks like the problem might be the backref to a previous RewriteCond?

I've got a similar "block these hosts" RewriteMap using `%{REMOTE_ADDR}` as the key and that works. But using `%1` as a key when the previous RewriteCond is "extract a subset of the octets" fails to look up correctly. Which I've confirmed with a noddy "extract from the query string" lookup.

But then again, it's not working with an env var either. I can do a capture with a RewriteCond, set an env var with a RewriteRule, then do a second RewriteRule using the env var and it works. But if I use `${testmap:%{ENV:testvar}}` then it doesn't find anything. Even though I've shown that the env var on its own contains the expected value.

Continued thread

Oh, FFS. Can't get this working. And can't get Apache to give me enough logging to understand why.

I've got a rewrite map in bdb, it contains IP blocks that are banned (generated from a Python script). I've got rewrite conds that match each of four, three, two or one octets and then try to look them up in the map. If there's a match then it gets tar-pitted. But I'm always getting failed lookups.

The annoying bit is that even trace4 isn't telling me what the input to the map lookup is. Only the result of the lookup when it is compared to the "was it blocked" value.

Maybe I need to drop the zero octets rather than filling them in? Hopefully it's not that RewriteCond captures can't be used as a key in the map lookup.