BitNami

  • UserId: 1
  • Title: BitNami
  • Url: bitnami
  • Summary: BitNami allows you to run full stacks of open source software with minimal hassle
  • Search:
  • DateCreated:
  • DateModified:
  • Published: 1
  • Pageable: 1

At work we've been using Redmine as our main project management/bug tracking tool, for the past 6 months or so. I've found it to be very useful in keeping track of my day-to-day tasks for projects that I've been assigned to.

At home, I've been using a simple text file updated via a web interface, which was originally written in PHP, to keep a track of tasks. I recently updated it to ASP using the TextStream Object as I know VBScript a lot better than PHP. However, it has often proved to be a crude format for keeping notes on personal projects. So I looked into getting Redmine setup on my home network.

Redmine requires Ruby On Rails, along with MySQL. Luckily I have a MySQL dedicated server, which would easily handle a Redmine database, but the former - Ruby On Rails - proved to be harder than I thought, to integrate with IIS. After several failed attempts, I looked into alternative ways to get Redmine working.

A post on StackOverflow led me to BitNami - basically a stack of apps that are packaged in an installer for use on Windows, Linux and OSX. BitNami installs Apache, MySQL, Mongrel, Subversion and Ruby with Redmine on top, removing all the headaches and hair pulling involved when rolling your own.

The first time around of installing the Redmine BitNami stack proved to be very easy - simply run the downloaded installer, follow the wizard and leave it to do its stuff. I couldn't make my mind up about which server it should reside on, as the stack goes against my methods for separating server roles out to individual servers, i.e. MySQL, MSSQL, IIS, FTP, NAS, Mail each on their own dedicated virtual server. This led to me re-installing/uninstalling it several times until I made my mind up. The installer hung on the second, third and fourth attempts, before sticking on the fifth try on my devserver. Still, the whole process was far easier than if I'd opted to piece it all together from the individual components.

Now Redmine is up and running - with both public and private projects. I've transferred my archaic text file notes to the new format and have opened the site up to the public - support.slickhouse.com (click on Redmine). So far so good, though I'm reguarly encountering a Proxy Error when trying to access it - if you see it too, click on the link in the error message and it'll eventually load. I'll have a fix soon.

The purpose of this post? To help those interested in using Open Source software, but finding the process daunting to begin with. BitNami has a whole host of stacks including WordPress, Coppermine and phpBB - allowing you to spend more time using the software.

Categories that this Post has been filed under

Tags that this Post has been tagged with

Comments

I've come up with a simple way to backup BitNami on a Windows system (in my case Server 2003). The process involves stopping the BitNami services, using xcopy to copy the BitNami stack to another location, then starting the services. @echo off

echo Stopping Services >> "\\fileserver\Logs\Devserver\Backup\%date%.log" if exist C:\PROGRA~1\BITNAM~1\lucene\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\lucene\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\apps\redmine\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\apps\redmine\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\subversion\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\subversion\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\jetty\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\jetty\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\hypersonic\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\server\hsql-sample-database\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\apache-tomcat\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\apache-tomcat\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\openoffice\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\openoffice\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\apache2\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\apache2\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\ingres\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\ingres\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\mysql\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\mysql\scripts\servicerun.bat STOP) if exist C:\PROGRA~1\BITNAM~1\postgresql\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\postgresql\scripts\servicerun.bat STOP)

echo BitNami Redmine Stack Backup Executed on %date%. >> "\\fileserver\Logs\Devserver\Backup\%date%.log" xcopy "C:\Program Files\BitNami Redmine Stack" "\\fileserver\Backups\Devserver\BitNami Redmine Stack\" /D /E /V /C /F /H /R /Y >> "\\fileserver\Logs\Devserver\Backup\%date%.log" echo BitNami Redmine Stack Backup complete. >> "\\fileserver\Logs\Devserver\Backup\%date%.log"

echo Starting Services >> "\\fileserver\Logs\Devserver\Backup\%date%.log" if exist C:\PROGRA~1\BITNAM~1\hypersonic\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\server\hsql-sample-database\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\ingres\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\ingres\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\mysql\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\mysql\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\postgresql\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\postgresql\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\apache2\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\apache2\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\openoffice\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\openoffice\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\apache-tomcat\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\apache-tomcat\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\jetty\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\jetty\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\subversion\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\subversion\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\apps\redmine\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\apps\redmine\scripts\servicerun.bat START) if exist C:\PROGRA~1\BITNAM~1\lucene\scripts\servicerun.bat (start /MIN C:\PROGRA~1\BITNAM~1\lucene\scripts\servicerun.bat START) In the above example, \\fileserver\Logs\Devserver\Backup\%date%.log is the location of the backup logs, which I can check regularly to ensure the backup is working as intended. \\fileserver\Backups\Devserver\BitNami Redmine Stack\ is the backup share on my NAS, where the BitNami stack is copied to. In my case, the Date format is set to YYYY-MM-DD on my servers, so %date% appears as 2009-04-21 today. If you're using a standard Date setup, then you'll need to add: FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B For /f "tokens=1-4 delims=/ " %%a in ('date /t') do (set date=%%c-%%b-%%a) After the @echo off to set the date to the correct format. Finally, put all this within a batch file (*.bat) and you can either run it manually or schedule it via Scheduled Tasks.

Note: The first/last parts of this script are as per the C:\Program Files\BitNami Redmine Stack\servicerun.bat batch file included with BitNami. The middle part uses xcopy to copy all of the files within the BitNami directory to a backup location - it only copies those that are newer than the existing files in the backup location.

To then restore the backup, you could either copy it to a new server and run the installation script(s) included with BitNami, or install a new stack and then overwrite it with the various files from the backup (data, config etc.).

Matt


Did I get it right ? Does Redmine run with MsSQL ? thx ed

treke


Nope, Redmine only supports MySQL, PostgreSQL and SQLite. The mention of MSSQL in the article is specific to my server setup and how services are split out onto individual servers.

Matt


Add a Comment