Friday, January 2, 2009

Installing Open Atrium and Centos

Open Source solution to Content Management System.

Q. What other solutions is there to the proprietary software like SharePoint?
A. Only two other open source solutions are feature rich enough to be set up in this way, Drupal and Joomla.

Drupal’s vanilla functionality doesn’t have all the features we needed to extend to a SharePoint solution, but the open source solution Open Atrium that is build on drupal’s core will make your site more feature rich.

Open Atrium can be found at: http://openatrium.com/ and features the following services.


Blog: A classic blog for each group that has commenting file attachments on both the post and comments and granular notifications.
Calendar: A calendar that lets you quickly add events suck in iCal and other calendar feeds and support single or multi-day events.
Group Dashboard: Mini widgets give you a snapshot of all the activity happening across your groups. Think iGoogle in that you can turn on what you want turn off what you don't and arrange it all however you'd like.
Documents: A simple online handbook that lets you collaborate on documents store and compare revisions attach files and once you're done print out the final copy.
Shoutbox: Kind of like a private twitter the shoutbox lets you share short messages links and information with just the people in your group.
Case Tracker: A full ticketing system that lets you assign to do's and create unlimited projects within each of your groups. The case tracker also lets you classify the to do give it a priority and manage its status.

For our solution we needed something that will let you assign tasks to a certain person and will also allow you to manage and upload lists. The Document and Case Tracker feature was perfect for this. Although we had basic functionality we needed a bit more control, to get this control we downloaded a module called CCK (Content Creation Kit) for drupal 6.X, it is important to note that the CCK module will ship with drupal 7.X as part of the core. More on the install a bit later. Open Atrium is unfurtunatly still in a beta phase and has a lot of silly issues, but hopefully the community will sort it out soon. If you experience white screen of death (a blank screen after installing something) it might be that your php memory limit is too low, this document will show you how to change that limit a bit later.


How To install Open Atrium on Linux (
Centos)

Centos
is a server distribution of Linux and can be found at http://www.centos.org/. The installation of Centos only took about a half hour and we had no problems. We tried setting up Drupal on Fedora Core 5 but only got problems with the enhanced security and all the user permissions, and since we wanted to install a website a server solution centos was a better choice. If you want to install Atrium on Fedora make sure to follow the online tutorial on the drupal site. Centos also come configured with php and apache which made the install process a lot easier.

Here are the
steps:
After installing Centos you will need to download the following packages.

Open Atrium: http://openatrium.com/download
CCK: http://drupal.org/project/cck make sure to download the 6.x package.


After downloading open atrium, open a terminal and navigate to where the downloaded file lies. Unzip the archive using the following command

tar -zxvpf
filename.tar.gz
Where filename refers to the name of the downloaded file.

A new directory containing the files will be created. I renamed the folder name so I can access it much easier. To do this use the following command.

cp foldername newfoldername
Where folder name refers to the current name of the folder and newfoldername refers to the new folder name.


Next we need to move Open Atrium into the proper HTML directory so that it can be started and hosted from your server. To do this type the following command

mv foldername /var/www/html

Atrium and Drupal uses a configuration file for database information and other special
configurations. The default configuration file lies within your atrium directory at sites/default/default.settings.php

Navigate to your atrium base directory which now should be located at /var/www/html/
foldername
Once in this directory type the following command.

cp ./sites/default/default.settings.php ./sites/default/settings.php

You should now have two files in your sites/default directory.

Also create the folder files
which will allow us to save the files user upload. To do this type in the command

mkdir ./sites/default/files

Next we you need to grant read and write permissions and allow the right users to use the files. To do that, you need to type the following commands.

chgrp -R apache .

chown -R apache ./sites/default

chgrp -R myuser ./sites/default

chmod -R g+w sites/default

where myuser is your current username or root in my case

The last thing you to do before installing mysql is to increase your php memory limit to 32mb.
32Mb is a good limit for installing Atrium but some modules might need more memory. The default is 16mb and upon installation you will get a white screen or you will find that the installation fails.

View your php
settings file to alter the memory limitations by typing the following commands.

vi etc/php.ini

Once you are viewing the file press “i” to insert and change the file.
Scroll down (using the arrow keys) to the part that says memory_limit = 16M
And change that to 32M so it says memory_limit= 32M
After changing the memory press the “Esc” key and type then press “:” and type in “write”, after you pressed enter the change will be saved. Press the “:” key again and type in “q” and press enter.

MySql Install

To download and install mysql make sure you have a connection to the internet then as root type in the following command

yum install mysql
php mysql-server php-mysql php-mbstring php-gd

It will continue to download and install mysql. After the download and install completes type in the following command to set up a password for the root mysql account.

mysqladmin –u root password yourpasswordhere

where yourpasswordhere is where you type in your password

After you created added a bit of security we would like to create a database for atrium to function on. I called my database atriumdb but you can call it what you want.
To create a database for atrium type in the following commands.

mysqladmin –u root –p create databasename

where databasename is the name you would like to call your database. After you press enter proceed to type in your password and if successful you will be returned to the terminal/konsole screen.


Now we need to log into mysql and grant permissions to the user.

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
, LOCK TABLES, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost';

where
'databasename' is the name of your database

'username@localhost' is the username of your MySQL account

The ";" is really important don’t forget it.

MySql will reply with:
Query OK, 0 rows affected

My query looked like this:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON databasename.* TO root@localhost;

Activate the
privileges by typing the following command.

FLUSH PRIVILEGES;


Auto start your Services


The last
thing to do is to auto start your services, to do this type in the following commands.

chkconfig httpd on

chkconfig mysqld on

Running the Install Script

Now everything is set up to run the install script. To do this you can close the konsole/terminal window and open a browser. In the browser URL navigate to http://localhost/foldername/install.php, where foldername is the name you gave your atrium folder in the /var/www/html directory or if the server is on a network navigate to the appropriate address. Run the install script and choose the option to install atrium.

After the script completes you can start using your site. If something crashed during install you can reset the install script process by removing the mysql database. The following commands shows how:

mysql –u root –p

DROP
DATABASE databasename;
where databsename is the name of the given database.

quit

mysqladmin –u root –p create databasename

Adding the CCK Module

All you need to do now is to add the CCK module. Move the file to the modules directory within your atrium folder: var/www/html/atrium/modules. After moving and unzipping the file, access your website. Navigate to the administrator screen and choose the modules option. Scroll down until you see the CCK module and select all of the option you would like to have on your site. After enabling the module new features will be possible on your website. Remember if you are experiencing a blank screen or white screen of death, try upgrading your php memory limit in most cases it works.

And that's that, hope this helps :)

Issues we Experienced with Open Atrium

When creating a group remember to make the path value small caps. Open Atrium is based on Linux and case is important. You will get no help on this error, and it is really silly because why is a URL path case sensitive, but it is. Hope the community fixes it soon.

Content Types are great especially with the CCK module because it allows us to create our own fields, using these content types in Atrium is a bit more difficult you have to modify the feature to allow it to add the content type as a child to a specific module for example the books module. You can do most of these things from the the administrator module, but you don't have to finite control you sought to make really great content types, for example there is no combo box option.

The reference to a user check box is really badly designed and doesn't allow for customization. The views available looks so horrible that you rather not put it on a form. In fact referencing a user doesn't allow for anything special to happen. Unfortunately you cant integrate the user reference from CCK to case tracker so its kinda useless.

No comments:

Post a Comment