Here's my little guide (maybe not so little) to help with setting up TWiki on a Sun Fire T2000 running Solaris 10. I started with the Cool Stack but quickly found that I needed a few other pieces of software to get everything working properly. I also wanted LDAP support which wasn't enabled in Cool Stack. All of these software packages always have new releases, I provided version number just for reference. Please send me feedback, I'm sure some of this isn't as clear as it can be.
Setup Solaris 10 11/06 (or update 3, I'll cover this in a seperate entry) and install CoolTuner which will keep your Sun Fire T1000 or T2000 updated with the latest tunning parameters and patches.
We also need a few additional pieces of software to support TWiki. The additional software pieces are:
rcs-5.7
patch-2.5.4
diffutils-2.8.1
grep-2.5.1a
make-3.81
Download and untar each of the above packages and use the following commands to build. The compiler flags provide a very good level of optimization and we want the install to be placed in /usr/local. Make sure that the Sun Studio 11 compilers and /usr/local/bin are in your path first.
CFLAGS="-xO4 -xtarget=generic" ./configure --prefix=/usr/local
make
make install
Install CSQamp, CSQperl packages from Cool Stack. Cool Stack installs into /usr/local.
I found that the CSQperl needed a number of extensions added to it. CSQperl is based on Perl 5.8.8. Here's are the key parameters need edwhen you run Configure. Use the defaults in most cases.
Invoked as: CFLAGS="-xO4 -xtarget=generic" ./Configure
Use dynamic libraries
Make libperl dynamic
Use these flags: -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV
Use this library path: /lib /usr/lib
Use these optimization flags: -x04 -xtarget=generic
Here are the perl extensions to add. I used cpan to grab and build the additional extensions, it much easier this way since it understands dependences on other extensions and will grab and build those too.
Next we need to build OpenLDAP, I built version 2.3.27 but there is going to be newer versions.
export CPPFLAGS="-I/usr/sfw/include"; export LDFLAGS="-L/usr/sfw/lib"; \
export CFLAGS="-xO4 -xtarget=generic -D_AVL_H"
./configure --prefix=/usr/local \
--sysconfdir=/etc/openldap \
--with-openssl=/usr/sfw \
--with-tls \
--disable-slurpd \
--disable-slapd
make depend
make
make install
Now Apache will need to be rebuild to include support for LDAP. The following is based on how CSQamp builds apache and I've added the additional options to build LDAP support with OpenLDAP.
The package libiconv, libxml, php and mysql that are included in Cool Stack are included in CSQamp, don't need to be re-compiled but if you want here are the commands:
/usr/local/php/bin/phpize
CFLAGS="-xO4 -xtarget=generic" \
/bin/php-config --enable-apc-mmap --enable-apc-sem
The following line should be used for the standalone php in CSQphp package
CFLAGS="-xO4 -xtarget=generic" \
./configure --enable-apc --with-php-config=/usr/local/php5_fastcgi/bin/php-config \
--enable-apc-mmap --enable-apc-sem
Apache adds
There are lots of parameters that can be placed into the httpd.conf file and I will not go through them all since it really depends on your specific setup. Here are a few essential ones.
Add LoadModules for mod_perl and mod_ldap
LoadModule perl_module modules/mod_perl.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule auth_ldap_module modules/mod_auth_ldap.so
Add parameters for mod_ldap
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600
Add authentication for the twiki/bin directory
Directory "{path to twiki install}/twiki/bin/">
AllowOverride All
Allow From All
Options ExecCGI
SetHandler cgi-script
AuthType Basic
AuthName "LDAP Login"
AuthLDAPURL ldap://{server}:389/ou=people,dc=sun,dc=com?uid
< / Directory>
TWiki can be installed into the docroot root and here are a few things to add.
edit all files in /bin to use /usr/local/bin/perl
add lib/LocalSite.cfg
add bin/LocalLib.cfg
add bin/.htaccess
add twiki/tools/mod_perl_starutp.pl from http://twiki.org/cgi-bin/view/Codev/ModPerlUnix
when runnin configure for TWiki make sure to everything is clean, no error or warnings.
Three essential plugins are:
LdapContrbLdapNgPluginNewUserPlugin
Some other additional TWiki plugins I've found useful and the perl extensions that will be needed.
ActionTrackerPlugin
Time::ParseDate
Time-modules-2006.0814
CalendarPlugin
Date::Calc
Date-Calc-5.4
Bit::Vector
Bit-Vector-6.4
Carp::Clan
Carp-Clan-5.8
HTML::CalendarMonthSimple
HTML-CalendarMonthSimple-1.25
EditInTablePlugin
ImageGalleryPlugin
LinkOptionsPlugin
RedirectPlugin
Comments:
Most of the GNU tools you mention are already bundled with Solaris (ggrep, gmake, gpatch, etc).
Posted by
Toby
on January 21, 2007 at 06:56 AM PST
#
True those tools are bundled with Solaris under the /opt/sfw but they have the 'g' added to their names and configure doesn't look for those by default.
Posted by
Dwayne
on January 25, 2007 at 10:25 AM PST
#
Posted by Toby on January 21, 2007 at 06:56 AM PST #
Posted by Dwayne on January 25, 2007 at 10:25 AM PST #