05 February 2009

SweetCron: Installing without really knowing what you're doing

I decided to set up a lifestream on [metricula.com] so I'd have something to put there. I mainly use it to host images and such, but there you go. For the uninitiated, a lifestream aggregates actions I take on lots of sites across the Web.

I decided to use [SweetCron]. It's like [FriendFeed] except all the data is hosted on your own server. I also liked the layout.

1. Download
Go to [SweetCron] and sign up for their email thing for a link to download it from google. You can also get it straight from google, but I wound up having to register my email later anyway so you may as well do it now. For reference, though, it's [here].

You'll get an email with a link. Download the file and unzip. Yay! The [official installation guide] has the requirements. It boils down to needing PHP5 and MySQL4.1.

2. Set up a database
Okay, once you've got that downloaded you need to set up a database for it. I use 1and1 hosting, so after I logged into my admin dashboard I went to MySQL administration. Click the "New Database" button at the top of the table with the list of databases. You probably want to go ahead and select the option for PHP 5.0.
Hit okay and leave this page open because you'll need the data from it.

3. Get it on your server
Copy the contents of the folder (but not the folder itself) sweetcron-108e/sweetcron to your chosen directory with your FTP of choice. If you're putting it in the root directory, great. If you want it somewhere like yoursite.com/lifestream, make a directory for it and copy it all there.

4. .htaccess file
You should have copied something called .htaccess. If it was invisible to you and it didn't copy, there are [instructions for making a new one]. If you're going to install SweetCron in a subfolder, make sure you account for that in the .htaccess file; you need to add the subfolder after the slash in the .htacces file so it looks like this:

Rewrite Base /yoursubfolder

Once it's on your server you just need to configure two files located in system/application/config.

5. Configure config.php
Rename config-sample.php to config.php. Open it up and replace http://www.your-site.com/ with your full site url. That trailing backslash is important so don't leave it off.

If you installed SweetCron to a subfolder, make sure you include it in the url.

6. Configure database.php
The next thing is the database configuration. Rename database-sample.php to database.php. Open her up and scroll down.

Go back to the page you opened earlier with your new database information and enter it here. The titles correspond from the browser display to the database.php file.

You need to change the localhost, database name, user, and password. If it's not recognizing your local host, you can add :/tmp/mysql5.sock to make the whole string look like this:
$db['default']['hostname'] = "pastedhostname:/tmp/mysql5.sock";

I don't know what that does but I think it made mine work.

7. Run the Web-based install script
So great! You should now be able to go to http://yoursite.com/admin> or http://yoursite.com/subfolder/admin to run the install script.

If you get an error telling you to upgrade to PHP5.0, no worries. You probably just need to insert the following into your .htaccess file:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Again, I don't know what it does but it makes it work.

Once you're into the GUI it's pretty straight forward. Just add feeds and go! SweetCron doesn't support every feed under the sun by default, but you can tell it how to support and display a feed using the files _activity_feed.php and main.css in the directory system/application/views/themes/nameoftheme.

It helps to be familiar with PHP and using CSS, but I was only slightly familiar with CSS and knew ZERO PHP and I was able to figure it out and get it customized closer to my liking in about a day. It's still a work in progress visually, but the most important and time consuming thing was learning how to tell the _activity_feed.php file how to get the non-default supported feeds.

No comments: