Drupal 6 and 7 on Oracle Solaris 11

Drupal 6 and 7 is an AMP application which works seemless on Solaris 10 and 11 no matter which processor architecture is being provided.

Drupal is known to work in all kinds of Solaris zones.

The application can be operated in a number of different configurations. The simplest configuration requires:

  • PHP
  • Apache webserver 2.2
  • MySQL

All these components are available in Oracle Solaris 10 and 11.

A simple installation on Oracle Solaris 11 installation has been tested with Drupal 7 patch level 23.

Installation of required Solaris 11 Packages

Solaris 11 comes by default with a relatively small OS nucleus. The required AMP stack is an optional package which needs to be installed with root privileges. Solaris 11 package installations are idempotent. This means that they are simple. You can launch the installation command multiple times. The system will install the required packages if needed only. No package will be installed multiple times. Nothing will happen in the case that the stack was already installed...

The installation of the AMP stack happens with the command:

sudo pkg install amp

This command will install an Apache 2.2 web server and a MySQL version 5.1

Starting the required Services

Drupal requires the Apache web server and MySQL to run. 

All following commands will require root privileges which have the potential to damage the system when not being applied correctly!

Both services can be configured in the common platform independent way. A simple Drupal installation doesn't require any custom configuration.

The Drupal instance will work out of the box. Please consult the Drupal System requirements before you start your services. It may make sense to increase parameter for Php, Apache web server and the MySQL database for productive systems. These parameter changes will not be adopted automatically. They will be read when the service starts or restarts.

I assume that the Apache web server hasn't been running nor being used for a different purpose!

Having MySQL already being used is not a problem. Drupal will install a new database instance. I assume here that MySQL hasn't been started and used.

Both services need to be started with the following commands:

sudo svcadm enable svc:/application/database/mysql:version_51
sudo svcadm enable svc:/network/http:apache22

Both services should be in the state online after having started them. This can be checked with the following commands

sudo svcs -a | grep mysql
sudo svcs -a | grep apache

The Solaris services will take care that the two applications will always run. The will get shutdown when the system will shutdown. They will be automatically be started when the systems gets started.

Installing the Drupal Files

Download the Drupal installation bundle. Unpack the compressed file. Drupal comes in a directory structure with a top level directory named drupal-7.23 for Drupal 7 patch level 23. This directory has to become the Apache document root directory.

The following commands will do this trick for an Apache web server which has nothing in the default document root directory. It will wipe out the content of the current Apache document root!

The command below assumes that the user is in a directory in which the Drupal download is already unpacked.

sudo rm -rf /var/apache/2.2/htdocs
sudo mv drupal-7.23 /var/apache/2.2/htdocs

The Drupal files should be owned by the user webservd. The following commands change the ownership:

sudo chown -R webservd /var/apache/2.2/htdocs
sudo chgrp -R webservd /var/apache/2.2/htdocs

Drupal specific Installation and Postinstallation Tasks

The Drupal installation itself is platform independent. Direct your browser to the target system. The Drupal installation page should appear.

Follow the installation. The installation will require a few file operations as a postinstallation task. They are operating system independent.

Solaris Support for addon Modules

The Drupal technology is based on an extremely small Drupal core installation (as described here). Drupal has hundreds of contributed modules. The quality of the modules differs quite a bit. I have used several dozen of Drupal 6 and 7 modules and I never saw Solaris specific problems on Solaris 10 or 11.

Please leave a comment if you know about a Solaris specific issues. I'm happy to document them here.

Drupal and Solaris Hosting

Open Source application like Drupal don't come with official support statements. There are hosting companies who offer Drupal on Solaris like Strato. This page is managed by a Drupal 6 system hosted through a Solaris 10 instance (see Netcraft report).