< Apache HTTP Server

Apache HTTP Server/mod_perl

From the project:

mod_perl brings together the full power of the Perl programming language and the Apache HTTP Server. You can use Perl to manage Apache, respond to requests for web pages and much more.

Installation

Install the mod_perlAUR package.

Configuration

Load the module via the main Apache configuration file httpd.conf:

LoadModule perl_module modules/mod_perl.so

Allow perl to execute scripts for certain directories

There are two possible methods to enable the mod_perl module:

Using virtual hosts

Add a virtual host with settings. For example:

/etc/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost perlwebtest:80>
	Servername perlwebtest
	DocumentRoot /srv/http/perlwebtest
	ErrorLog /var/log/httpd/perlwebtest-error.log
	CustomLog /var/log/httpd/perlwebtest-access.log combined
	<Directory /srv/http/perlwebtest>
		AddHandler perl-script .pl
		PerlResponseHandler ModPerl::Registry
		Options +ExecCGI
		PerlOptions +ParseHeaders
		AllowOverride All
		Order allow,deny
		Allow from all
	</Directory>
</VirtualHost>

Ensure /etc/httpd/conf/httpd.conf includes the created virtual host:

Include conf/extra/httpd-vhosts.conf

Make sure it does not have Options Indexes FollowSymLinks!

Add "perlwebtest" as localhost in /etc/hosts, using the machine's hostname for yourhostname:

127.0.0.1	localhost yourhostname perlwebtest

For a subdirectory

Add the following to the main configuration file:

<code>/etc/httpd/conf/httpd.conf</code>
Alias /perlwebtest/ /srv/http/perlwebtest/
<Location /perlwebtest/>
      AddHandler perl-script .pl
      AddHandler perl-script .cgi
      PerlResponseHandler ModPerl::Registry
      PerlOptions +ParseHeaders
      Options +ExecCGI
      Order allow,deny
      Allow from all
</Location>

Turn on perl for directory listings

Create /etc/httpd/conf/extra/perl_module.conf as well:

Then include it in /etc/httpd/conf/httpd.conf:

Try it out

Create in /srv/http/perlwebtest:

Restart Apache's httpd.service and let it reload the configuration.

Finally, depending on chosen alternative configuration, visit

gollark: Exists.
gollark: I'll just use it three times then.
gollark: But I used it twice, so by the laws of something it is required.
gollark: ```c#define QUITELONG long long int```
gollark: For all you know, it could also be a `WHY` compiler.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.