Web Server

published 09/08-20 by brinktjofzki

Ludd's web server is one of the services most used by our members. It currently supports:

  • mod_perl
  • mod_php
  • mod_python
  • mod_ruby passenger (Ruby on Rails)
  • CGI

Using the web server

Note: This article will not explain how to build a website. It will only explain the technicalities of serving said pages.

In order to make your pages accessible to the internet, put them in:

~/.html/htdocs/

For those of you unacquainted with Unix, ~ symbolises your home directory (usually the one you start in after logging in through SSH or SFTP.

In order to use Perl, PHP, Python or Ruby, simply append the proper suffix to the files.

In order to use CGI, hashbang them properly, append .cgi and put them in

~/.html/cgi-bin

(If you don't know what this means, you probably shouldn't use them).

Logs

If you need to look at the logs from the server, they can be found in:

~/.html/logs/

ReverseProxy

The webserver is using a reverse proxy to give each user his own virtual host. However many PHP web applications doesn't handle this very well. So for PHP we have changed some server variables to handle this fact. If you see references to .users.ludd.ltu.se somewhere, this is your private virtual host running behind the reverse proxy.

If you want to know more about how the webserver is configured, contact the administrators.

Drupal

Installation of Drupal needs some changes to work on our server.

Since FollowSymlinks doesn't work in .htaccess files, it needs to be removed from drupal-6.9/.htaccess. The rewrite rules also needs updating. Change USERNAME with your uid and drupal-6.9 where you have installed Drupal.

RewriteBase /~USERNAME
RewriteRule ^(.*)$ /~USERNAME/drupal-6.9/index.php?q=$1 [L,QSA]

Drupal also creates a .htaccess file in drupal-6.9/sites/default/files/.htaccess. You need to remove the line

*Options +FollowSymlinks*.

Passenger

To enable passenger create an empty file named:

~/.html/mods/passenger