user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH 3/4] examples: various Apache-related doc updates
  @ 2016-02-29  1:45  4% ` Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2016-02-29  1:45 UTC (permalink / raw)
  To: meta

Plack::Handler::Apache2 exists and seems to work very well.
---
 examples/README                | 13 ++++++-------
 examples/apache2_cgi.conf      |  5 +++--
 examples/apache2_perl.conf     | 42 +++++++++++++++---------------------------
 examples/apache2_perl_old.conf | 38 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+), 36 deletions(-)
 create mode 100644 examples/apache2_perl_old.conf

diff --git a/examples/README b/examples/README
index 5113393..1244cb2 100644
--- a/examples/README
+++ b/examples/README
@@ -5,14 +5,13 @@ For all server admins
 ---------------------
 public-inbox-config - configuration file, this maps configured inboxes
 
-For Apache2 users without Plack
--------------------------------
-apache2_perl.conf - intended to be the basis of a production config
+For PSGI/Plack (HTTP) servers
+-----------------------------
+public-inbox.psgi - starting point for PSGI/Plack users in production and dev
 
-Web server configs for quick-and-dirty demos
---------------------------------------------
-apache2_cgi.conf - for Apache2 users who cannot install mod_perl
-cgi-webrick.rb - only for Rubyists who do not wish to install Plack or Apache
+For Apache2 users
+-----------------
+apache2_perl.conf - intended to be the basis of a production config
 
 Contact
 -------
diff --git a/examples/apache2_cgi.conf b/examples/apache2_cgi.conf
index 775b7e6..5ec64d7 100644
--- a/examples/apache2_cgi.conf
+++ b/examples/apache2_cgi.conf
@@ -1,5 +1,6 @@
-# Example Apache2 configuration using mod_cgi
-# If possible, use mod_perl (see apache2_perl.conf) instead of this.
+# Example Apache2 configuration using CGI mod_cgi
+# If possible, use mod_perl (see apache2_perl.conf) or
+# a standalone PSGI/Plack # server instead of this.
 # Adjust paths to your installation.
 
 ServerName "public-inbox"
diff --git a/examples/apache2_perl.conf b/examples/apache2_perl.conf
index 6615eb9..a4721b5 100644
--- a/examples/apache2_perl.conf
+++ b/examples/apache2_perl.conf
@@ -1,37 +1,25 @@
-# Example Apache2 configuration using mod_perl2
+# Example Apache2 configuration using Plack::Handler::Apache2
 # Adjust paths to your installation
 
 ServerName "public-inbox"
-ServerRoot "/var/www/cgi-bin"
-DocumentRoot "/var/www/cgi-bin"
+ServerRoot "/var/www"
+DocumentRoot "/var/www"
 ErrorLog "/tmp/public-inbox-error.log"
 PidFile "/tmp/public-inbox.pid"
 Listen 127.0.0.1:8080
 LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so
-LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
-LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so
-LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
-TypesConfig "/dev/null"
 
-# PerlPassEnv PATH # this is implicit
-<Directory /var/www/cgi-bin>
-	Options +ExecCGI
-	AddHandler perl-script .cgi
-	PerlResponseHandler ModPerl::Registry
-	PerlOptions +ParseHeaders
+# no need to set no rely on HOME if using this:
+PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config
 
-	# we use this hack to ensure "public-inbox.cgi" doesn't show up
-	# in any of our redirects:
-	PerlSetEnv NO_SCRIPT_NAME 1
+<Location />
+	SetHandler perl-script
+	PerlResponseHandler Plack::Handler::Apache2
+	PerlSetVar psgi_app /path/to/public-inbox.psgi
+</Location>
 
-	# no need to set no rely on HOME if using this:
-	PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config
-
-	# our public-inbox.cgi requires PATH_INFO-based URLs with minimal
-	# use of query parameters
-	DirectoryIndex public-inbox.cgi
-	RewriteEngine On
-	RewriteCond %{REQUEST_FILENAME} !-f
-	RewriteCond %{REQUEST_FILENAME} !-d
-	RewriteRule ^.* /public-inbox.cgi/$0 [L,PT]
-</Directory>
+# Optional, preload the application in the parent like startup.pl
+<Perl>
+	use Plack::Handler::Apache2;
+	Plack::Handler::Apache2->preload("/path/to/public-inbox.psgi");
+</Perl>
diff --git a/examples/apache2_perl_old.conf b/examples/apache2_perl_old.conf
new file mode 100644
index 0000000..a6de230
--- /dev/null
+++ b/examples/apache2_perl_old.conf
@@ -0,0 +1,38 @@
+# Example legacy Apache2 configuration using CGI + mod_perl2
+# Consider using Plack::Handler::Apache2 instead (see apache2_perl.conf)
+# Adjust paths to your installation
+
+ServerName "public-inbox"
+ServerRoot "/var/www/cgi-bin"
+DocumentRoot "/var/www/cgi-bin"
+ErrorLog "/tmp/public-inbox-error.log"
+PidFile "/tmp/public-inbox.pid"
+Listen 127.0.0.1:8080
+LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so
+LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
+LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so
+LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
+TypesConfig "/dev/null"
+
+# PerlPassEnv PATH # this is implicit
+<Directory /var/www/cgi-bin>
+	Options +ExecCGI
+	AddHandler perl-script .cgi
+	PerlResponseHandler ModPerl::Registry
+	PerlOptions +ParseHeaders
+
+	# we use this hack to ensure "public-inbox.cgi" doesn't show up
+	# in any of our redirects:
+	PerlSetEnv NO_SCRIPT_NAME 1
+
+	# no need to set no rely on HOME if using this:
+	PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config
+
+	# our public-inbox.cgi requires PATH_INFO-based URLs with minimal
+	# use of query parameters
+	DirectoryIndex public-inbox.cgi
+	RewriteEngine On
+	RewriteCond %{REQUEST_FILENAME} !-f
+	RewriteCond %{REQUEST_FILENAME} !-d
+	RewriteRule ^.* /public-inbox.cgi/$0 [L,PT]
+</Directory>
-- 
EW


^ permalink raw reply	[relevance 4%]

* [PATCH 0/4] various example updates
@ 2016-02-29  0:02  7% Eric Wong
  2016-02-29  0:02  4% ` [PATCH 3/4] examples: various Apache-related doc updates Eric Wong
  0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2016-02-29  0:02 UTC (permalink / raw)
  To: meta

TODO: manpages for -httpd...

Eric Wong (4):
      examples/: PSGI example updates
      examples/cgi-webrick.rb: set CGIPathEnv, update comments
      examples: various Apache-related doc updates
      examples/public-inbox.psgi: relax license to GPL-3.0+

 examples/README                | 13 ++++++-------
 examples/apache2_cgi.conf      |  5 +++--
 examples/apache2_perl.conf     | 42 +++++++++++++++---------------------------
 examples/apache2_perl_old.conf | 38 ++++++++++++++++++++++++++++++++++++++
 examples/cgi-webrick.rb        |  5 ++++-
 examples/public-inbox.psgi     | 14 ++++++++++++--
 6 files changed, 78 insertions(+), 39 deletions(-)


^ permalink raw reply	[relevance 7%]

* [PATCH 3/4] examples: various Apache-related doc updates
  2016-02-29  0:02  7% [PATCH 0/4] various example updates Eric Wong
@ 2016-02-29  0:02  4% ` Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2016-02-29  0:02 UTC (permalink / raw)
  To: meta

Plack::Handler::Apache2 exists and seems to work very well.
---
 examples/README                | 13 ++++++-------
 examples/apache2_cgi.conf      |  5 +++--
 examples/apache2_perl.conf     | 42 +++++++++++++++---------------------------
 examples/apache2_perl_old.conf | 38 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 62 insertions(+), 36 deletions(-)
 create mode 100644 examples/apache2_perl_old.conf

diff --git a/examples/README b/examples/README
index 5113393..1244cb2 100644
--- a/examples/README
+++ b/examples/README
@@ -5,14 +5,13 @@ For all server admins
 ---------------------
 public-inbox-config - configuration file, this maps configured inboxes
 
-For Apache2 users without Plack
--------------------------------
-apache2_perl.conf - intended to be the basis of a production config
+For PSGI/Plack (HTTP) servers
+-----------------------------
+public-inbox.psgi - starting point for PSGI/Plack users in production and dev
 
-Web server configs for quick-and-dirty demos
---------------------------------------------
-apache2_cgi.conf - for Apache2 users who cannot install mod_perl
-cgi-webrick.rb - only for Rubyists who do not wish to install Plack or Apache
+For Apache2 users
+-----------------
+apache2_perl.conf - intended to be the basis of a production config
 
 Contact
 -------
diff --git a/examples/apache2_cgi.conf b/examples/apache2_cgi.conf
index 775b7e6..5ec64d7 100644
--- a/examples/apache2_cgi.conf
+++ b/examples/apache2_cgi.conf
@@ -1,5 +1,6 @@
-# Example Apache2 configuration using mod_cgi
-# If possible, use mod_perl (see apache2_perl.conf) instead of this.
+# Example Apache2 configuration using CGI mod_cgi
+# If possible, use mod_perl (see apache2_perl.conf) or
+# a standalone PSGI/Plack # server instead of this.
 # Adjust paths to your installation.
 
 ServerName "public-inbox"
diff --git a/examples/apache2_perl.conf b/examples/apache2_perl.conf
index 6615eb9..a4721b5 100644
--- a/examples/apache2_perl.conf
+++ b/examples/apache2_perl.conf
@@ -1,37 +1,25 @@
-# Example Apache2 configuration using mod_perl2
+# Example Apache2 configuration using Plack::Handler::Apache2
 # Adjust paths to your installation
 
 ServerName "public-inbox"
-ServerRoot "/var/www/cgi-bin"
-DocumentRoot "/var/www/cgi-bin"
+ServerRoot "/var/www"
+DocumentRoot "/var/www"
 ErrorLog "/tmp/public-inbox-error.log"
 PidFile "/tmp/public-inbox.pid"
 Listen 127.0.0.1:8080
 LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so
-LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
-LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so
-LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
-TypesConfig "/dev/null"
 
-# PerlPassEnv PATH # this is implicit
-<Directory /var/www/cgi-bin>
-	Options +ExecCGI
-	AddHandler perl-script .cgi
-	PerlResponseHandler ModPerl::Registry
-	PerlOptions +ParseHeaders
+# no need to set no rely on HOME if using this:
+PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config
 
-	# we use this hack to ensure "public-inbox.cgi" doesn't show up
-	# in any of our redirects:
-	PerlSetEnv NO_SCRIPT_NAME 1
+<Location />
+	SetHandler perl-script
+	PerlResponseHandler Plack::Handler::Apache2
+	PerlSetVar psgi_app /path/to/public-inbox.psgi
+</Location>
 
-	# no need to set no rely on HOME if using this:
-	PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config
-
-	# our public-inbox.cgi requires PATH_INFO-based URLs with minimal
-	# use of query parameters
-	DirectoryIndex public-inbox.cgi
-	RewriteEngine On
-	RewriteCond %{REQUEST_FILENAME} !-f
-	RewriteCond %{REQUEST_FILENAME} !-d
-	RewriteRule ^.* /public-inbox.cgi/$0 [L,PT]
-</Directory>
+# Optional, preload the application in the parent like startup.pl
+<Perl>
+	use Plack::Handler::Apache2;
+	Plack::Handler::Apache2->preload("/path/to/public-inbox.psgi");
+</Perl>
diff --git a/examples/apache2_perl_old.conf b/examples/apache2_perl_old.conf
new file mode 100644
index 0000000..a6de230
--- /dev/null
+++ b/examples/apache2_perl_old.conf
@@ -0,0 +1,38 @@
+# Example legacy Apache2 configuration using CGI + mod_perl2
+# Consider using Plack::Handler::Apache2 instead (see apache2_perl.conf)
+# Adjust paths to your installation
+
+ServerName "public-inbox"
+ServerRoot "/var/www/cgi-bin"
+DocumentRoot "/var/www/cgi-bin"
+ErrorLog "/tmp/public-inbox-error.log"
+PidFile "/tmp/public-inbox.pid"
+Listen 127.0.0.1:8080
+LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so
+LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
+LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so
+LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
+TypesConfig "/dev/null"
+
+# PerlPassEnv PATH # this is implicit
+<Directory /var/www/cgi-bin>
+	Options +ExecCGI
+	AddHandler perl-script .cgi
+	PerlResponseHandler ModPerl::Registry
+	PerlOptions +ParseHeaders
+
+	# we use this hack to ensure "public-inbox.cgi" doesn't show up
+	# in any of our redirects:
+	PerlSetEnv NO_SCRIPT_NAME 1
+
+	# no need to set no rely on HOME if using this:
+	PerlSetEnv PI_CONFIG /home/pi/.public-inbox/config
+
+	# our public-inbox.cgi requires PATH_INFO-based URLs with minimal
+	# use of query parameters
+	DirectoryIndex public-inbox.cgi
+	RewriteEngine On
+	RewriteCond %{REQUEST_FILENAME} !-f
+	RewriteCond %{REQUEST_FILENAME} !-d
+	RewriteRule ^.* /public-inbox.cgi/$0 [L,PT]
+</Directory>
-- 
EW


^ permalink raw reply	[relevance 4%]

Results 1-3 of 3 | reverse | sort options + mbox downloads above
-- links below jump to the message on this page --
2016-02-29  0:02  7% [PATCH 0/4] various example updates Eric Wong
2016-02-29  0:02  4% ` [PATCH 3/4] examples: various Apache-related doc updates Eric Wong
2016-02-29  1:45     [PATCH 2/4] examples/cgi-webrick.rb: set CGIPathEnv, update comments Eric Wong
2016-02-29  1:45  4% ` [PATCH 3/4] examples: various Apache-related doc updates Eric Wong

Code repositories for project(s) associated with this inbox:

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).