Barebones postfix install for Ubuntu

This article describes how to install a postfix mail server with no extras or optimization. It's intended only for users who are experienced administrators or who just want a basic mail server installed for a single purpose like sending email alerts from another service.


Ubuntu Hardy - Installing Apache Tomcat

Apache Tomcat is a free and open source implementation for JavaServlets. It provides support for Java Server Pages (JSP), which power many popular web-based applications.

You can run Tomcat with either Sun's Java implementation or OpenJDK, and this document provides instructions for both options.

Ubuntu Hardy - Using mod_wsgi to Serve Your Application

If you've followed the previous article you should have Apache and mod_wsgi ready to serve an app for you.

In this article we'll create a basic Django app and setup the virtual host that will allow Apache and mod_wsgi to work their magic.


PostgreSQL - working with columns and rows

The previous article explained how to create and drop tables using the psql client.

Now we'll explore adding columns and rows (records) to our database's tables.


Ubuntu Hardy - mod_wsgi Installation

Following from the django install article, we now look at one way of serving our application.

mod_wsgi is a simple to use (and setup) tool for serving python based web applications from Apache. It also has the added benefit of being the recommended way to get Django into production.

This article will walk you through installing and setting up mod_wsgi with Apache.


PostgreSQL - creating and dropping tables

This article will explain how to create and drop database tables using the psql client.

Many web frameworks, such as Ruby on Rails, handle creation and access to database tables automatically. But it's a good idea to learn the basics of working with them manually; also, not everyone running a postgres server will use it in conjunction with a web framework.


Ubuntu Hardy - Using mod_python to Serve Your Application

If you've followed the previous article you should have Apache and mod_python ready to serve an app for you.

In this article we'll create a basic Django app and setup the virtual host that will allow Apache and mod_python to work their magic.


PostgreSQL - making connections #3

Following part 2, this article addresses some security-related concerns affecting postgres servers open to remote TCP connections.


PostgreSQL - making connections #2

Following part 1, this article explains how to configure our postgres server for less restricted local and remote TCP connections.

For a full treatment, refer to Chapter 21 in the official documentation.


PostgreSQL - making connections #1

Following installation, access to our PostgreSQL database server is highly restricted owing to its default configuration — this was first explained in the local connections as postgres article.

The present article and the next two will explain how to enable postgres for less restricted local and remote connections, a necessity if we're going to use it as the datastore for our web applications, or connect to it remotely with a database admin tool.


Ubuntu Hardy - mod_python Installation

Following from the django install article, we now look one way of serving our application.

mod_python is a simple to use (and setup) tool for serving python based web applications from Apache.

This article will walk you through installing and setting up mod_python with Apache.


Ubuntu Hardy - Django Installation

This series of articles will take you through the installation and deployment of a Django based web application. This article in particular will serve to get Django installed and be a base for the rest of the articles in the series.


Ubuntu Hardy - Rails and PHP options for PostgreSQL

Ruby on Rails and PHP are popular web application frameworks; both commonly make use of a database server on the back-end.

This article will cover installation of the packages needed to integrate PostgreSQL with Ruby on Rails and a standard PHP install.


PostgreSQL - creating and dropping databases

This article will explain how to create and drop databases using the psql client, and alternatively using the shell commands createdb and dropdb.


PostgreSQL - creating and dropping roles

This article will explain how to create and drop database roles using the psql client and alternatively using the shell commands createuser and dropuser.


PostgreSQL - local connections as postgres

In this article, we'll connect to the database server as the "postgres" role, using the psql client software for the first time.


PostgreSQL - access control

Following from the PostgreSQL installation article, we now take a look at some important concepts you will need to be familiar with when working with PostgreSQL.

As such, we'll introduce access control and terms such as roles, attributes and privileges.


Ubuntu Hardy - PostgreSQL Installation

Installation of PostgreSQL on Ubuntu Hardy is easily accomplished with the 'aptitude' package manager.

This article will work through the installation process and some configuration changes suggested for a typical setup.


SSH - PuTTYgen

This article will take you through generating RSA keys using PuTTYgen on Windows for secure SSH authentication with OpenSSH.


Ubuntu Hardy - Installing MySQL (with Rails and PHP options)

Installing MySQL on Ubuntu Hardy is very simple using the 'aptitude' package manager.

This article will go through the install process and also look at what other packages are need for MySQL to integrate with Ruby on Rails and with a standard PHP install.


How to serve multiple domains

Most people serve more than one domain on their Slice(s).

Whether for different domain names or different subdomains of the same domain, the procedure is the same.


Ubuntu Hardy - Nginx, rails and thin

Having installed the thin web server for Ruby, we can now look at configuring a Nginx vhost to proxy to thin so we can serve our Ruby on Rails application.

The process is easy to follow and easy to repeat for hosting multiple domains.


Ubuntu Hardy - Nginx, rails and mongrels

Following from the mongrel and mongrel cluster article, we can now look at configuring Nginx to proxy to a mongrel cluster so we can serve our Ruby on Rails application.

The process is very easy and can simply be repeated for serving multiple domains.


Ubuntu Hardy - Nginx virtual host settings

The previous Ubuntu Hardy Nginx Virtual Hosts article introduced the basics of the setting up virtual hosts.

This allowed us to serve multiple domains from a single IP address and Slice. Now we can look in detail at more of the settings available to us in the Virtual Hosts files.


Ubuntu Hardy - Nginx Virtual Hosts

Now we have Nginx installed (whether via the package manager or from source) we are in a position to serve multiple domains using Virtual Hosts.

Do note the layout used in this article is explained here - feel free to use the directories of your choice.


Ubuntu Hardy - Nginx configuration

Whether you have installed Nginx using the package manager or from source, you will need to look at the main configuration file and see what may need changing and optimising.

Although I'll make some suggestions, the aim is not to change a great deal at this point. Rather, we will look at the main settings, see what they mean and what a change will actually do.


Ubuntu Hardy - Nginx from source layout

Following from the main installing Nginx from source and creating an init script articles we can now move onto looking at the Nginx layout.

The idea of this article is to change the default layout to one more in keeping with the 'Debian' style. Installing Nginx via the package manager creates this layout automatically - we need to do it by hand.


Ubuntu Hardy - adding an nginx init script

If you decided to install Nginx via source (see the previous article) you would have the latest and greatest version.

However, one disadvantage of installing from source is that init scripts are not created. No problem, let's go ahead and create one for easy control of Nginx and to ensure it restarts on a reboot.


Ubuntu Hardy - Installing Nginx from source

Nginx is a popular lightweight server for those who do not need the bulk and extra services that Apache may offer.

This article will look at installing Nginx from source on an Ubuntu Hardy Slice.


Ubuntu Hardy - Installing Nginx via aptitude

Nginx is a popular lightweight server for those who do not need the bulk and extra services that Apache may offer.

This article will look at installing Nginx on an Ubuntu Hardy Slice using the 'aptitude' package manager.


Ubuntu Hardy - Apache, Rails and mongrels

Following from the mongrel and mongrel cluster article, we can now look at creating and configuring Apache to proxy to a mongrel cluster so we can serve our Ruby on Rails application.


Ubuntu Hardy - mongrel and mongrel clusters

There are variety of options open to the sysadmin when serving Ruby applications.

One of the original ways is to use the mongrel web server. Requests are proxied to the mongrel(s) from the main web server (Apache, Nginx, etc).


Ubuntu Hardy - Apache, Rails and thin

Following from the thin web server for Ruby article, let's look at creating and configuring Apache to proxy to thin so we can serve our Ruby on Rails application.


Ubuntu Hardy - thin web server for Ruby

There are variety of options open to the sysadmin when serving Ruby applications.

One of them is thin. This is a 3rd party web server that is proxied to from the main web server (similar to mongrels in a general setup). Let's take a look at installing thin.


Ubuntu Hardy - using mod_rails to serve your application

Following from the first article, we now have passenger (mod_rails) installed.

As such, we can move on and create a Ruby on Rails application and see how easy it is to serve using passenger.


Ubuntu Hardy - mod_rails installation

Phusion's Passenger (mod_rails) is an exciting development in serving your Ruby on Rails application with the Apache web server.

Incredibly simple to install and use, you can have a rails application up and running in no time. You don't have to worry about ports or setting up a proxy to another server.


Ubuntu Hardy - Ruby on Rails

In the Ubuntu Hardy setup articles (page 1 and page 2) we secured, updated and personalised the install ready to add some working software.

We also installed the build-essential package. Now we can go ahead and install Ruby on Rails.


Ubuntu Hardy - Apache Virtual Hosts #2

Following on from the first Ubuntu Hardy - Apache Virtual Hosts article, we can now look in detail at some of the settings available to us in the Virtual Hosts file.

This will enable us to have complete control of the domain we want to serve.


Ubuntu Hardy - Apache Virtual Hosts #1

Now we have Apache installed and running, we can configure it to serve multiple domains using Virtual Hosts.

Do note the layout used in these articles is explained here - feel free to use the directories of your choice.


Ubuntu Hardy - Apache configuration #2

Continuing from the first Ubuntu Hardy Apache configuration article, we'll now look at some of the other settings in the main apache2.conf file and what they can do.

Concentrating on efficiency and security, this will end our apache2.conf journey (for now).


Ubuntu Hardy - Apache configuration #1

As we know, Ubuntu Hardy uses a different layout from other non-Debian based systems - let's move on and take a look at the main apache2.conf and ports.conf.

We're not actually going to change a lot at this point, just look at the main settings and see what they mean and what a change will actually do


Ubuntu Hardy - Apache config layout

Ubuntu Hardy Heron uses a different Apache layout than you may have encountered if you have used Apache with non-Debian based Operating Systems.

The differences are not huge and, indeed, help in configuring and deploying websites.


Ubuntu Hardy - installing Apache and PHP5

Ubuntu Hardy Heron comes with Apache v.2.2.8 and PHP v.5.2.4 and they are easily installed via the default Ubuntu Package Manager 'aptitude'.

The advantage of using aptitude is that you will get any security updates from Ubuntu (if and when distributed) and dependencies are automatically taken care of.


Ubuntu Hardy setup - page 2

Now that we've secured access to our Ubuntu Hardy slice we can update it and get it ready for the rest of the server install.


Ubuntu Hardy setup - page 1

Your Ubuntu Hardy Slice will be a bare-bones install when it's created. We need to connect via SSH and secure it as soon as possible.