Go to TogaWare.com Home Page. GNU/Linux Desktop Survival Guide
by Graham Williams
Duck Duck Go

Web Server

Updated 131215

Installing a web server under Debian and Ubuntu is as simple as installing apache2:

$ wajig install apache2

It is also installed as part of the LAMP (Linux/Apache/MySQL/PHP) suite:

$ wajig install lamp-server^

You will now have a default web page at http://localhost/. The actual page being displayed there comes from /var/www/index.html. You can begin creating your own web site from there.

For a secure web server, using SSL to encrypt all communications from a browser to the server (recognised with the https: prefix) you will need to enable the ssl module in apache2 and configure it:

$ wajig install apache2 openssl
$ sudo mkdir /etc/apache2/ssl
$ sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf \
$ sudo mv /etc/apache2/ssl/certificat.pem \
$ sudo a2enmod ssl
$ cd /etc/apache2/sites-available
$ sudo cp default ssl

Edit the new ssl:

NameVirtualHost *:443
<VirtualHost *:443>
	SSLEngine On
	SSLCertificateFile /etc/apache2/ssl/apache.pem
	ServerName host.name.specified.in.certificate.creation

Edit default to add *:80.

a2ensite ssl

Make sure /etc/apache2/ports.conf contains:

Listen 443
Listen 80


wajig restart apache2

For apache1 there were two approaches available: One is to use apache with the libapache-mod-ssl module and the other is to install the apache-ssl which installs a separate apache server to listen to port 443 (instead of 80). There are advantages either way but using apache-ssl is straightforward and cleanly keeps the two servers separate (configuration files are in /etc/apache and /etc/apache-ssl and log files in /var/log/apache and /var/log/apache-ssl respectively).


Copyright © 1995-2019 Togaware Pty Ltd
Support further development through the purchase of the PDF version of the book.
Brought to you by Togaware and the author of open source software including Rattle and wajig.
Also the author of Data Mining with Rattle and Essentials of Data Science.