One of the great things about the web today is that you can choose from hundreds of services that will host your blogs, lifestreams, photos, videos, and music. One disadvantage of this, however, is that you typically have very little control over the actual experience. You can’t, for example, make changes to themes on WordPress.com or customize the way your pictures are shown on Flickr. However, thanks to a large number of open source projects, you could do all of this if you hosted your own blog, photo gallery, or mixtape service. In this post, we will show you how to do that and which services we like to run on our own domains.
A lot of you probably already host your own blogs and know how to register a domain and transfer files with FTP. If that’s the case, feel free to skip right to the second page of this post to see our suggestions for other worthwhile packages to install on your server.
Tools and Information to Get Started
Obviously, to tackle these projects, you will need a few tools and some space on a server to host your projects.
Hosting
You will need some space on a server and your own domain name if you don’t have one already. There are virtually hundreds of providers out there, all of varying quality and at lots of different price points, but most will give the a similar set of tools. Most hosting services will also set up a domain name for you.
Here are RWW, we host our site on MediaTemple, but their cheapest plan is $20 a month. Others, like GoDaddy, 1and1, or Dreamhost have plans that start at $4 or $5 a month. Obviously, to some degree, you get what you pay for, but to get started, almost every hosting service will do. Just make sure you sign up for a Linux package and not a Windows service, as most of the packages discussed below are meant to run on a Linux server.
For some more in-depth discussion about how hosting works, have a look at this article.
When you sign up with a host, also make sure your hosting package comes with PHP (a programming language almost all open source web projects use), MySQL (a database package to store your data), and the Apache web server.
Most hosting services will give you more than enough space and bandwidth for your personal site (some give you more than 100GB for less than $5 a month). But make sure you look at the details before you sign up. 1GB is not nearly enough disk space if you want to host a photo sharing site.
Moving Files Around: FTP client
FTP stands for File Transfer Protocol and is the easiest method to get files from your desktop to your server. On Windows machines, we recommend Filezilla and SmartFTP (both are available for free). Our Mac users here at RWW like to use Fetch, Cyberduck, and transmit.
Some More Information You Will Need
You host will give you quite a lot of information about your account, but for our projects here, you really only need very little information: ftp username and password; database name, database username, database password. Every database has its own name – your host might give you only one database that all your programs can share (named something like db0212), or you can often add five or more separate databases. Every host does this differently, but usually they provide an easy to use user interface with all the relevant information and some also have very good tutorials.
Installation: Almost Always the Same
Most of the projects mentioned here have awesome tutorials that will get you through the install process. The first time you do this, it might be a bit intimidating, but after you have done it once, you will see that pretty much every installation follows the same pattern and asks for the same information (see above). Most of the time, you will have to edit a text document and enter your database information there. It’s really just copy and paste. Some packages also just ask you for this information during the install process.
Note: if you plan on installing more than one software package on your server, make sure you set up a separate directory or sub-domain for each of them!
What to Install
Mixtapes
OpenTape
Want to host your own mixtapes? Give OpenTape a try. Installing OpenTape is a great first project, because you don’t even need to configure anything. Download the latest version of the application from here. Unpack it. Upload it to your server with FTP – and that’s it. You will set up a user name and password when you first surf to the site and after that, you can easily upload and play your songs.
Blogging
WordPress
When it comes to hosting your own blog, few packages can trump WordPress. The install shouldn’t take more than 10 minutes and because WordPress is so popular, literally hundreds of developers are building extensions and themes for it. Make sure you have your database info at hand, as you will have to enter this info into a text file to install WordPress.
Drupal
Another blogging tool that is more flexible than WordPress, but also a bit harder to use, is Drupal. The installation, too, is very easy, and Drupal has a highly active developer community and hundreds of addons and themes. For most users, WordPress does the trick, but if you want to experiment with different blogging platforms, Drupal is a good place to start.
Photo Sharing
Gallery
We like to stay in control of our own photos, and our favorite application to host photos on our own sites is Menalto’s Gallery (note, btw, that WordPress now also has some good features for doing photo-blogs). Gallery is extremely flexible and powerful, but setting up your own page is actually quite easy (the install instructions make it look harder than it is). With Gallery, you can set up and modify your themes, control access to your photos, and thanks to the Gallery Remote, uploading pictures to it is extremely easy.
Lifestream
Sweetcron
We love FriendFeed, but sometimes you don’t want to host your own lifestream (it’s your life, after all…). That’s where Sweetcron comes in. Sweetcron (see an example here), can import your diggs, twitter messages, YouTube favorites, blog posts, etc. and lets you display them on your own site.
Social Network
elgg
Want to host your own social network for a club or class? Elgg is the way to go. While it’s a powerful package, installation is as easy as installing WordPress. Elgg comes with every feature you expect from a social network: profile pages, activity feeds, blogs, forums, bookmarks, etc.
What do You Run On Your Servers?
Do you have your own favorite software packages that you run on your servers? Maybe a wiki, a Digg clone, or a micro-blogging service? Let us know in the comments.
CC-licensed picture of tools was used courtesy of Flickr user flattop341.