Monday, March 10, 2014

Useful Web Applications to run yourself

There are several useful web applications out there. A lot of free sites like blogger, tumblr, etc. allow you to do blogs or other websites for free. But you don't always have the control you'd like. And you can't always make them private. If you're going to have a server up, might as well make it a web server. There are tons of walkthroughs on how to setup a LAMP server on various distributions out there. (LAMP stands for Linux, Apache, MySQL, PHP/Perl/Python. Which basically just means a web server using Apache that has server-side programing capabilities and a database.)

Once you have a LAMP server setup and you're looking to either do database work or install web applications that utilize databases, you may find it nice to have phpMyAdmin. phpMyAdmin is a web gui for managing your mysql databases. as it's name implies it runs on php and it utilizes mysql also for it's self.

You may also find Webmin a useful tool. Many distros have Webmin in the repos so you can easily install it. Webmin provides a gui/web interface to administer many aspects of the server from mysql/postresql database management plugins, to managing users and package updates. There's a lot to it. Just remember to make sure that you firewall off that port from anything but the local network. You don't your router forwarding to that port, major security issue.

Webalizer is an old tool that's been around for a long time. Webalizer is a set of scripts that takes your Apache log files and scans through them every night (via a cron job you setup) and then makes a database of those data points and provides some graphs around usage. It's locally hosted and can be a nice tool to have. It's not going to be a robust as Google Analytics though (but then you don't have to setup Google Analytics code on every page of your sites for tracking either).

For publishing there's a bunch of options, WordPress is probably the biggest blogging tool out there. It's same purpose behind blogger. The difference is you can host WordPress yourself. And it's way more customizable. If you want more of a Content Management System, go with Joomla. It's a fork of the old Mambo CMS and very powerful. But with that power comes a lot of configuration. If you want to go a bit simpler with a CMS try Drupal. If you like a wiki type environment, I like MediaWiki.

Sometimes you may want to go more of an educational route. Moodle is probably the best bet here. It's easy to build and maintain. Sakai is another open source LMS tool though it will require going to Tomcat and will me more difficult to setup. Also, due to the major issues over the past year or two with the way Oracle has handled Java, you could find yourself, like many java-based software companies have, scrambling to fix things when a new version of Java breaks it. (I'd personally stay away from Java for any tools right now because of this; I see Java being dumped for other platforms due to the problematic changes Oracle has introduced recently.)

Well that's a few to get you started. All of those projects are well supported and you can find plenty of documentation on the web for installing/customizing them.