Basics ====== ~/public_html is served at http://dev.host/~USER/ This directory is not created for you. Once it is created, you will be listed on the homepage. Server Stuff ============ The server is apache. ExecCGI is enabled. Full .htaccess overrides are enabled. mod_rewrite is available. Dynamic Languages ================= mod_cgi, mod_php5, and mod_wsgi are installed. Examples ======== CGI --- Add the following to .htaccess: AddHandler cgi-script .cgi DirectoryIndex index.cgi This tells apache what to do with .cgi files, and sets index.cgi as the index page for the directory. Add the following to index.cgi: #!/bin/bash cat < Hello World Hello World EOF Make index.cgi executable: chmod +x index.cgi You should now see 'Hello world.' at your page. Note you can use any installed language for CGI. PHP --- .php files are parsed as PHP. WSGI ---- Put the following in .htaccess. Replace USER with your username: AddHandler wsgi-script .wsgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /~USER/app.wsgi/$1 [QSA,PT,L] This tells apache what to do with .wsgi files, and directs all requests that aren't for an existing file to app.wsgi. Put the following in app.wsgi: class Application(object): def __call__(self, environ, start_response): status = '200 OK' headers = {'Content-Type': 'text/plain; charset=utf-8'} data = 'Hello world.' headers['Content-Length'] = str(len(data)) start_response(status, headers.items()) return data application = Application() You should now see 'Hello world.' at your page.