OpenObelio Version 2.0 ====================== /* Copyright © 2004-2013 Lutz Jaitner, 85405 Nandlstadt, Germany This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You can find a copy of the GNU General Public License at http://www.gnu.org/licenses */ System Requirements: -------------------- 500 MB of main memory 20 GB disk storage (mainly for backup/archive) Debian-GNU/Linux 6.0 64bit MySQL 5.1 (or later) Apache 2.2 All modules compiled as dynamically loadable, prefork-version. postfix 2.7.1 (or later) ImageMagick 6.6.0 (or later) Best results are achieved, if web browser supports CSS 2.1, HTML 5 and ECMAScript 3. Some smart phones are still having trouble with this. OpenObelio adheres to the POSIX standard as much as possible. The author is convinced that OpenObelio can be run under all versions of Linux with only minor changes to the installation procedure, open-obelio.conf file and virtually no changes to the source code. Extracting and Installing the OpenObelio Software: -------------------------------------------------- This is a guide, how to install OpenObelio on a Debian 6.0 64-bit minimal system. It is assumed, that sftp and ssh are working already. Execute the following commands manually, step by step. Copy open-obelio-2.0.tar.bz2 (i.e. bzipped tar ball of the complete open-obelio directory) to / directory via sftp. Log in as root via ssh. Execute the following commands: cp --preserve /etc/apt/sources.list /etc/apt/sources.list.orig With vi add the following line to /etc/apt/sources.list: deb http://ftp.de.debian.org/debian squeeze-proposed-updates main contrib non-free apt-get update apt-get install bzip2 bunzip2 open-obelio-2.0.tar.bz2 tar -xf open-obelio-2.0.tar rm open-obelio-2.0.tar cd / mkdir open-obelio-archive cd open-obelio-archive mkdir db_dump mkdir logs mkdir obelio_tar cd / chown -R www-data:www-data open-obelio-archive cp -f --preserve /open-obelio/conf/sources.list /etc/apt/ apt-get update apt-get install vim apt-get install debconf dpkg-reconfigure locales You'll see a list of locales. Select all locales starting with es_ de_ en_ fr_ and it_ via the cursor keys and the space bar. Use tab key to highlight 'ok' and press return. You'll see a list of languages. Select you default language via cursor keys. Make sure, you are NOT selecting a locale marked as 'euro' or marked as UTF-8, because OpenObelio wants to be using ISO 8859-1 consistently. Use tab key to highlight 'ok' and press return. Disconnect sshl and reconnect it. Test, whether the characters of your local language are displayed correctly by pressing e.g. a umlaut. Test, if cursor (arrow) keys are working properly in insert mode of vi. If not, do the next two lines: cp --preserve /open-obelio/conf/.vimrc /root Disconnect/reconnect ssh. Verify that cursors keys are now working correctly in insert mode of vi. execute the following commands: apt-get install apache2 (This should resolve to the Apache 2.2 release) ps -Af Verify that the apache2 demons are running apt-get install mysql-server (This should resolve to the mysql 5.1 release. Leave the password empty.) ps -Af Verify that the mysql demons are running mysql (As a test, this starts the mysql client. You can quit by typing 'exit'.) apt-get install dpkg-dev (this should install gcc and 'make' among others) apt-get install postfix The installation script will ask for the type of installation. Please select "Internet Site" and confirm with ok. Then enter the domain name (e. g. open.obeliolocal.com or open.obeliolocal.org), depending on the DNS entry. Quit with ok. If you want to change the domain name at a later point in time, you need to edit /etc/mailname and potentially /etc/postfix/main.cf Verify with ps -Af that the postfix demon is running. Configure, how emails are forwarded by postfix: cd /etc mv aliases aliases.orig ln -s /open-obelio/conf/aliases You can edit /open-obelio/conf/aliases to include exactly the email receivers you want. After each change you need to execute at the command line: newaliases cd /etc/postfix mv main.cf main.cf.orig ln -s /open-obelio/conf/main.cf ln -s /open-obelio/conf/disabled (You need to run "postmap /etc/postfix/disabled" and "postfix reload" after any change to /open-obelio/conf/disabled) Adjusting the /open-obelio/bin/send_email script: This script uses postfix to forward message via email to the users. If you like to use a different email software, you need to modify the send_emailscript script accordingly. apt-get install libmagickwand-dev ImageMagick 6.6.0 libraries should now exist in /usr/lib Include files should now exist in /usr/include/ImageMagick apt-get install libmysqlclient-dev MySQL client libraries should now exists in /usr/lib Include files should now exist in /usr/include/mysql apt-get upgrade apache2ctl stop Edit /open-obelio/conf/apache2.conf to reflect the IP address of the server in Listen and VirtualHost directives cd /etc/apache2 mv apache2.conf apache2.conf.orig ln -s /open-obelio/conf/apache2.conf Ensure we are using the prefork MPM: cd /usr/sbin rm apache2 ln -s /usr/lib/apache2/mpm-prefork/apache2 Start Apache via: apache2ctl start Watch for error messages and debug accordingly. ps -Af should show the apache processes. Try to access the OpenObelio web via Web browser. Watch and debug. The Apache server will start automatically after reboot cd /etc/mysql mv my.cnf my.cnf.orig ln -s /open-obelio/conf/my.cnf Reboot the server See, whethe mysqld is running. Debug, if not. Try a login to OpenObelio via Web browser. Debug if necessary. Change the cron behaviour for OpenObelio (all other cron-triggered activities will be disabled): cd /etc mv crontab crontab.orig ln -s /open-obelio/conf/crontab Installing and configuring sudo: apt-get install sudo cd /etc mv sudoers sudoers.orig cp --preserve /open-obelio/conf/sudoers ./ (note that a symbolic link does not work with sudo; we must have a real sudoers file in /etc/) Redirect syslog files to /open-obelio/logs/ : cd /etc mv rsyslog.conf rsyslog.conf.orig ln -s /open-obelio/conf/rsyslog.conf Compiling the Code: cd /open-obelio/src make (This creates the executable "open-obelio" and installs it into the /open-obelio/bin/ ) Adjusting the OpenObelio Configuration File: The open-oblio binary is started by Apache via the CGI interface. At each invokation the open-obelio code reads in the configuration file "/open-obelio/open-obelio.conf". You should modify this file according to your needs. At least you will need to change the our_domain parameter to reflect the domain of the OpenObelio web server. For the first tests you should leave all other parameters as they are. When your are fully familiar with OpenObelio and its database content you typically will have to modify just the the db_admin user name, password, and certificate. The corresponding entries in the database and open-obelio/conf/crontab need to be adjusted accordingly. SSL support: SSL support in OpenObelio is enabled by default. However, the server certificate and key provided at open-obelio/ssl/ are "snakeoilishly" insecure. You need to create or obtain a secure key and certificate and replace the files in the ssl directory. SSL is not enforced by OpenObelio, i.e. you can replace https:// in all links by http:// and OpenObelio will still work. How to build the database and administer the portal: Once you have installed the OpenObelio software you should test the connection between the Web browser client and the server by entering the domain specified in the open-obelio.conf file. Make sure the DNS name resolution works or a loop-back interface is configured in case your browser runs in the server. At the OpenObelio home page you select your language and click on "My Account". At the login window you should enter user name "Administrator, Jack 1" and password "Dumdideldei" or the credentials you specified in open-obelio.conf. After you have logged in you see the commands of the portal administrator. You can build the database by clicking "Installation & Backup ==> Create Database" and then "Installation & Backup ==> Import from Dump File". At /open-obelio/db_dump/ a database dump file is provided containing a test database. After importing this dump file you will see several accounts with different roles attached. The "Database Admin" account is carrying the database administrator's role (Portal Administrator), which allows you to access database tables directly and view the log files etc. The "Administration" account carries the roles of a Community Administrator. The "Administrator, Jack 1" and "Member, Some 1" accounts are regular Member accounts with no special rights. Enter operation: To make other users able to log in, you need to execute "Installation & Backup ==> Enter Operation". With the "Installation & Backup ==> Enter Maintenance" command you can lock the database such that only the database administrator can work. Bug Reports, Code Contributions and Feature Requests: ----------------------------------------------------- If you found a bug in the code or if you want to develop code for OpenObelio, please contact the code maintainer via email: lutz.jaitner (at) t-online.de See full contact details at www.obelio.com/en/contact.html You are wellcome to request new features and improvements via the same email address. These requests are processed on a best-effort basis (no obligation to deliver). GUI Language Support and Character Sets: ---------------------------------------- The current version of OpenObelio supports English and German as GUI languages. The code provides placeholders for Italian and French, but the translation is still very incomplete and buggy. If you are able to translate the GUI dialogues to other languages your contribution to the project will be highly appreciated. The number of languages of OpenObelio is extensible. Several languages can be used concurrently within the same installation of OpenObelio. GUI language is selected be the user idividually. The type of languages being applicable to OpenObelio is somewhat restricted by the fact, that OpenOpelio uses the ISO-8859-1 (Western Europe) character encoding. Characters not supported by ISO-8859-1 (like the Euro sign and some typographic characters) can still be used, but they need to be HTML encoded. Differences to the productive code of the Obelio eLETS service -------------------------------------------------------------- The OpenObelio code was derived from the code used with the Obelio eLETS service at www.obelio.com and www.obelio.org. In an attempt to make OpenObelio less complex and easier to administer for LETS communities, the following functions have been removed from the code: - Multitenancy: An instance of OpenObelio will serve only a single LETS community, not several - Subgroups: This is a feature, which has been been used only by only one community. - Regions: This feature is meaningful only for very large communities (with thousands of members). - Server clustering/replication: OpenObelio does not replicate data to other servers. Special care was taken to ensure database schema compatibility between Open-Obelio and the Obelio eLETS Service. This way, data can be exported from the eLETS Service as CSV files and then be imported into an instance of OpenObelio.