HOW TO: Setup Gregarius RSS Aggregator
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.
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.
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.
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.