HOW TO: Setup Gregarius RSS Aggregator

February 1, 2006 · 11 comments

I mentioned earlier how I had setup an aggregator for this site utilizing Gregarius. Today I will show you how you can do the same. First off you will need a server, either locally or somewhere on the internet that has PHP and MySQL support. Before we do that you’ll want to download your copy of Gregarius first. There is an issue with the current stable release, 0.5.2, where you cannot enable working admin password protection. This is the version I have installed and the only temporary solution has been renaming the admin password file, rss_extra.php, to something else when I want admin access. That being said, you might want to pick up the latest development release via SVN which fixes this problem. If you decide to go the SVN route, you’ll need to have subversion installed. Chris J Davis has an excellent subversion installation guide for those OS X users. Windows users will want to install TortoiseSVN.

Database Creation, Initial Config

However you get your files, via sourceforge or SVN with svn co http://svn.gregarius.net/svn/trunk/rss, access the rss folder and open dbinit.php in a text editor. There are four main lines you will need to pay attention to.

define ('DBTYPE','mysql'); //don't change unless using "sqlite" database
define ('DBNAME' , '<b>PUT_YOUR_DATABASE_NAME_HERE</b>');
define ('DBUNAME' , '<b>PUT_YOUR_DATABASE_USERNAME_HERE</b>');
define ('DBPASS' , '<b>PUT_YOUR_DATABASE_PASSWORD_HERE</b>');

Before you can begin filling in the database info, you need to create a new database. This can be done in the control panel provided by your webhost. If you are not familiar with the process, Tamba2.org.uk has several guides that can help you through the database creation process, whether it be for Plesk, CPanel, vDeck or Ensim. They were created with installing WordPress in mind, but they can still be followed just for the database creation portions. If you are running a MediaTemple Shared Server, I show you how you can create a database in the middle of this article; feel free to ask any questions. Once you’ve created the database, fill in the appropriate info in the dbinit.php file and save.

Upload

Now you are ready to upload the Gregarius directory to your server. By default the folder is named rss, but I highly recommend changing the folder name so people don’t get confused and think it is your feed. I chose aggregator. Upload this folder anywhere on your server within the html folder, most favorably in the root so it is directly accessible via http://yourdomain.com/aggregator.

Database Initialization

Upon accessing your Gregarius installation the first time, your database should be initialized automatically. However, I would assume this varies from server to server as it did not work for me. I had to open up dbstruct.sql, copy all of the text, paste it in the SQL Query box in phpMyAdmin and execute it. This manually initializes the database tables and you should be set to start using Gregarius. If you have any questions about using phpMyAdmin, drop a comment and I’ll be able to help you out. You can see an example of using phpMyAdmin to execute commands in this article of mine. These screenshots should help you pinpoint phpMyAdmin in your web control panel.

Post Config, Security

By accessing the location where you stored the Gregarius folder, you should be able to see a fully-functioning Gregarius installation, albeit one without feeds. Before you start adding feeds and so on, you will want to secure the Gregarius admin area to prevent cyber-vandalism (that has to be the first time I’ve actually said cyber). Open up a text editor, create a new file named rss_extra.php and fill it with the lines below. Make sure no foreign characters copy over with it as was once the case in another tutorial.

<?php
define ('ADMIN_USERNAME' , '<b>USERNAME_YOU_WANT_TO_USE</b>' );
define ('ADMIN_PASSWORD' , '<b>PASSWORD_YOU_WANT_TO_USE</b>' );
?>

Create a username and password you would like to use to access Gregarius and fill in the info. Upload this file inside of your aggregator folder (or whatever you decided to name it). Note: You login will only work for the development release of Gregarius. If you are using the stable version you will have to rename rss_extra.php if you want to gain admin access (but everyone else can access the admin controls at that time as well).

Go to your Gregarius installation in a web browser and click on the Admin button. Supply it a password if you chose to make your account password protected. Now click on the Config button. This is where every feasible option can be set. Go down to rss.config.plugins and click edit. Here you can enable some plugins that come bundled with Gregarius. My favorite plugin currently being Doubleclick to Read. Most things on the config page don’t need to be messed with, but read the entries and see if anything strikes your fancy. Also, I would recommend installing the lilina theme, which is what I’m using at the moment.

Plugins

To add feeds to Gregarius, go to the Feeds page in the admin panel. The interface is fairly intuitive; you can enter either an actual RSS location or just the website name and it will try to discover a feed. If it finds several feeds, such as is the case with some WordPress blogs, it asks you to select which feed to use. In that scenario, opt for the RSS 2.0 feed. You can organize feeds with folders as well. Don’t forget to add my feed to your new aggregator.

Feeds

{ 5 trackbacks }

Geekier Geek » HOW TO: Setup Gregarius RSS Aggregator - Because the others just aren’t geeky enough — blogging empire!
February 3, 2006 at 1:19 am
Como implementar um rss reader no nosso servidor at ruimoura.net
February 3, 2006 at 12:19 pm
..
February 4, 2006 at 5:19 pm
THIS RLY BE DAVE » gathering thoughts, gregarius notes
June 14, 2007 at 5:44 pm
THIS RLY BE DAVE
June 15, 2007 at 6:55 pm

{ 6 comments… read them below or add one }

1 Dennis February 1, 2006 at 10:59 pm

This is great Paul…..I digg it!

Reply   More from author

2 Allan Reyes February 2, 2006 at 2:54 am

Hey Paul,

Just perfect! I am currently in the middle of setting up the blog in my website. I will surely contact you if I got stuck. Thanks!

Reply   More from author

3 Frank February 2, 2006 at 3:43 pm

Great article Paul. When I first saw Gregarius here, I had to set it up on my own server. I’ve been using it for a couple of days now, and its great. I have an (mt) Shared System, and I had to create the database tables manually, because Gregarius couldn’t do it. Something useful that you didn’t mention is the Subscribe to feed bookmarklet. In the admin panel, under feeds is a bookmarklet button. Drag this to your bookmarks, or links bar. When you are on a website, just click that bookmark, and it will open your Gregarius admin panel, and add the website’s feed.

Reply   More from author

4 Rui Moura February 3, 2006 at 9:36 pm

Hi Paul. I checked out this article and i did it to myself on my server.
Then i translated (to Portuguese) a simplified version of the “Howto”, made by me based on yours and put it on my blog. Hope you don’t mind. I mencioned the link to the original, this one, of course.
Nice “Howto” and keep it going with this interesntin articles :)

Reply   More from author

5 chris October 4, 2006 at 7:33 am

Great tool.
I have just installed it. I created DB through CPanel, cause the install didn’t let me do so.
Yet it is very flexible and great. Waiting for more customization.

Reply   More from author

6 Lee January 31, 2008 at 1:31 pm

I ran into this error while trying to login as admin:

Failed to execute the SQL query
alter table users add column userips text default ”
Error 1101: BLOB/TEXT column ‘userips’ can’t have a default value

Any suggestions?

Gregarius version: 0.5.4
XP Pro SP2
MySQL 5
PHP 5
Apache 2

Reply

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post: 9rules Homepage Refresh!

Next post: Why Digg is Done and Newsvine Isn’t