Hello Eric, On Tue, Feb 23, 2021 at 08:01:24PM +0000, Eric Wong wrote: > Uwe Kleine-König wrote: > > 1) Import of older mails > > I used Konstantin Ryabitsev script[1] to generate a directory of > > mbob files. It's unclear to me how to easily import that into the > > archive. Not knowing a better way, I'd put them all in a Maildir and > > use public-inbox-watch to import them. Is there a nicer way? > > scripts/import_vger_from_mbox is probably the best maintained > of the stuff in scripts for mass imports (it supports v2, unlike > the rest of scripts/). Ah, this worked great. I missed these scripts because they are not included in my public-inbox.deb. > > 2) Apache configuration > > I was able to setup Apache to serve individual archives but I fail > > to get a list listing at the root. That is I can access the barebox > > archive at http://lore.pengutronix.de/barebox/, but not the overview > > of the archived lists at http://lore.pengutronix.de/. > > > > $ curl -D - http://lore.pengutronix.de/ > > HTTP/1.1 404 Not Found > > Date: Tue, 23 Feb 2021 15:31:54 GMT > > Server: Apache/2.4.38 (Debian) > > Expires: Fri, 01 Jan 1980 00:00:00 GMT > > Pragma: no-cache > > Cache-Control: no-cache, max-age=0, must-revalidate > > Content-Length: 9 > > Content-Type: text/plain > > > > Not Found > > You might need to configure publicinbox.wwwlisting to > "all" or match=domain". See publicinbox.wwwlisting in > public-inbox-config(5). I have this, with public-inbox-httpd I get a listing. > The default behavior is to 404 since the listing is a > fairly recent addition. > > > The Apache config looks as follows: > > > > > > ServerName lore.pengutronix.de > > > > ServerAdmin webmaster@localhost > > DocumentRoot /srv/www/lore.pengutronix.de/root > > > > > > AllowOverride None > > Require all granted > > > > > > LogLevel debug > > > > ErrorLog ${APACHE_LOG_DIR}/error.log > > CustomLog ${APACHE_LOG_DIR}/access.log combined > > > > Include conf-available/serve-cgi-bin.conf > > Include mods-available/rewrite.load > > SetEnv PI_DIR /home/lore/.public-inbox > > SetEnv NO_SCRIPT_NAME 1 > > > > Options +ExecCGI > > ScriptAlias /public-inbox.cgi "/usr/lib/cgi-bin/public-inbox.cgi" > > > > DirectoryIndex public-inbox.cgi > > RewriteEngine On > > RewriteCond %{REQUEST_FILENAME} !-f > > RewriteCond %{REQUEST_FILENAME} !-d > > Perhaps it's the -d check? I haven't tested WwwListing with > Apache. When I drop this I get: $ curl http://lore.pengutronix.de/ 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.


Apache/2.4.38 (Debian) Server at lore.pengutronix.de Port 80
:-) > > RewriteRule ^.* /public-inbox.cgi/$0 [L,PT] > > > >
> > > > My guess is that the "SetEnv NO_SCRIPT_NAME 1" part doesn't work as > > expected, but after some searching in the net I didn't find how to > > do this properly. > > Not sure, I haven't used Apache in ages and some of the configs > in examples/ are likely out-of-date and never tested with > WwwListing. > > If you're not using public-inbox-httpd; then I strongly suggest > using at least mod_perl (and not plain CGI) since Perl startup > time is atrocious. I used CGI because I had the impression this was the easiest to get running. Also ISTR that this isn't using cgi, but cgid, so the startup time isn't that relevant. Will try with mod_perl next, maybe the script name issue will go away then. When I debugged that some time ago I saw that /public-inbox.cgi/ is part of the request URL that is handled in the CGI. Also the footer of the generated pages has: This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.pengutronix.de/public-inbox.cgi/barebox/0 barebox/git/0.git ... which is wrong. > If you're dealing with large inboxes and supporting smart HTTP > clone/fetch, then use public-inbox-httpd (which works with > varnish, mod_proxy, or any other front-end proxy). Using Apache was one of the preconditions by the company's admin team, but I will forward your information once I'm done with the setup and when I hand over operation of lore.pengutronix.de to them. > public-inbox-httpd can throttle CPU/memory intensive tasks > (e.g. git-http-backend, cgit) independently of other work > (the "limiter" stuff in public-inbox-config(5)). > > As of public-inbox 1.6, -httpd also does git blob retrievals > around 20% faster on /T/, /t/ and t.mbox.gz requests and > decouples high-latency HDD from network ops. Thanks for your valuable input, Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |