resistance is obsolete ™ ;-)

OGo Port for Xbox/Xebian

Alfred Madl has provided instructions for setting up OpenGroupware.org on a Xebian 1.0.0 driven Xbox!
Roxx! ;-)

TODO: some cleanups, write some more text ...

Links

  • Xebian
  • Xebian 1.0.0

    General problem: dependencies in opengroupware on postgres? not set? apache not set?..... we have to solve that manually...

    Fetching the packages

    su - root
    echo "deb http://www.opengroupware.org/nightly/packages deb/" \
    >> /etc/apt/sources.list
    apt-get update
    apt-get install opengroupware.org
    apt-get install postgresql (=7.2)
    

    Configuring PostgreSQL

    Edit /etc/postgresql/pg_hba.conf (eg using mc) to allow postgres access like the following:

    local all trust
    host all 127.0.0.1 255.255.255.0 trust
    host all 0.0.0.0 255.255.255.255 reject
    

    ... then restart PostgreSQL ...

    /etc/init.d/postgresql restart

    If you are done with that, you need to create the OGo database and load the OGo database schema:

    su - postgres
    createdb ogo
    createuser -a -d ogo
    

    Now login at the PostgreSQL prompt and load the schema:

    psql ogo ogo
    ogo=# \i /usr/lib/opengroupware.org/Database/PostgreSQL/pg-build-schema.psql
    ogo=# \q
    
    Fix permissions
    su - root
    chown -R opengroupware.skyrix /usr/lib/opengroupware.org
    
    Setup the basic defaults (configuration)
    su - opengroupware
    source OpenGroupware.org.sh
    Defaults write NSGlobalDomain LSConnectionDictionary \
    '{hostName=localhost; userName=ogo; password=""; port=5432; databaseName=ogo}'
    Defaults write NSGlobalDomain NGBundlePath \
    "/usr/lib/opengroupware.org/Library/OpenGroupware.org"
    Defaults write NSGlobalDomain LSAttachmentPath \
    /usr/lib/opengroupware.org/documents
    Defaults write NSGlobalDomain LSModelName OpenGroupware.org_PostgreSQL
    Defaults write NSGlobalDomain LSAdaptor PostgreSQL72
    
    Setup the link for static resources

    To make OGo and Apache find the static resources like images and stylesheets, setup a proper link:

    ### the following is outdated for OGo 1.0a
    su - root
    cd WOApps/OpenGroupware.woa
    ln -s ../../WebServerResources/
    cd ../..
    
    Try whether it works at all ...
    su - root ### TODO: should not run as 'root' but as user 'ogo'
    ogo-webui-1.0a -WOHttpAllowHost localhost
    

    In some case you might need to use your hostname instead of localhost - OGo will tell you ;-)

    In another ssh session as user 'root' (or just any other user ...):

    lynx http://localhost:20000/OpenGroupware

    (of course you can use any browser, but it needs to be on the local machine and must allow cookies!)

    If the browser finished loading the URL, you should end up at the administration interface! In case you use Lynx, use q to quit Lynx.

    You should also see a log of the first request in the console output of the OGo process.

    Compiling and Installing the OGo Apache Modul

    apt-get install apache (2 packages will be installed) V 1.3.26 !
    apt-get install apache-dev (3 packages)
    

    Download http://www.opengroupware.org/sources/opengroupware.org-mod_ngobjweb-latest.tar.gz

    tar -xzf opengroupware.org-mod_ngobjweb-latest.tar.gz
    cd opengroupware.org-mod_ngobjweb
    
    edit GNUmakefile (with mc)

    Look for the section just under the line with # config on it. Set the following variables:

    APXS = /usr/bin/apxs
    HTTPD = /usr/sbin/apache
    

    now exit the editor and compile:

    make

    if you get no error the ngobjweb_1.3.26.so was created

    Install the Apache module
    cd /usr/lib/opengroupware.org
    mkdir WebServer
    cd WebServer
    cp /root/opengroupware.org-mod_ngobjweb/ngobjweb_1.3.26.so .
    cd /etc/apache
    

    edit httpd.conf (eg using mc), add the following line after the first comment block:

    LoadModule ngobjweb_module \
    /usr/lib/opengroupware.org/WebServer/ngobjweb_1.3.26so
    

    add the following at the end of the file:

    <LocationMatch "^/OpenGroupware/*">
    SetHandler ngobjweb-adaptor
    SetAppPort 20000
    </LocationMatch>
    Alias /OpenGroupware10a.woa/WebServerResources/ \
    /usr/local/share/opengroupware.org-1.0a/www/
    

    save changes and exit

    If the old instance of OpenGroupware.org is still running in the other session, stop it (using Ctrl-C).

    su - root
    apachectl restart
    
    Testing the Instance with Apache in front

    If you want to have German resources, install the proper package:

    apt-get install opengroupware.org-webui-resource-de 

    Then start the OGo instance:

    su - ogo
    cd ~
    ogo-webui-1.0a -WOHttpAllowHost 127.0.0.1
    

    Go to another machine and open the following URL with a web browser:

    http://your-xbox-ip-address/OpenGroupware

    tataaaa: running !!!!!? :-)

    Setting up start/stop Scripts

    First you should download the script provided by Helms-Deep: http://helms-deep.cable.nu/~rwh/howtos/opengroupware2 and copy that to /etc/init.d/opengroupware (you need to be logged in as root to do that).

    After that, setup the script:

    su - root
    cd /etc/init.d
    chown root:root /etc/init.d/opengroupware
    chmod 755 /etc/init.d/opengroupware
    update-rc.d opengroupware defaults 50
    echo "source /usr/lib/opengroupware.org/OpenGroupware.org.sh"
    

    To test whether the startscripts work, please reboot your Xbox, from a different machine, try to access the following URL:

    http://your-xbox-ip-address/OpenGroupware

    Final words ...

    Thats it, now you are on your own (as i am...).

    whyclose

    We welcome your feedback!
    Trademarks.  
    This site is sponsored by
    SKYRIX Software AG
    ZideOne GmbH
    MDlink