Raspberry Pi Home Document Management System with Open Atrium
June 10, 2013 12:46 am 2 CommentsI’ve always have problems with managing electronic copies of my documents such as bills, copies of receipts and other things; I frequently forget where I store them in which computer and in which folders. Of course you may argue that I should have used Dropbox, Google Drive, Box or any other cloud storage service, however there are things that I don’t really want to store outside my house. In a sense, I need in-house document management system. Plus it would be great if I can share things like recipes and grocery list to the other members of the household :).
Other avenues have been explored too such as FTP, SCP, Samba Sharing, etc. However those lack the ability to properly categorize the documents and search them. So I have decided to use an in-house document management system. Of course, my trusty Raspberry Pi will be the server because the server will need to be on 24 hours and I do think we need to conserve electrical energy. The super low powered Raspberry Pi is the best candidate for this.
So today we are going to install Open Atrium version 6! This is a document management system based on Drupal 6. Why did I choose this? Well, because the user interface is user friendly and it’s quite a matured product, if you are using the stable version.
I try to be as detailed as possible on this guide and use the configuration that I have proven to be working and is currently in use within my household.
Install Apache
We need Apache web server in order to run Open Atrium.
1 |
sudo apt-get install apache2-mpm-prefork |
The above should be straightforward.
After this, change the ownership of the www directory into www-data
1 |
sudo chown www-data:www-data /var/www |
Then add yourself into www-data group so that you can create any folders under the www directory
1 |
sudo usermod -a -G www-data pi |
Of course that is assuming that you are still using the default “pi” username. You might need to start a new terminal instance in order to apply the new group settings.
Lastly, change the ownership of the /var/www directory to allow group writing to it.
1 |
sudo chmod 775 /var/www |
This Apache configuration is not the most secure configuration you can get. Like I said, this is for home/local use only.
Install PHP
Again, this is quite straightforward. All you have to do is install PHP and the extensions to support MySQL, GD and IMAP
1 2 3 4 |
sudo apt-get install php5 sudo apt-get install php5-mysql sudo apt-get install php5-gd sudo apt-get install php5-imap |
Install MySQL Server
This one should be pretty straightforward too. Just use the command below and follow the instructions on screen.
1 2 3 4 5 |
sudo apt-get install mysql-server #then start the server sudo /etc/init.d/mysql start |
Download OpenAtrium
You can download OpenAtrium from http://openatrium.com/download. Choose the stable version at this point as I was having issues during my experiments with the bleeding edge alpha version, mostly because of the database setup.
Once you have downloaded the correct package (I just used the latest one), extract the contents to a new directory under /var/www/
You can just create the directory using your desktop environment or the terminal directly since you are now in the www-data group. Let’s call our directory openatrium
Now make sure openatrium directory have the right permissions, otherwise we won’t be able to run the setup properly. So run the following:
1 |
sudo chown -R www-data:www-data /var/www/openatrium |
Prepare your Raspberry Pi
Now that you have prepared all the files and the permissions, exit your desktop environment if you are still in it, we need all the RAM and processing power that we can get.
So drop back to you terminal.
Give your GPU least amount of memory, we don’t need it for a server. So use raspi-config and change the GPU memory split to have 16MB. Then restart your Raspberry Pi
After that, add more memory and change the execution time in the php.ini settings. So open: /etc/php5/apache2/php.ini. Then modify memory_limit to 160M and set the maximum execution time to a long value such as 3600. This is because the RaspberryPi can be slow and the install script might run too long.
When finished with the configuration, restart the server.
Then take down the IP address of your PI because we need it to access our OpenAtrium installation later on. Run ifconfig to get your IP.
1 |
ifconfig |
You should end up with something like the picture below.
If you are interested to make your Rasberry Pi Wireless, make sure you read this article.
Setup a Database for OpenAtrium
On your console, create the mysql database. Use the commands below to enter MySQL console. This is assuming your user is called root by the way.
1 |
mysql -uroot -p |
Then from the MySQL console, use the command below to create the database:
1 |
create database atrium |
We’ll use this database called “atrium” for our OpenAtrium installation.
Setup Open Atrium
Go to http://localhost/openatrium/ OR if you are accessing this from another computer at your house, you can simply go to http://[your raspberry pi IP address]/openatrium/
Make sure you choose the Open Atrium installation profile.
You’ll get an error message prompting that you should create a settings.php file. Don’t worry simply follow the instructions on screen so:
1 2 3 4 5 |
sudo cp /var/www/openatrium/sites/default/default.settings.php /var/www/openatrium/sites/default/settings.php sudo chown www-data:www-data var/www/openatrium/sites/default/settings.php sudo chmod 644 var/www/openatrium/sites/default/settings.php |
If you follow all of the instructions above, you should have no problem passing the requirements verifications.
Then simply enter your database information on the next screen and continue.
The installation screen will notify you with the progress as it installs each of the modules required to run OpenAtrium. So sit back and wait for the install to finish or go on a walk, this is going to take about 30 mins or more.
If you encounter an error during installation, it’s most likely the script timing out. Simply re-run the installation and it will pick up where it last stopped.
Initial Configurations
If you see the OpenAtrium welcome screen, then congratulations, you now have your home document/content management system running on a low powered Raspberry Pi.
The Strict Warnings!
When I first got into the admin screen however, there are a lot of strict warnings being thrown at me on screen. In this case we can simply configure the error reporting of our OpenAtrium installation. Click on the configuration button on the top left hand side of the screen, then choose site configurations. When the configuration screen is loaded, choose error reporting.
Create Your Groups
To start using OpenAtrium, you need at least one group. So go to your admin home, then select Groups. After the screen is loaded click on Add Group, then complete the required information on screen.
Document Management
In order to do our document management and storage, we will use OpenAtrium Notebook feature. So click on the Notebook icon while you are in a group and then create a book page. As an example if we are to save a new gas bill we can then call our book page “Gas Bill”, this is going to be our book title. Then enter the keywords: gas, bill so that it’s searchable later on.
After this, we want to add the particular bill for June, so we click on “Add Book Page”.
Take a look at the image above, we call this book page June Bill. As usual we enter the title and some descriptions. In addition, don’t forget the keywords and make sure that the book selected is “Gas Bill” and the Parent Item is Gas Bill. Lastly, don’t forget to attach the file and save the page. You have just uploaded your first home document, talk about being organised!
Make it Searchable
OpenAtrium (Drupal) needs the maintenance cron job to run to be able to index the site properly. There are two ways we can go about this:
- Setup the cron properly by following this instructions.
- If you don’t use the site that much, you can always run the cron manually by going to Admin->reports. Then click on run cron manually. Of course, every time you update something you’ll have to do this.
After doing either one of the solutions above, your post and books will be searchable.
Other Cool Usages
More than just a home document management, we can also use our OpenAtrium installation to save and share other information such as recipes using the blogging feature. Take a look at the photo on the right hand side, where I’m viewing at a (fake) recipe on an iPad. The possibilities for home uses are endless. You can even add different widgets on the dashboard for something like share house message board or even use the calendar to remind you and your other half what groceries to do at particular days.
Closing
I hope this article helps all the people out there with similar needs to organise home documents and share information locally within the household or a small office. Just like all the other articles written by me, I tried everything personally and OpenAtrium works well so far. Until next time!
Tags: open atrium, Raspberry Pi
Categorised in: Fun computing, Raspberry Pi