Nixsys Public Access UNIX System

Web Hosting:

Contents

Overview

Another feature distinguishing Nixsys PAUS from other free and commercial service providers is the wealth of options presented by the web hosting system. All users have access to MySQL®, PERL, PHP, Python, and SSIs. Users also have the ability to host subdomains on nixsyspaus.org, create .htaccess files, and have customized error logs and error documents. With the current configuration the system supports, almost anything is possible.

Apache Modules

The list below contains the Apache server modules that are supported by this system. If a module is not listed here, it's most likely not supported. Current list of supported modules is:

core
Core Apache HTTP Server features that are always available
mod_access
Provides access control based on client hostname, IP address, or other characteristics of the client request
mod_actions
This module provides for executing CGI scripts based on media type or request method
mod_alias
Provides for mapping different parts of the host filesystem in the URL redirection
mod_asis
Sends files that contain their own HTTP headers
mod_auth
User authentication using text files
mod_auth_dbm
Provides for user authentication using DBM files
mod_auth_digest
User authentication using MD5 Digest Authentication
mod_cern_meta
CERN httpd metafile semantics
mod_cgi
Execution of CGI scripts
mod_deflate
Compress content before it is delivered to the client
mod_dir
Provides for "trailing slash" redirects and serving directory index files
mod_env
Modifies the environment which is passed to CGI scripts and SSI pages
mod_expires
Generation of Expires and Cache-Control HTTP headers according to user-specified criteria
mod_ext_filter
Pass the response body through an external program before delivery to the client
mod_headers
Customization of HTTP request and response headers
mod_include
Server-parsed html documents (Server Side Includes)
mod_log_config
Logging of the requests made to the server
mod_log_forensic
Forensic Logging of the requests made to the server
mod_mime
Associates the requested filename's extensions with the file's behavior (handlers and filters) and content (mime-type, language, character set and encoding)
mod_mime_magic
Determines the MIME type of a file by looking at a few bytes of its contents
mod_negotiation
Provides for content negotiation
mod_rewrite
Provides a rule-based rewriting engine to rewrite requested URLs on the fly
mod_setenvif
Allows the setting of environment variables based on characteristics of the request
mod_so
Loading of executable code and modules into the server at start-up or restart time
mod_ssl
Strong cryptography using the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols
mod_suexec
Allows CGI scripts to run as a specified user and Group
mod_unique_id
Provides an environment variable with a unique identifier for each request
mod_usertrack
Clickstream logging of user activity on a site
mod_vhost_alias
Provides for dynamically configured mass virtual hosting
prefork
Implements a non-threaded, pre-forking web server

cgi-bin

All users, by default, have a cgi-bin directory created in their public webspace. This directory may be used to run PERL scripts, shell scripts, and other programs used to dynamically generate content. Users are reminded to be responsible when allowing CGIs to be publically accessible. Careful testing must be done to check whether or not a Denial of Service could be caused. There are many other sites hosted on this system, and they should not be comprimised for another's carelessness.

Customized Error Pages

Those hosting subdomains and / or domains on this system have the privilege to create customized error pages. This allows sites to have error messages configured to individual needs. If an error is encountered on a site hosted by this system and users choose not to customize their error pages, the client will be redirected to the default system-wide error document. Users who wish to utilize the functionality of customized error pages should send a request to the Webmaster: webmaster -AT- nixsyspaus -DOT- org.

Directory Index

This system does not support Apache's mod_autoindex, which "generates directory indexes, automatically, similar to the Unix ls command or the Win32 dir shell command". Users intending to have a directory accessible via a URL will need to create an index file in that directory and go from there. There is a precedence to the index file names. They are processed in this order:

  1. index.cgi
  2. index.shtml
  3. index.pl
  4. index.php
  5. index.py
  6. index.xml
  7. index.xhtml
  8. index.html
  9. index.wml

Logging Capabilities

Configuring logging functions on a per virtual host basis perfoms a few useful tasks. Most importantly, it allows users to debug errors in their web sites (without those errors being shown publicly - a good security feature), monitor site traffic, have more privacy, and many other things. However, this feature needs space under the user's web quota, which is good for the main web server (as its resources aren't being used), but can quickly spend the user's web quota if not monitored, rotated, and archived.

Two mechanisms are available for web log file rotation. One is a program, bundled with the The Apache HTTP Server, called rotatelogs. The other is a software package, installed from The NetBSD Packages Collection (pkgsrc), called cronolog. Users are encouraged to examine the documentation on both utilities before requesting logging capabilities for their web sites.

Logging is not enabled by default, as it requires space on the user's quota, but can be enabled / disabled at any time with a request to the administration. A list of archivers supported on this system can be found at the Archivers Section of this site. More information regarding logging functions is available on the Apache Log Files page.

MySQL

Please view the DBMS section of the website to understand how connections to the MySQL Database Server are made.

PERL

The path to PERL is /usr/pkg/bin/perl. All PERL scripts run as your userid and groupid and must have read and execute bits set for the owner and group (if the file's GID is equal to that of the webserver; i.e.: `chmod 750`) or all read and execute bits set (if the file's GID is not equal to that of the webserver; i.e.: `chmod 755`). Scripts do not need to be located in the user's cgi-bin directory, unless the file is being run as a CGI script.

PHP

On this system, PHP runs in Safe Mode. Persistent connections to the MySQL database server are not allowed. The full file system path to included documents must be used instead of relative paths. Otherwise, scripts will not be able to locate the included file. Using the short open tag for PHP scripts is currently disabled. This means scripts must begin like so:
<?php
as opposed to:
<?
Supported modules include:

There are also a handful of PEAR modules supported.

SSIs

Files intended for use as SSIs must have an extension of .shtml to be parsed by the server. These files cannot run the "exec" command.

Additional Notes

MySQL is a registered trademark of MySQL AB in the United States, the European Union, and other countries.

Back to the top!