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:
- Download and unpack the Foswiki distribution.
- Set the file and directory permissions for the installation.
- Configure the locations of the Perl executable and the Foswiki modules.
- Configure the web server.
- Configure Foswiki.
- Enable authentication of users (if desired). (see InstallationGuide for this - that's not really solaris specific.)
- 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:
- 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
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.
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
.
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