Sun SPARC Solaris 8

    Disclaimer: This page is intended for a Solaris-savvy (geeky) audience.  ;)

    IMPORTANT NOTICE

    • This is *NOT* official guide so that I hope you find it informative.

    • This document was from official page :
      http://wiki.opengarden.org/Deki_Wiki/Installation_and_Upgrade/1.8_Hayes_Official_Install_and_Upgrade_Guide
      Please referer "Official" guide to get the latest information.

    • many of the steps below have Solaris and/or Software-packages specific components and pathnames. If you have modifications to this install guide for other version of Solaris and/or Software-packages create a install guide, add the modifications and name it for the distro it's intended for.

     

    This guide provides steps for installing Deki Wiki Hayes from source code. There may be hurdles to install Deki Wiki on Solaris, but may passible if you sucess.


    Fresh Install:


    Assumed Environment

    • Sun SPARC Solaris 8
      ( I seem that Deki Wki may work to Solaris 9.x-10.x or Intel version of Solaris, but unconfirmed )
    • Apache 2.x
    • MySQL 5.0.X
      NOTE: Deki Wiki Hayes uses stored procedures and is therefore incompatible with MySQL 4.x
    • PHP 5.X
      NOTE: Deki Wiki Hayes uses the PHP5 object model and is therefore incompatible with PHP4
    • Mono 1.2.x
      NOTE : USE the latest Mono from SVN . There are Mono-1.2.6 as "stable" but due to some bugs, the Deki Wiki does not work on it. )

    Install Solaris 8

    Install the Solaris 8 Operating Environment.

    Following installation condition are shown as referencs, which installed to testing environment.

    Software media

    • Solaris 8 H/W 7/03 CD-ROM

    Machine

    • SUNW, Sun-Blade-1000 (1 x Ultra SPARC-III 750MHz CPU, 1024MByte memory, 1 x 18GByte Disk)

    Solaris Operating Environment

    • Solaris Install Console
    • Language : English
    • Locale : English (C -7-bit ASCII)

      Networking
    • Networked : Yes
    • Use DHCP : No
    • Primary Network interface: eri0
    • Host name: <hostname>
    • IP address : xxx.xxx.xxx.xxx
    • System part of a subnet : Yes
    • Netmask : 255.255.255.0
    • Enable IPv6 : No

      Security Policy
    • Kerberos Security : No

      Name Service
    • Name Service: DNS
    • Domain Name : mydomain.com.
    • Server's IP address: yyy.yyy.yyy.yyy
    • search domain : mydomain.com.

      Time Zone
    • Time zones : Japan

      Date and Time
    • Date and time : Adjust a your clock

      Solaris Interactive Installation
    • Installation Option: Initial
    • Boot Device : c1t3d0 (17269MB)
    • Client Service : None
    • Locales: This will be OPTIONAL for you need
      I added Japanese EUC(ja), Japanese PC Kanji (ja_JP.PCK), Japanese UTF-8 (ja_JP.UTF-8) for Japanese user. But other CD-ROM will require for localization, detail are below.
    • Software : Solaris 8, Entier Distribution Plus OEM support  (64-bit Support)
    • File System and Disk Layout :
      # File System Disk Size
      0 /          c1t3d0s0 17269MB
      2 overlap c1t3d0s2 17269MB


      The "Solaris 8 Languages CD" required for this locale. No needs for non japanese region.
    • Solaris 8 Japanese Localization
    • Solaris 8 Japapese Common Localization
    • Solaris 8 Japanese EUC Localization
    • Solaris 8 Japanese UTF-8 Localization
    • Solaris 8 Japanese PCK Localization
    • Asian User Defined Character Tool for CDE
    • SunOS 4.x Asian Compatibility Localization


      After installation I recommend to apply latest Patch Cluster to Solaris, I use following from Sun. This will take a while.
    • NAME: Solaris 8 Recommended Patch Cluster
    • DATE: Feb/11/08


      Some Solaris pache(s) required by Apache2 package
    • 115831-01 SunOS 5.8: /usr/lib/libuuid.so.1 patch

    Prepare to get started with Blastwave.org

    Follow to next instruction to use the Blastware.org.

    http://www.blastwave.org/howto_S8.html

    All Steps (Step 0 to Step 7 and in red frame security concerns) in this document needed, and processed without problem. 

    Main task list is here:

    • Install pkg-get
      copy http://www.blastwave.org/pkg_get.pkg into /tmp/
      # pkgadd -d /tmp/pkg_get.pkg all

    • Install wget temporally
      copy http://www.blastwave.org/wget-sparc.bin as /tmp/wget
      # chmod 755 /tmp/wget
      # PATH=/tmp:/opt/csw/bin:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin
      # export PATH

    • Edit the pkg-get configuration file
      # vi /opt/csw/etc/pkg-get.conf
      I edited http_proxy, ftp_proxy, export http_proxy ftp_proxy, and enabled they.

    • Install wget complete
      # pkg-get -i wget
      # rm /tmp/wget
      # PATH=/opt/csw/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/dt/bin:/usr/ccs/bin
      # export PATH

    • Install gnupg, md5.
      # /opt/csw/bin/pkg-get -i gnupg textutils
      # ls -lt /var/sadm/pkg/ | grep CSW
      drwxr-xr-x   4 root     other        512 Feb 24 07:58 CSWtextutils
      drwxr-xr-x   4 root     other        512 Feb 24 07:58 CSWgnupg
      drwxr-xr-x   4 root     other        512 Feb 24 07:56 CSWperl
      drwxr-xr-x   4 root     other        512 Feb 24 07:55 CSWgdbm
      drwxr-xr-x   4 root     other        512 Feb 24 07:55 CSWbdb44
      drwxr-xr-x   4 root     other        512 Feb 24 07:54 CSWcurlrt
      drwxr-xr-x   4 root     other        512 Feb 24 07:54 CSWlibidn
      drwxr-xr-x   4 root     other        512 Feb 24 07:54 CSWreadline
      drwxr-xr-x   4 root     other        512 Feb 24 07:54 CSWbzip2
      drwxr-xr-x   4 root     other        512 Feb 24 07:53 CSWzlib
      drwxr-xr-x   4 root     other        512 Feb 24 07:53 CSWoldaprt
      drwxr-xr-x   4 root     other        512 Feb 24 07:52 CSWsasl
      drwxr-xr-x   4 root     other        512 Feb 24 07:49 CSWbdb4
      drwxr-xr-x   4 root     other        512 Feb 24 07:48 CSWossl
      drwxr-xr-x   4 root     other        512 Feb 24 07:47 CSWosslutils
      drwxr-xr-x   4 root     other        512 Feb 24 07:47 CSWossldevel
      drwxr-xr-x   4 root     other        512 Feb 24 07:46 CSWlibnet
      drwxr-xr-x   4 root     other        512 Feb 24 07:46 CSWggettext
      drwxr-xr-x   4 root     other        512 Feb 24 07:46 CSWexpat
      drwxr-xr-x   4 root     other        512 Feb 24 07:46 CSWiconv
      drwxr-xr-x   4 root     other        512 Feb 23 21:44 CSWwget
      drwxr-xr-x   4 root     other        512 Feb 23 21:43 CSWosslrt
      drwxr-xr-x   4 root     other        512 Feb 23 21:43 CSWcommon
      drwxr-xr-x   4 root     other        512 Feb 23 21:38 CSWpkgget

    • Install pgp.key
      # cd /tmp/
      # /opt/csw/bin/wget --output-document=pgp.key http://www.blastwave.org/mirrors.html
      # gpg --import pgp.key
      # rm pgp.key

    Setting up working environment

    Create /.bash_profile file to build the Deki Wiki world.

    # cat /.bash_profile
    export PATH=/opt/csw/bin:/opt/csw/gcc3/bin:/opt/csw/mysql5/bin:/opt/csw/php5/bin:\
    /usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ucb:/usr/ccs/bin
    export LD_LIBRARY_PATH=/opt/csw/lib:/opt/csw/mysql5/lib:/opt/csw/php5/lib:/usr/lib
    export MAN_PATH=/opt/csw/man:/usr/man
    export PAGER=/opt/csw/bin/less
    export LDFLAGS="-L/opt/csw/lib"
    export CPPFLAGS="-I/opt/csw/include -I/usr/include"
    export XFILESEARCHPATH=/opt/csw/lib/X11/%T/%N%C:/usr/openwin/lib/X11/%T/%N%C
    alias make=gmake
    alias as=gas
    

    Afer this point I use /bin/bash as command line interpreter.

    bash -login 


    (OPTIONAL)
    Create $HOME/.wgetrc to specify wget defaults. For example put proxy definition on corporate network.

    # cat /.wgetrc
    http_proxy=http://proxy.mydomain.com:8080
    ftp_proxy=http://proxy.mydomain.com:8080

    NOTE:

    • Environment variables for the wget command to use corporate proxy service (ex: http_proxy, ftp_proxy) may produce some side effects by the action of other command(s) or software.

    Install GNU toolchain and other stuff packages to build Mono

    # pkg-get -i less
    # pkg-get -i curl
    
    # pkg-get -i binutils
    # pkg-get -i bison
    # pkg-get -i flex
    # pkg-get -i gawk
    # pkg-get -i gmake
    # pkg-get -i gsed
    # pkg-get -i gtar
    # pkg-get -i gcc3
    # pkg-get -i ggrep
    # pkg-get -i glib
    # pkg-get -i glib2
    # pkg-get -i gtk
    # pkg-get -i pkgconfig
    

    Build and Install the Mono from the latest SVN

    The Mono daily package can obtain from the Mono-Project site.
    You should build the Mono from source code as new as possible because 1.2.6-release of Mono doe's not work with Deki Wiki.

    There are two pages to get the Mono sources, but according to my experience,
    the forefront of (1)"Mono Daily Packages" obtain easy success,
    but in the latter case (2)"Mono trunk Sources" I failed by core dumped error.
    So that I recommend that you should be select (1)"Mono Daily Packages" expect as otherwise your need.

    (1)Mono Daily Packages
    http://mono.ximian.com/daily/ 

    (2)Mono trunk Sources
    http://mono.ximian.com/monobuild/snapshot/sources-trunk/

    NOTE:  There are helpful information to build the Mono from source.
    Jonel Rienton's Blog >  Solaris 10 x86 and Mono (4/01/2006)
    http://blogs.rientongroup.com/jonel/2005/04/solaris-10-x86-and-mono.aspx


    Extract Mono from archive, and run confgure on your working directory.
    Please replace the Mono archive name with the latest name.

    # cd /
    # wget http://mono.ximian.com/daily/mono-20080223.tar.bz2
    # bzip2 -d < mono-20080223.tar.bz2 | gtar xf -
    # cd mono-20080223/
    # MAKE=gmake AR=gar RANLIB=granlib STRIP=gstrip AS=gas CC=/opt/csw/gcc3/bin/gcc CFLAGS="-g -O2" \
    ./configure --prefix=/opt/csw \
    --with-tls=pthread --with-includes=/opt/csw/include/ --with-libs=/opt/csw/lib/
    (snip)
    
            mcs source:    $(top_srcdir)/mcs
            olive source:
    
            GC:          included
            TLS:         pthread
            SIGALTSTACK: yes
            Engine:      Building and using the JIT
            2.0 Beta:    yes
            2.1 Alpha:   yes
            JNI support: IKVM Native
            libgdiplus:  assumed to be installed
            zlib:        system zlib
            oprofile:    no 

          

    Then make the Mono at the top of source tree.
    This task take an hour, so you can take a coffee or cup of tea :)

    # gmake
     (snip)
    sed -e 's,@''bindir@,/opt/csw/bin,g' -e 's,@''plat_bindir@,/opt/csw/bin,g' -e 's,@'
    'mono_instdir@,/opt/csw/lib/mono,g' -e 's,@''gtkdir@,,g' -e 's,@''mono_interp@,mono 
    --debug,g' -e 's,@''framework_version@,2.0,g' -e 's,@''exe_name@,nunit-console,g' .
    /script.in > nunit-console2.tmp
    mv nunit-console2.tmp nunit-console2
    gmake[2]: Leaving directory `/mono-20080223/scripts'
    Making all in man
    gmake[2]: Entering directory `/mono-20080223/man'
    gmake[2]: Nothing to be done for `all'.
    gmake[2]: Leaving directory `/mono-20080223/man'
    Making all in samples
    gmake[2]: Entering directory `/mono-20080223/samples'
    gmake[2]: Nothing to be done for `all'.
    gmake[2]: Leaving directory `/mono-20080223/samples'
    Making all in web
    gmake[2]: Entering directory `/mono-20080223/web'
    gmake[2]: Nothing to be done for `all'.
    gmake[2]: Leaving directory `/mono-20080223/web'
    Making all in msvc
    gmake[2]: Entering directory `/mono-20080223/msvc'
    gmake[2]: Nothing to be done for `all'.
    gmake[2]: Leaving directory `/mono-20080223/msvc'
    gmake[2]: Entering directory `/mono-20080223'
    gmake[2]: Leaving directory `/mono-20080223'
    gmake[1]: Leaving directory `/mono-20080223'

    NOTE:

    • if you seen "Segmentation Fault - core dumped" error, then try to re-run "gmake" once more.

         

    Then run self tests.

    # gmake CC=gcc check
     (snip)
    Testing finalizer-abort.exe... Abort - core dumped
    failed 34304 (134) signal (0).
    Testing finalizer-exception.exe... Abort - core dumped
    failed 34304 (134) signal (0).
    Testing finalizer-exit.exe... pass.
     (snip)
    Testing invalid-token.exe... pass.
    231 test(s) passed. 2 test(s) did not pass.
     
    Failed tests:
     
    
    finalizer-abort.exe
    finalizer-exception.exe
    gmake[4]: *** [testjit-default] Error 1
    gmake[4]: Leaving directory `/mono-20080223/mono/tests'
    gmake[3]: *** [check-am] Error 2
    gmake[3]: Leaving directory `/mono-20080223/mono/tests'
    gmake[2]: *** [check-recursive] Error 1
    gmake[2]: Leaving directory `/mono-20080223/mono/tests'
    gmake[1]: *** [check-recursive] Error 1
    gmake[1]: Leaving directory `/mono-20080223/mono'
    gmake: *** [check-recursive] Error 1
    #

    OOPS ! As shown above, self tests was NOT success, but I can't fix it. :(

    So that, go ahead !

    Install Mono into your Solaris box.

    # gmake install
    # . /.bash_profile
    # ldd /opt/csw/bin/mono
            libgthread-2.0.so.0 =>   /opt/csw/lib/libgthread-2.0.so.0
            libthread.so.1 =>        /usr/lib/libthread.so.1
            libglib-2.0.so.0 =>      /opt/csw/lib/libglib-2.0.so.0
            libintl.so.3 =>  /opt/csw/lib/libintl.so.3
            libiconv.so.2 =>         /opt/csw/lib/libiconv.so.2
            libc.so.1 =>     /usr/lib/libc.so.1
            librt.so.1 =>    /usr/lib/librt.so.1
            libdl.so.1 =>    /usr/lib/libdl.so.1
            libsocket.so.1 =>        /usr/lib/libsocket.so.1
            libnsl.so.1 =>   /usr/lib/libnsl.so.1
            libxnet.so.1 =>  /usr/lib/libxnet.so.1
            libpthread.so.1 =>       /usr/lib/libpthread.so.1
            libm.so.1 =>     /usr/lib/libm.so.1
            libsunmath.so.1 =>       /opt/csw/lib/libsunmath.so.1
            libaio.so.1 =>   /usr/lib/libaio.so.1
            libmp.so.2 =>    /usr/lib/libmp.so.2
            /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
    # /opt/csw/bin/mono -V
    Mono JIT compiler version 20080223 (tarball)
    Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
            TLS:           normal
            GC:            Included Boehm (with typed GC)
            SIGSEGV:       normal
            Notification:  Thread + polling
            Architecture:  sparc
            Disabled:      none
    # /opt/csw/bin/gmcs --version
    Mono C# compiler version 2008.223.0.0
    # cd /


    (OPTIONAL)
    If you want to get support for System.Drawing, you can install the libgdiplus as mentioned below, but NO need for run Deki Wiki in my experience.
    pkg-get -i libexif
    pkg-get -i libungif
    cd /
    wget http://go-mono.com/sources/libgdiplus/libgdiplus-1.2.6.tar.bz2
    bzip2 -d < libgdiplus-1.2.6.tar.bz2 | gtar xf -
    cd libgdiplus-1.2.6/
    GREP=ggrep MAKE=gmake AR=gar RANLIB=granlib STRIP=gstrip AS=gas CC=/opt/csw/gcc3/bin/gcc \
    ./configure --prefix=/opt/csw --with-includes=/opt/csw/include/ --with-libs=/opt/csw/lib/
    gmake
    gmake install

    Install MySQL5 database management system

    I use mysql5-5.0.51 package.

    # pkg-get -i mysql5
    

     Following packages ware installed:

    • isaexec
    • mysql5
    • mysql5client
    • mysql5rt
    • pm_dbdmysql
    • pm_dbi
    • pm_netdaemon
    • pm_plrpc

    First time installation I use quick_start-csw command to create initial database.

    # /opt/csw/mysql5/share/mysql/quick_start-csw
     
    This is the blastwave quick start script to setup a MySQL5 database
      directory.
     
      The base directory is /opt/csw/mysql5.
      The default database directory is /opt/csw/mysql5/var.
     
      If you have not setup a partition for the database and
      you want one; now is a good time to exit this script and
      create and mount the partition.
     
      If you have not setup a my.cnf file and you do not want
      one of the sample files; now is a good time to exit and
      create the file /opt/csw/mysql5/my.cnf.
     
    Data directory: The default is /opt/csw/mysql5/var.
     
    Accept the default or enter a directory [?,q] 
     
    my.cnf pathname: The default is either to use the supplied file in
      the base directory or to create one in the base directory from
      the small memory footprint sample.  If your enter a pathname,
      it will be used to create the options file in the base directory.
     
    
    Accept the default or enter a pathname [?,q]
    Using /opt/csw/mysql5/share/mysql/my-small.cnf to create the options file.
    data directory is /opt/csw/mysql5/var
     
    Continue with installation or quit [y,n,?,q]
    Setting up the database
    Creating MySQL core database in /opt/csw/mysql5/var
     
    ###  The following messages are from mysql_install_db.
    /opt/csw/mysql5/bin/mysql_install_db: !: not found
    /opt/csw/mysql5/bin/mysql_install_db: !: not found
    Installing MySQL system tables...
    OK
    Filling help tables...
    OK
     
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
     
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    /opt/csw/mysql5/bin/mysqladmin -u root password 'new-password'
    /opt/csw/mysql5/bin/mysqladmin -u root -h localhost password 'new-password'
     
    Alternatively you can run:
    /opt/csw/mysql5/bin/mysql_secure_installation
    
    
     
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
     
    See the manual for more instructions.
     
    
    You can start the MySQL daemon with:
    cd /opt/csw/mysql5 ; /opt/csw/mysql5/bin/mysqld_safe &
    
     
    You can test the MySQL daemon with mysql-test-run.pl
    cd mysql-test ; perl mysql-test-run.pl
    
     
    Please report any problems with the /opt/csw/mysql5/bin/mysqlbug script!
     
    The latest information about MySQL is available on the web at
    http://www.mysql.com
    Support MySQL by buying support/licenses at http://shop.mysql.com
     
    ###  The following messages are from quick_start-csw.
    See /opt/csw/mysql5/share/mysql/doc/README.CSW for packaging changes.
    Please ignore references to starting mysqld_safe in the messages above.
      These messages are from mysql_install_db.  See the following
      for starting CSWmysql5.
    To start mysqld; run `/etc/init.d/cswmysql start` on Solaris 9 or earlier

    Start MySQL daemon.

    # /etc/init.d/cswmysql5 start
    Starting mysqld:                                            [  OK  ]
    Starting mysqld daemon with databases from /opt/csw/mysql5/var

    (OPTIONAL but RECOMMENDED)
    Change the "MySQL root" user password if you need.

    /opt/csw/mysql5/bin/mysqladmin -u root password new-password

    Install Apache HTTP Server

    # pkg-get -i apache2
    

    Following packages ware installed:

    • ap2_prefork
    • apache2
    • apache2c
    • apache2rt
    • sqlite3

    Install PHP 5, mod_php5 and PEAR libraries

    # pkg-get -i ap2_modphp5

    Following package ware installed:

    • ap2_modphp5
    • krb5_lib
    • libmm
    • libxml2
    • php5
    • unixodbc

    # pkg-get -i php5_gd
    # pkg-get -i php5_curl
    # pkg-get -i php5_mysql
    # pkg-get -i php5_mcrypt
    # pkg-get -i php5_mhash
    

    Following package ware installed:

    • fontconfig
    • freetype2
    • gd
    • jpeg
    • libmhash
    • libmcrypt
    • libtool
    • libtool_rt
    • php5_curl
    • php5_gd
    • php5_mhash
    • php5_mysql
    • php5_mcrypt
    • png
    • t1lib
    • xpm

    Install PEAR and DekiWiki required modules

    # pear config-set http_proxy http://proxy.mydomain.com:8080
        config-set succeeded
    # pear channel-update pear.php.net
        Updating channel "pear.php.net"
        Update of Channel "pear.php.net" succeeded
    # cd /tmp
    # wget http://pear.php.net/go-pear.phar
    # /opt/csw/php5/bin/php go-pear.phar
    
    Below is a suggested file layout for your new PEAR installation.  To
    change individual locations, type the number in front of the
    directory.  Type 'all' to change all of them or simply press Enter to
    accept these locations.
    
     1. Installation base ($prefix)                   : /opt/csw/php5
     2. Temporary directory for processing            : /tmp/pear/install
     3. Temporary directory for downloads             : /tmp/pear/install
     4. Binaries directory                            : /opt/csw/php5/bin
     5. PHP code directory ($php_dir)                 : /opt/csw/php5/lib/php
     6. Documentation directory                       : /opt/csw/php5/docs
     7. Data directory                                : /opt/csw/php5/data
     8. User-modifiable configuration files directory : /opt/csw/php5/cfg
     9. Public Web Files directory                    : /opt/csw/php5/www
    10. Tests directory                               : /opt/csw/php5/tests
    11. Name of configuration file                    : /opt/csw/php5/etc/pear.conf
    
    1-11, 'all' or Enter to continue: (hit a [Return] key)
     (snip)
    # pear install XML_RPC
    # pear install Cache_Lite
    # pear list
    Installed packages, channel pear.php.net:
    =========================================
    Package          Version State
    Archive_Tar      1.3.2   stable
    Cache_Lite       1.7.2   stable
    Console_Getopt   1.2.3   stable
    PEAR             1.7.1   stable
    Structures_Graph 1.0.2   stable
    XML_RPC          1.5.1   stable

     (OPTIONAL but RECOMMENDED)
    Update your PHP error reporting level to show all errors, except for notices and coding standards warnings 

    # cp -pi /opt/csw/php5/lib/php.ini /opt/csw/php5/lib/php.ini.orig
    # vi /opt/csw/php5/lib/php.ini
    
    edit as follows
    
     from: 
    error_reporting  =  E_ALL
    allow_call_time_pass_reference = Off
    
     to: 
    error_reporting = E_ALL & ~E_NOTICE 
    allow_call_time_pass_reference = On
    

     

    Install Other tools

    The ImageMagick  - Image Manipulation Tool - required for Deki Wiki to create thumbnail of pucture.

    # pkg-get -i imagemagick

    Following package ware installed: 

    • fam
    • gconf2
    • ghostscript
    • gnomevfs2
    • gnutls
    • gsfonts
    • gtk2
    • imagemagick
    • jasper
    • jbig2dec
    • jbigkit
    • lcms
    • libart
    • libatk
    • libbonobo2
    • libcairo
    • libcroco
    • libcups
    • libfpx
    • libgcrypt
    • libglade2
    • libgnomecanvas
    • libgnomecups
    • libgnomeprint
    • libgnomeprintui
    • libgpg_error
    • libgsf
    • libidl
    • libpango
    • libpopt
    • librsvg
    • libxft2
    • libxrender
    • opencdk
    • orbit2
    • render_dev
    • samba_lib
    • tiff
    • wmf

     

    Some package are required for Deki Wiki to convert a Page to PDF file.

    # pkg-get -i curl
    # pkg-get -i htmldoc
    # pkg-get -i aspell
    # pkg-get -i aspellen
    # pkg-get -i wv2
    
    • curl
    • fltk
    • htmldoc
    • aspell
    • aspellen
    • wv2

     

    The Subversion version control are required for Deki Wiki to get the latest information for Deki Wiki from the Internet.

    # pkg-get -i subversion
    • neon
    • subversion

     

    Install the html2ps which need to convert Deki Wiki's page to PDF file.

    # cd /tmp
    # wget http://user.it.uu.se/~jan/html2ps-1.0b5.zip
    # unzip html2ps-1.0b5.zip
    # cd html2ps-1.0b5/
    # perl install
    Do you want to proceed with the installation? [y]:
    
    Searching for Image/Magick.pm: found (/opt/csw/lib/perl/site_perl/Image/Magick.pm)
    Searching for LWP/UserAgent.pm: not found
    Searching for ImageMagick: found (/opt/csw/bin/mogrify)
    Searching for djpeg: found (/opt/csw/bin/djpeg)
    Searching for TeX: not found
    Searching for dvips: not found
    Searching for Ghostscript: found (/opt/csw/bin/gs)
    Searching for weblint: not found
    Searching for lynx: not found
    Searching for wget: found (/opt/csw/bin/wget)
    
    By default all files will be installed in subdirectories 'bin', 'lib',
    and 'man' in a common directory. Is this OK? [y]:
    
    Enter the name of this directory (full path) [/usr/local]: /opt/csw
    Created directory /opt/csw/lib/html2ps
    
    Enter the default paper type, possible choices are:
    A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
    B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10,
    letter, legal, arche, archd, archc, archb, archa,
    flsa, flse, halfletter, 11x17, ledger, other [A4]:
    
    Installing html2ps in /opt/csw/bin
    Installing html2psrc in /opt/csw/lib/html2ps
    Installing html2ps.1 in /opt/csw/man/man1
    Installing html2psrc.5 in /opt/csw/man/man5
    Installing hyphen.tex in /opt/csw/lib/html2ps
    Installing html2ps.html in /opt/csw/lib/html2ps
    
    # ls -l html2ps.html html2ps.ps
    -rw-r--r--   1 root     other      62879 Dec 11  2005 html2ps.html
    -rw-r--r--   1 root     other      98867 Mar  1 22:29 html2ps.ps
    
    # which html2ps
    /opt/csw/bin/html2ps

    Download Hayes Bits

    Download Hayes build from one of the following sources.

    Extract the archive to your home directory:

    cd $HOME
    wget http://jaist.dl.sourceforge.net/sourceforge/dekiwiki/Deki_Wiki_1.8.3c_Hayes_source.tar.gz
    gtar xfvz Deki_Wiki_1.8.3c_Hayes_source.tar.gz
    cd Deki_Wiki_1.8.3c_Hayes_source

    Copy web files to your apache share directory.

    NOTE:
    The Blastwave.com 's Apache package configured to use "/opt/csw/apache2/share/htdocs" as DocumentRoot, but I choose "/opt/csw/apache2/share/deki-hayes" to DocumentRoot for Deiki Wiki's exclusive use.

    mkdir /opt/csw/apache2/share/deki-hayes 
    cp -r web/*  /opt/csw/apache2/share/deki-hayes 
    chown -R nobody:nogroup /opt/csw/apache2/share/deki-hayes
    
    

    (OPTIONAL)
    If you use Internet Explorer 6.0 browser, I recommend to do next ops to avoid link error for Deiki Wiki 1.8.3c.

    cd /opt/csw/apache2/share/deki-hayes/skins/
    cp common/icons/icon-*.gif ace/neutral/
    cp common/icons/icon-*.gif ace/blue/
    cp common/icons/anim-save.gif ace/neutral/
    cp common/icons/anim-save.gif ace/blue/
    

     

    Configure Apache server for Deki Wiki

    Deki Wiki contains a Apache configuration file named "deki-apache.conf".
    I include this file (deki-apache.conf) into the Apache bundled configuration file (httpd.conf).

     

    Copy the "deki-apache.conf" file from source onto Apache configuration direcory.

    cd $HOME/Deki_Wiki_1.8.3c_Hayes_source
    cp -pi ./config/deki-apache.conf /opt/csw/apache2/etc/deki-apache.conf.orig
    cp -pi ./config/deki-apache.conf /opt/csw/apache2/etc/deki-apache.conf
    

    Edit and Change the "deki-apache.conf"file according to your setup:

    • ServerName :
      hostname (or FQDN) for your Solaris box
    • ErrorLog :
      error reporting file for Apache server
    • CustomLog :
      access reporting file for Apache server
    • DocumentRoot :
      pathname of subdirectory which containing the Deki Wiki web files.
    vi /opt/csw/apache2/etc/deki-apache.conf
    diff /opt/csw/apache2/etc/deki-apache.conf.orig /opt/csw/apache2/etc/deki-apache.conf
    2c2
    <       ServerName deki-hayes
    ---
    >       ServerName hostname.mydomain.com
    4,5c4,5
    <       ErrorLog /var/log/apache2/error.log
    <       CustomLog /var/log/apache2/access.log common
    ---
    >       ErrorLog /opt/csw/apache2/var/log/error_log
    >       CustomLog /opt/csw/apache2/var/log/access_log common
    7c7
    <       DocumentRoot "/var/www/deki-hayes"
    ---
    >       DocumentRoot "/opt/csw/apache2/share/deki-hayes"
    

    Add the Proxy definition to end of "deki-apache.conf"file.

    <Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Deny from all
        Allow from all
    </Proxy>

    As a result, "deki-apache.conf"seems to like this.

    cat /opt/csw/apache2/etc/deki-apache.conf
    <VirtualHost *>
    	ServerName hostname.mydomain.com
    
    	ErrorLog /opt/csw/apache2/var/log/error_log
    	CustomLog /opt/csw/apache2/var/log/access_log common
    
    	DocumentRoot "/opt/csw/apache2/share/deki-hayes"
    
    	RewriteEngine On
    	RewriteCond %{REQUEST_URI} ^/$
    	RewriteRule ^/$ /index.php?title= [L,NE]
    
    	RewriteCond %{REQUEST_URI} ^/@gui/[^.]+$
    	RewriteRule ^/@gui/(.*)$ /proxy.php?path=$1 [L,QSA,NE] 
    
    	RewriteCond %{REQUEST_URI} !^/(@api|editor|skins|config|@gui)/
    	RewriteCond %{REQUEST_URI} !^/index\.php
    	RewriteCond %{REQUEST_URI} !^/favicon\.ico$
    	RewriteCond %{REQUEST_URI} !^/robots\.txt$
    	RewriteCond %{QUERY_STRING} ^$ [OR] %{REQUEST_URI} ^/Special:Search
    	RewriteRule ^/(.*)$ /index.php?title=$1 [L,QSA,NE]
    
    	# deki-api uses encoded slashes in query parameters so AllowEncodedSlashes must be On
    	AllowEncodedSlashes On   
    
    	# mod_proxy rules
    	ProxyPass /@api http://localhost:8081 retry=1
    	ProxyPassReverse /@api http://localhost:8081
    	SetEnv force-proxy-request-1.0 1
    	SetEnv proxy-nokeepalive 1
    
    </VirtualHost>
    
    <Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Deny from all
        Allow from all
    </Proxy>
    

    Configure Apache Server for deki-api application

    The deki-api is a .NET application which runs under the Mono runtime.  deki-api runs as a standalone mono application which uses MindTouch Dream's built-in webserver.  mod_proxy proxy is used to proxy requests from apache to deki-api.

     

    Edit the Apache root (bundled) configration file to lnclude "deki-apache.conf" file, and enable Apache modules required by Deki Wiki.
    cp -pi /opt/csw/apache2/etc/httpd.conf /opt/csw/apache2/etc/httpd.conf.orig
    vi /opt/csw/apache2/etc/httpd.conf
    
    (1) add next two lines to this file near end of the file.
    # Deki Wiki settings
    Include etc/deki-apache.conf
    
    (2) enable next three lines
    LoadModule proxy_module libexec/mod_proxy.so
    LoadModule proxy_http_module libexec/mod_proxy_http.so
    LoadModule rewrite_module libexec/mod_rewrite.so
    
    (3) change DocumentRoot and the web root Directory to point directory Deki Wiki web files.
    DocumentRoot "/opt/csw/apache2/share/deki-hayes"
    <Directory "/opt/csw/apache2/share/deki-hayes">
    
    (4) So that diffential between original file and edited file is:
    diff /opt/csw/apache2/etc/httpd.conf.orig /opt/csw/apache2/etc/httpd.conf
    95c95
    < #LoadModule proxy_module libexec/mod_proxy.so
    ---
    > LoadModule proxy_module libexec/mod_proxy.so
    98c98
    < #LoadModule proxy_http_module libexec/mod_proxy_http.so
    ---
    > LoadModule proxy_http_module libexec/mod_proxy_http.so
    173c173,174
    < DocumentRoot "/opt/csw/apache2/share/htdocs"
    ---
    > # DocumentRoot "/opt/csw/apache2/share/htdocs"
    > DocumentRoot "/opt/csw/apache2/share/deki-hayes"
    200c201,202
    < <Directory "/opt/csw/apache2/share/htdocs">
    ---
    > # <Directory "/opt/csw/apache2/share/htdocs">
    > <Directory "/opt/csw/apache2/share/deki-hayes">
    472a475,477
    > # Deki Wiki settings
    > Include etc/deki-apache.conf
    >
    

    Restart Apache to enable the module and apply the new settings

    /etc/rc3.d/S50cswapache2 graceful

    At this time, Apache's error_log file should not report any errors.

    # tail -f /opt/csw/apache2/var/log/error_log
    [Sun Feb 24 15:07:21 2008] [notice] Digest: generating secret for digest authentication ...
    [Sun Feb 24 15:07:21 2008] [notice] Digest: done
    [Sun Feb 24 15:07:21 2008] [notice] Apache/2.2.6 (Unix) PHP/5.2.4 configured
     -- resuming normal operations
    

    NOTE :
    To run syntax check for Apache configuration file, use options of Apache server.

    (1) to run syntax check for config files
    # /opt/csw/apache2/sbin/httpd -t
    Syntax OK
    
    (2) to show parsed settings
    # /opt/csw/apache2/sbin/httpd -S
    VirtualHost configuration:
    wildcard NameVirtualHosts and _default_ servers:
    *:*                    hostname.mydomain.com (/opt/csw/apache2/etc/deki-apache.conf:1)
    Syntax OK
    
    (3) to show all loaded modules
    # /opt/csw/apache2/sbin/httpd -M
     (snip)
    

    Configure deki-api application

    Create the deki-api logfile with null contents which writable to Apache user.

    # touch /var/log/deki-api.log
    # chown nobody:nogroup /var/log/deki-api.log
    # chmod 644 /var/log/deki-api.log
    # ls -l /var/log/deki-api.log
    -rw-r--r--   1 nobody   nogroup        0 Feb 24 15:33 /var/log/deki-api.log
    

     

    Create the Mono's ".wapi" directory, then change the owner to Apache user.

    NOTE:

    • The Mono ".wapi" directory needs to exist in the home directory for your Apache user. In this guide the nobody user's home directory is "/" (root directory).
    • Note that Apache user and home directory depend on Apache configuration.
    # mkdir /.wapi
    # chown nobody:nogroup /.wapi
    # ls -la /.wapi
    total 100
    drwxr-xr-x   2 nobody   nogroup      512 Feb 24 11:08 .
    drwxr-xr-x  27 root     root        1024 Feb 24 14:20 ..
    


    Copy and Edit the config/dekihost init script. This script can be used to test the status of the deki-api or start/stop the "mindtouch.host.sh" (deki-api) process.

    Change the following to match your configuration:

    • DEKI_PATH :
      pathname of subdirectory which copy the Deki Wiki web files.
    • DEKI_SERVERNAME :
      hostname of your Solaris box
    • Apache user:
      effective user of Apache HTTP server, which described "User/Group" parameter in the /opt/csw/apache2/etc/httpd.conf file.
    • su command:
      In Solaris "su" command cannot specify a shell at argument, so that removed from command line.
    • wc command:
      In Solaris "wc" command count "0" if no new line characters found. I search status code instead of line count.

    NOTE:
    It is generally used that "nobody" on Solaris, but "nobody" has no shell definition at /etc/password file for security reason, so that default shell (/usr/bin/sh) is used.
    And then "nobody" has the "/" (root directory) as home directory, therefor "nobody" sharing dot-files like "/.bash_profile", "/.bashrc", "/.profile" with super-user ("root").

    # cd $HOME/Deki_Wiki_1.8.3c_Hayes_source
    # cp -pi config/dekihost /etc/init.d/dekihost 
    # chown root:root /etc/init.d/dekihost 
    # chmod 744 /etc/init.d/dekihost 
    # ln -s /etc/init.d/dekihost /etc/rc3.d/S92dekihost
    # ls -l /etc/init.d/dekihost /etc/rc3.d/S92dekihost
    -rwxr--r--   1 root     root         961 Feb  1 05:58 /etc/init.d/dekihost
    lrwxrwxrwx   1 root     other         20 Mar  1 17:28 /etc/rc3.d/S92dekihost -> /etc/init.d/dekihost
    # vi /etc/init.d/dekihost
    # diff config/dekihost /etc/init.d/dekihost
    4c4,5
    < DEKI_PATH=/var/www/deki-hayes
    ---
    > # DEKI_PATH=/var/www/deki-hayes
    > DEKI_PATH=/opt/csw/apache2/share/deki-hayes
    7c8,9
    < DEKI_SERVERNAME=deki-hayes
    ---
    > # DEKI_SERVERNAME=deki-hayes
    > DEKI_SERVERNAME=localhost
    13c15
    < 		su -s /bin/bash www-data -- $DEKI_PATH/bin/mindtouch.host.sh start
    ---
    > 		su - nobody -c "$DEKI_PATH/bin/mindtouch.host.sh start"
    19c21
    < 		su -s /bin/bash www-data -- $DEKI_PATH/bin/mindtouch.host.sh stop
    ---
    > 		su - nobody -c "$DEKI_PATH/bin/mindtouch.host.sh stop"
    28d29
    < 	DREAM_OK=`curl -m 3 -s http://$DEKI_SERVERNAME/@api/host/test | grep "<status>200</status>" | wc -l`
    30c31,32
    < 	if [ $DREAM_OK = 1 ]; then 
    ---
    > 	curl -m 3 -s http://$DEKI_SERVERNAME/@api/host/test | grep "<status>200</status>" > /dev/null
    > 	if [ $? = 0 ]; then 
    
    

    Then /etc/init.d/dekihost will be:

    #!/bin/bash
    
    # path to your wiki
    # DEKI_PATH=/var/www/deki-hayes
    DEKI_PATH=/opt/csw/apache2/share/deki-hayes
    
    # this should match your Apache ServerName directive 
    # DEKI_SERVERNAME=deki-hayes
    DEKI_SERVERNAME=localhost
    
    prog="MindTouch Deki Host Service"
    
    start(){
    	if [ -f $DEKI_PATH/bin/mindtouch.host.sh ]; then
    		su - nobody -c "$DEKI_PATH/bin/mindtouch.host.sh start"
    	fi
    }
    
    stop(){
    	if [ -f $DEKI_PATH/bin/mindtouch.host.sh ]; then
    		su - nobody -c "$DEKI_PATH/bin/mindtouch.host.sh stop"
    	fi
    }
    
    status(){
    	testDream
    }
    
    testDream() {
    	echo -n "Dream @ (http://$DEKI_SERVERNAME) "
    	curl -m 3 -s http://$DEKI_SERVERNAME/@api/host/test | grep "<status>200</status>" > /dev/null
    	if [ $? = 0 ]; then 
    		echo '[OK]'
    	else
    		echo '[FAILED']
    	fi
    }
    
    restart(){
        start
    }
    
    # See how we were called.
    case "$1" in
      start)
        start
        ;;
      stop)
        stop
        ;;
      status)
        status
        ;;
      restart)
        restart
        ;;
      *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 1
    esac
    
    exit $?
    

    Setup Lucene Index

    Create a empty folder to store search index file.

    mkdir -p /opt/csw/apache2/share/deki-hayes/bin/cache/luceneindex/
    chown -R nobody:nogroup /opt/csw/apache2/share/deki-hayes/bin/cache/luceneindex/
    chmod -R 775 /opt/csw/apache2/share/deki-hayes/bin/cache/luceneindex/
    

     

    Deki Wiki site configuration using the web-installer

    Launch a browser and go to the installer:

    http://<hostname>/config/index.php

    "DEKI WIKI Installation" page will be shown in your browser.

    Environmental checking are all well and fine except "html2ps" not found warning.

    Checking environment...
    If you run into installation problems, please include the following lines.
    
    o PHP 5.2.4 installed. 
    o Found database drivers for: MySQL. 
    o PHP server API is apache2handler. 
    o Have XML / Latin1-UTF-8 conversion support. 
    o Session save path (/tmp) appears to be valid.
    o PHP's memory_limit is 128M. 
    o Apache version Apache/2.2.6. 
    o apache mod_rewrite enabled. 
    o apache mod_proxy enabled. 
    o MySQL enabled, client version: 5.0.51. 
    o curl enabled, version: 7.18.0. 
    o Found ImageMagick: /opt/csw/bin/convert; image thumbnailing will be enabled. 
    o Found ImageMagick: /opt/csw/bin/identify; image thumbnailing will be enabled. 
    o Found GD graphics library. 
    o Found mono: /opt/csw/bin/mono.
    o Found html2ps: /opt/csw/bin/html2ps
    o Found ps2pdf: /opt/csw/bin/ps2pdf. 
    o Installation directory: /opt/csw/apache2/share/htdocs/deki-hayes. 
    
    Environment checked. You can install Deki Wiki.
    

    OK !
    Enter required information for Deki Wiki as below:

    Deki Wiki Basic Setup
    
    Site name: Deki Wiki
    System e-mail:  your e-mail
    Admin e-mail:  your e-mail
    Admin username:  Admin
    Admin password:  *****
    Confirm password:  *****
    Full Name:  (Optional)
    Phone:  (Optional)
    [X] Receive updates and notifications from MindTouch about Deki Wiki
    
    Database Configuration
    
    Database type:  MySQL 
    Database host:  localhost
    Database name:  wikidb
    DB username:  wikiuser
    DB password:  *****
    DB password confirm: *****
    [X] My database user doesn't exist
    Superuser name: root
    Superuser password: *****
    
    Deki API Configuration
    
    API Key: ******************************
    
    Advanced Configuration
    
    ImageMagick convert: /opt/csw/bin/convert
    ImageMagick identify : /opt/csw/bin/identify
    
    

    Fill in the required information and click "Install Deki Wiki !"

    Performing installation...
    
    o Generating LocalSettings.php configuration file... 
    o Database type: MySQL 
    o Attempting to connect to database server as root...success. 
    o Connected to 5.0.51 
    o Attempting to create database...
    o Created database wikidb 
    o Creating tables... done. 
    o Granting user permissions to wikiuser on wikidb...success. 
    o Created sysop account Admin. 
    o Inserting wgDekiApiKey into config table...done. 
    o Setting storage path in config table...done. 
    o Setting Site Name int config table...done. 
    o Creating stored procedures... Done. 
    o Creating LocalSettings.php...Done 
    o Creating AdminSettings.php...Done 
    o Creating mindtouch.deki.startup.xml...Done. 
    o Creating mindtouch.host.sh...Done. 
    
    Installation successful!
    
     But wait, you're not done yet!
    
    Please run the following commands manually from the command line 
    to complete your installation:
    
    cd /opt/csw/apache2/share/deki-hayes/config
    mkdir /etc/dekiwiki
    chown www-data /etc/dekiwiki
    cp mindtouch.deki.startup.xml /etc/dekiwiki
    cp LocalSettings.php /opt/csw/apache2/share/deki-hayes/
    cp AdminSettings.php /opt/csw/apache2/share/deki-hayes/
    cp mindtouch.host.sh /opt/csw/apache2/share/deki-hayes/bin/
    /etc/init.d/dekihost start
    
    You should change file permissions for LocalSettings.php, AdminSettings.php
    as required to prevent other users on the server reading passwords and 
    altering configuration data.
    

    Complete the installation by running the additional commands as instructed by the installer.

    NOTE:
    Don't run commands shown by browser, they are for Linux distribution and not for Solaris.

    Run the next commands for Solaris.

    (1) install derived files into suitable directory
    
    cd /opt/csw/apache2/share/deki-hayes/config/
    ls -l mindtouch.deki.startup.xml LocalSettings.php AdminSettings.php mindtouch.host.sh
    -rw-rw-rw-   1 nobody   nobody        68 Mar  1 18:49 AdminSettings.php
    -rw-rw-rw-   1 nobody   nobody       881 Mar  1 18:49 LocalSettings.php
    -rw-rw-rw-   1 nobody   nobody      6004 Mar  1 18:49 mindtouch.deki.startup.xml
    -rwxr-xr-x   1 nobody   nobody      1302 Mar  1 18:49 mindtouch.host.sh
    
    mkdir /etc/dekiwiki
    chown nobody:nogroup /etc/dekiwiki
    
    cp -pi mindtouch.deki.startup.xml /etc/dekiwiki/
    cp -pi LocalSettings.php /opt/csw/apache2/share/deki-hayes/
    cp -pi AdminSettings.php /opt/csw/apache2/share/deki-hayes/
    cp -pi mindtouch.host.sh /opt/csw/apache2/share/deki-hayes/bin/
    
    chmod 644 /etc/dekiwiki/mindtouch.deki.startup.xml
    chmod 644 /opt/csw/apache2/share/deki-hayes/AdminSettings.php
    chmod 644 /opt/csw/apache2/share/deki-hayes/LocalSettings.php
    
    (2) modify mindtouch.host.sh to prepare environment for the Mono runtime
    
    cp -pi /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.sh \
    /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.sh.orig
    
    vi /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.sh
    
    Insert next two lines under the first line of mindtouch.host.sh
    # setenv to run Mono
    . /.bash_profile
    
    diff /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.sh.orig \
    /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.sh
    1a2,5
    >
    > # setenv to run Mono
    > . /.bash_profile
    >
    


    Start the deki-api daemon.

    # /etc/rc3.d/S92dekihost start
    Stopping MindTouch Deki API
    Starting MindTouch Deki API: mono /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.exe apikey
     gtG01EEqKkDmVFasUbXrV1i0sgP5tm05 script /etc/dekiwiki/mindtouch.deki.startup.xml path-prefix
     @api http-port 8081 ip localhost notty connect-limit -5
    
    # ps -ef | grep mono
      nobody  6438     1  0 19:24:57 pts/2    0:05 mono
     /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.exe apikey gtG01EEqKk
    
    # ls -l /var/log/deki-api.log
    -rw-r--r--   1 nobody   nogroup      122 Mar 1 19:25 /var/log/deki-api.log
    

    deki-api's Log file is here:

    # tail -f /var/log/deki-api.log
    -------------------- initializing
    -------------------- initialized 1.744082 secs
    -------------------- ready 1.202315 secs
    

    At this point you can talk to the deki-api daemon via the HTTP request.

    deki-api daemon test:

    # curl -i http://localhost:8081/deki/@about
    HTTP/1.1 200 OK
    Server: Dream-HTTPAPI/1.5.0.24910
    Response-Uri: http://localhost:8081/deki/@about
    Content-Type: text/html; charset=utf-8
    Date: Sat, 01 Mar 2008 10:29:45 GMT
    Content-Length: 50475
    Connection: close
    
    <html xmlns="http://www.w3.org/1999/xhtml"><head><title>MindTouch Deki Wiki Service</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
      (snip long HTML code)
    </body></html>
    

    Verification Deki Wiki

    Verify your new Deki Wiki Hayes installation by launching a browser and going to the following URI:

    http://<hostname>/index.php

     

    (Appendix) Troubleshooting

    If deki-api failed to load try the following:

    * if you get "no default auth service" make sure your proxy settings are correct and that your firewall isn't blocking port 8081.

    * if your database name has an underscore, you have get an "execute command denied" error. If so, create a new database user, grant them the right perms (CRUD), and set them as the database user in LocalSettings.php

    * make sure the mono process is running

    ps -ef | grep mindtouch.host

    You should see a process like:

    nobody  6526     1  0 19:39:32 pts/2    0:37 mono \
    /opt/csw/apache2/share/deki-hayes/bin/mindtouch.host.exe apikey gtG01EEqKk
    

    If you don't see the process above, check the dekiapi error logs (/opt/csw/apache2/share/deki-hayes/bin/logs/trace.log) for more details

    You can restart the deki-api process by:

    /etc/init.d/dekihost restart
    

    (Appendix) Known issue of Deki Wiki Hayes running on Solaris

    * [Printing] PDF conversion does not work.. I have no identifiable cause of this issue yet.

    * [About] Incorrect OS name displays on "About" page. :-)
    You are using MindTouch Deki Wiki 1.8.3c (rev. ) running on: Linux 5.8, PHP 5.2.4, mySQL 14.12 distribution 5.0.51, and Mono 20080223.

    * [Performance] The "mono" prosess continue to run away (eat 100% of CPU power) while huge page being saved. The browser expire save error after about 5 minite. Then 10-20 minites ago the "mono" process move to steady state. This could be dependent on speciic page (this guide). The reproducibility was low but occur at two machines. No reproducibility on VMware version of Deiki Wiki Hayes 1.8.3b at the same ops.

     

    (Appendix) Basic file layout

    /.bash_profile - personal initialization file for bash (shared by root and nobody)
    /.wgetrc - personal initialization file for wget
    /etc
    	/dekiwiki
    		mindtouch.deki.startup.xml - deki-api server configuration file
    	/init.d
    		dekihost - startup for deki-api
    	/rc3.d
    		S40cswmysql5 - startup for MySQL server
    		S50cswapache2 -> ../init.d/cswapache2 - startup Apache server
    		S92dekihost -> /etc/init.d/dekihost - startup for deki-api
    /opt
    	/csw
    		/apache2
    			/etc
    				deki-apache.conf - Apache config file for Deki Wiki
    				httpd.conf - Apache "main" config file (includes deki-apache.conf)
    			/share
    				/deki-hayes - DocumentRoot for the Deki Wiki "Hayes release"
    					/bin
    						/cache
    							/luceneindex - Lucene index directory
    						mindtouch.host.exe - deki-api daemon executable
    						mindtouch.host.sh - deki-api startup script
    						/logs
    							info.log
    							trace.log
    							warning.log
    						LocalSettings.php
    						AdminSettings.php
    				/htdocs - DocumentRoot of Apache original (Not used)
    			/var
    				/log
    					access_log - Apache access log file
    					error_log - Apache error log file
    		/bin
    			wget - network utility to retrieve files from the Web
    			mono - .NET runtime
    			gmcs - C# compiler
    		/etc
    			pkg-get.conf - pkg-get configuration file
    		/mysql
    			my.cnf - configuration file for MySQL server
    		/php5
    			/lib
    				php.ini - configuration for PHP5
    /var
    	/log
    		deki-api.log - deki-api log file
    /.wapi - Mono shared directory
    

    END OF GUIDE

    Tag page
    You must login to post a comment.

    Copyright © 2011 MindTouch, Inc. Powered by