Solaris 10 Installation Cookbook

This cookbook describes what you need to do on a Solaris 10 machine to get foswiki running. The basic concept here is to install a minimum of additional software, since most of the needed parts are already installed in Solaris 10. It is mainly written after the InstallationGuide, so look for more info there.

One word about Solaris 9 and older: There is some part already in Solaris 9, while I haven't checked what you would need there. Solaris 8 comes with much fewer open source packages installed, so I'd recommend to build the full stack there without caring much about already installed Solaris packages.

System Requirements

This is tested on a recent Solaris 10 box:
  • Solaris 10u6 (10/08) (sparc)
  • Hardware: Sun T2000
It should work out of the box with older installations, but be sure to have a recent patch set installed. Also take care about the X86 installs - these differ in some slight ways. (still need to grab an X86 box to test the install ...)

Preparing to install

The installation should be done by the root user. I haven't installed in a zone (yet), but this should work like a global zone install.

I've chosen to use the directory /appl/wiki as the base directory of the installation. So this should actually be created (mode 755) and maybe could also be an own filesystem to not clog up the root FS.

Basic Installation: getting Foswiki up and running

To install Foswiki, complete the following steps:

  1. Download and unpack the Foswiki distribution.
  2. Set the file and directory permissions for the installation.
  3. Configure the locations of the Perl executable and the Foswiki modules.
  4. Configure the web server.
  5. Configure Foswiki.
  6. Enable authentication of users (if desired). (see InstallationGuide for this - that's not really solaris specific.)
  7. Define the administrator users. (see InstallationGuide for this - that's not really solaris specific.)

Download, unpack and install needed packages

Download:

  • foswiki distribution: http://foswiki.org/Download
  • Perl modules
    • Digest-SHA1-2.11.tar.gz (only needed for authentication)
    • HTML-Parser-3.60.tar.gz
    • HTML-Tagset-3.20.tar.gz
  • Additional http://sunfreeware.com/ packages:
    • Solaris Sparc:
      • diffutils-2.8.7-sol10-sparc-local.gz
      • rcs-5.7-sol10-sparc-local.gz
    • Solaris X86:
      • diffutils
      • rcs
  • make sure the dependent packages are already installed. Check with pkginfo for the lines:
    • SMCliconv libiconv
    • SMClintl libintl
    • SMClgcc346 libgcc (or gcc346)

Unpack:

  • cd /appl/wiki; gunzip -c Foswiki-1.0.5.tgz |/usr/sfw/bin/gtar xf -
    • yes, this needs GNU tar. Sun Tar does this: tar: ././@LongLink: typeflag 'L' not recognized, converting to regular file
  • link it: cd /appl/wiki; ln -s Foswiki-1.0.5 Foswiki

Install:

See http://sunfreeware.com/download.html how to actually install these. Basically this would be something like:
cd /tmp
gunzip diffutils-2.8.7-sol10-sparc-local.gz
gunzip rcs-5.7-sol10-sparc-local.gz
pkgadd -d diffutils-2.8.7-sol10-sparc-local
pkgadd -d rcs-5.7-sol10-sparc-local
Now check if diff actually works: /usr/local/bin/diff --version should give you the version number and not complain about missing libraries.

Set the file and directory permissions, add further packages

  • change owner: cd /appl/wiki/Foswiki ; chown -R webservd:webservd .
    • The webservd User and group is the standard Solaris webserver user. So this one needs all files under /appl/wiki/Foswiki

Additional files and directories:

  • bin files: Link grep to /usr/sfw/bin.
    • mkdir -m 755 /appl/wiki/bin; cd /appl/wiki/bin
    • ln -s /usr/sfw/bin/ggrep grep

Compile, Configure the locations of the Perl executable and the Foswiki modules

Perl installation stays at /usr/bin/perl. But we still need to compile the modules, which should also go under /appl/wiki to not confuse the solaris package with additional installed perl modules. This is quite different to HowToInstallCpanModules, since we need gnu make, perlgcc and set a special path for the module installation.

User compile

This part can be done as an ordinary user, no need to do this as root. Unpack the perl modules as usual. Compile these with:

PERL5LIB=$PERL5LIB:/appl/wiki/perlmodules
export PERL5LIB
PATH=$PATH:/usr/sfw/bin
cd HTML-Parser-3.60
/usr/perl5/bin/perlgcc Makefile.PL LIB=/appl/wiki/perlmodules
/usr/sfw/bin/gmake MAKE=/usr/sfw/bin/gmake

cd ..
cd HTML-Tagset-3.20
/usr/perl5/bin/perlgcc Makefile.PL LIB=/appl/wiki/perlmodules
/usr/sfw/bin/gmake MAKE=/usr/sfw/bin/gmake

Perl module install

Install the needed modules as root. Go into the base dir of your compile, from there:
umask 022
PERL5LIB=$PERL5LIB:/appl/wiki/perlmodules
export PERL5LIB
cd HTML-Parser-3.60
/usr/sfw/bin/gmake MAKE=/usr/sfw/bin/gmake install

cd ..
cd HTML-Tagset-3.20
/usr/sfw/bin/gmake MAKE=/usr/sfw/bin/gmake install

The umask 022 is just to make sure the files will be accessible by any user. Some sites like to have this as 027 or even 077 to prevent files being installed world-readable

Perl locations

  • LocalLib.cfg: cd /appl/wiki/Foswiki/bin ; cp LocalLib.cfg.txt LocalLib.cfg
  • edit LocalLib.cfg. Fix foswikiLibPath, uncomment @localPerlLibPath and fix.
$foswikiLibPath = "/appl/wiki/Foswiki/lib";
@localPerlLibPath = ( '/appl/wiki/perlmodules', '/appl/wiki/perlmodules/sun4-solaris-64int' ); 

This is the SPARC version of the LocalLib.cfg. For X86 you would need /appl/wiki/perlmodules/i86pc-solaris-64int here. Maybe it would also work to put both in the LocalPerlLibPath here - since we only would want one platform installed here, not both.

Configure the web server

We use the preinstalled apache2 package. This has the config under /etc/apache2 and the log files, html root etc. under /var/apache2.

  • cd /etc/apache2; cp httpd.conf-example httpd.conf
  • create foswiki.conf from apache config generator
    • check this for your site. Perhaps you would like to have authentication stuff outside of this.
  • add include "/etc/apache2/foswiki.conf" to httpd.conf
If needed you can also set up apache login in the httpd.conf.

Start apache2 from svc: svcadm enable apache2.

Configure Foswiki

Run the configure script from your browser (enter http://yourdomain/foswiki/bin/configure into your browser address bar).

  • Security Settings:
    • set SafeEnvPath to /usr/local/bin:/appl/wiki/bin:/usr/sbin:/usr/bin
  • Store settings: Modify the following, without touching the options to all the commands:
    • diff will be found automatically from the SafeEnvPath
    • rcs: /usr/bin/rcs -> /usr/local/bin/rcs
    • grep: /usr/bin/grep -> /appl/wiki/bin/grep
    • ci: /usr/bin/ci -> /usr/local/bin/ci
    • Expert option (this actually only shows up if you select this on top of the page ... )-> {RCS}{breaklockCmd} : /usr/bin/rcs -> /usr/local/bin/rcs
Also fill the other needed values, especially the mail settings. There should be no warnings left.

Where to continue

Now you can head over to the InstallationGuide to actually configure authentication and login. But with this your foswiki installation should already be up.

Acknowledgements

The ideas come from http://twiki.org/cgi-bin/view/Codev/SolarisInstallCookbook, main author is Lars Haarber.

-- JosefSiemes - 27 May 2009
Topic revision: r4 - 14 Sep 2011, JosefSiemes
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy