Thursday Sep 17, 2009

Another small system that could be fun to work with...

xpPhone is now taking preorders (possibly limited to Asia) on an AMD Super Mobile CPU based system (not sure what that is but likely in the Geode family) that could be fun to play with and get OpenSolaris running on it. A little short of RAM (only 512MB) but it will be available with SSD or HDD storate. This is a mobile phone system that comes with Windows XP.

Looking at the specs, etc. it looks a little like a Viliv S5 with physical keyboard. The keyboard slides out and the top is quite clean. With WiFi, FSM/GPRS/EDGE/WCDMA CDMA/CMDA2000, GPS, camera, VGA out, and Bluetooth, it outdoes the Viliv on options.

Anyone want to take this on :-)

An article about it is available at: and the manufacturers site is

Thursday Sep 03, 2009

Drupal - Part Two

Designing a good website is a lot of work. Keep it Simple is always good advice. Also, take things one at a time and make sure they work before going on to the next feature. In all cases, you should think carefully about what you want and how you might want to achieve it. OpenSolaris plus Drupal can make this process a bit simpler and easier to recover from mistakes. The ZFS snapshot mechanism can save the current state of your configuration and let you go back to a previous, working version, if you do something wrong. Drupal usually can let you undo things, but if you don't remember what you did, the snapshot makes it easy to recover.

If you are looking for more information on how to do things with Drupal, there are a number of good books on the subject. The series by Packt Publishing have received good reviews. There are others available as well.

You should also register on the Drupal site so that you can post to the forums. There is also a security list that will let you know when a security problem has been found that you might want to fix on your site. 

Some will want to jump in and make the site look better, but sometimes it is best to get it working with the necessary functionality and change the theme later. That is one of the advantages of the Drupal themeing mechanism. You can change themes at any time and the website gets a new look but the underlying functionality is going to continue to work.  The default theme, Garland, is plain but functional. Work on some of the other features while thinking about what you might want it to look like. Then explore the available themes that you can start with. There are quite a few to choose from.

What are the basic features you might need? You should list these and then see which Drupal modules might meet your needs. Take some care here since there are usually multiple modules that might meet your needs, but some may not work on Drupal 6 and others may work but are no longer supported. This is usually fairly clear in the module description.

Are there third-party applications that you might want to use? A number may already be integrated into Drupal. One of my favorites is Gallery 2. This application has been integrated into Drupal such that it appears to be part of the Drupal system. Google maps is another that can be easily used.

Drupal's built-in forum system is adequate for a lot of users, but you may want something more elaborate. There are others that have integration modules available for Drupal as well. The same is true for blog support. If you need a website with different sections that have different capabilities, you might want to explore Organic Groups. Make sure you understand how they work before plunging in since OG can be confusing.

When downloading new modules, untar the file into sites/all/modules in order to keep add-on modules separate from the core modules. Once a module is installed, you can go to the Site Building/Modules section of the Administration section of your website. First you enable it and then you can go to the administer by module page to configure the module.

Along with the various modules available, there is a full implementation of roles for users with access control based on the role(s) a user is assigned to. The most useful feature here is that you can delegate the ability to post text to some users and not allow others to even see it.

What does all of this have to do with small systems? It doesn't really take much of a server to be able to support Drupal unless you are going to have a very large number of active users. Some of the small servers available today are much more powerful than some of the big servers of only a year or two ago. Memory is usually the limiting factor, so choose a system that has 2 or more gigabyte address space for such a server.

Back to themes. The default themes in Drupal are functional, if not the most exciting. They all pretty much let you change the title of the website, provide a slogan and/or mission statement and most let you place your logo and favicon on the site as well. Themes, like modules, should be installed in the site specific directory.  Themes go in sites/all/themes.  Some interesting themes that are availbable are Zen (an easily customized and modifed theme), Acquia Marina, Acquia Slate, Abarre, and quite a few others. Once installed on your system, you can easily see how your site will look once you configure the theme. It is also possible to allow users to choose which of a selection of themes they will see when logged in.

Wednesday Sep 02, 2009

Building small server appliances: Drupal

This is the start of a series of articles about building some small dedicated servers for home use.

This first article discusses Drupal, an OpenSource Content Management System (CMS). You might ask "why use a CMS for a web server?"  A CMS will make life simpler, especially if you are providing a variety of services. Even for home use, a CMS can be quite useful. For one, it can split out sections of your site for different family members and provide reasonable levels of security while doing so. For a small office, it becomes even more useful since a lot of different services are usually already integrated into them and that makes it easier to get what you want.

Why Drupal? That's the system I know best. It has regularly been named one of the "Best OpenSource CMS" systems. There are others, Joomla comes to mind, but Drupal is the one I know. The source, documentation and other resources are available at Drupal.Org. Drupal may be overkill for what you need, so do read about it before plunging in.

What can Drupal provide?

Out of the box, so to speak, Drupal provides an AMP based CMS system with bare bones functionality. Drupal's strength comes in its many plugin extensions and the extensive set of "themes" that are available.  Basic functionality includes:

Before installing Drupal, install the required software. Drupal needs the "AMP" stack (Apache, MySQL and PHP). This can be done with
pfexec pkg install amp
if you have install priviledges.

Installing Drupal is straightforward and well documented. Download the current release of Drupal 6 (this is the preferred version for new implementations). You can untar the package and then move the contents of the package into /var/apache2/2.2/htdocs/ to create the Drupal basic configuration.
Don't enable Apache yet.

Next, read the INSTALL.mysql file in htdocs. This tells you about setting up MySQL. The basic sequence is:

  • running as mysql, "mysql_install_db" to get the basic configuration setup

  • enable the mysql service  (need root priviledge -- svcadm enable mysql)

  • setup the root user of the mysql daemon following the instructions in INSTALL.mysql (running as mysql)

    • mysqladmin -u root password 'your root mysql password'

    • mysqladmin -u root -h <hostname> password 'your root mysql password'

    • mysqladmin -u root -p create <database-for-your-site>  (use the password defined above)

    • mysql -u root -p
      ON database-for-your-site.\*
      TO 'drupaldatabaseuser'@'localhost' IDENTIFIED BY 'password';
      (the drupaldatabaseuser and password are the identifiers you will use to let Drupal access mysql

  • Now as a priviledged user, you can enable Apache2 (svcadm enable apache22)

  • In /var/apache2/2.2/htdocs/sites/default, do the following:

    • cp default.settings.php to settings.php

    • chmod 755 settings.php

    • mkdir files

    • chmod 755 files

At this point,you are now ready to do the rest of the Drupal setup through the Drupal user interface via your favorite browser. You will follow the instructions and be guided through the process. Note that Drupal will tell you when to change the permissions on settings.php in order to make a secure implementation.  All the files should be owned by the user that Apache runs as. The default is "webservd".

You are now ready to configure the functionality of your website. I'll cover this a bit in the next installment, but you should go and read some of the documentation on the Drupal.ORG website. The "Getting Started" guide, following the Drupal 6 paths will give a good overview of what you can do with your website. You will also want to give some thought to the look you might want.


Discusses the use of OpenSolaris in small systems. Includes the use of OpenSolaris in appliances for small business and consumer products. Reviews of system boards, small systems and interesting applications will also be covered.


« September 2009 »