Traveler
Origin Of Project
Back in around 2006..2007, I've to go to my client offices frequently to present demo web sites and web-based applications. Back then, I still don't have notebook, so I need to carry a thumb drive and use my clients' PCs or notebooks to present to works.
Not so long until I found two serious problems. First, I can't present web applications that require PHP and MySQL. And second, I have to rely to IE in host machine to render web pages, which turn out to be disease.
So, I decide to create a portable system on thumb drive which allow me to run web-based applications that require PHP and MySQL, and also a web browser like Firefox. I named it Traveler to reflect the nature of its usage.
The very first versions turn out to be too buggy to use and still not a trustable system. However, I always carry them with me and improve them constantly, until it stable enough to use. Later versions also added Notepad++ to allow me to edit my works and ClamWin to check for virus.
These days, December 2010 at time of writing, Traveler is stable and ready to use in production environment. I already have notebook but I still improve and use it from time to time.
About Traveler
Traveler is a package of portable AMP stack (Apache + MySQL + PHP), plus additional software aimed for web development while you are traveling.
Apart from the AMP stack, Traveler also included capable programmer editor: Notepad++, WebKit-based web browser: QtWeb, and ClamWin Free Antivirus to keep you safe from malwares.
Installation
Decompress traveler-*.7z and move all files to your thumb drive, preferably to root directory.
Due to license restriction, Flash plug-in cannot be distributed with QtWeb. If you installed Flash plug-in (Non-IE version) in your host, You can copy file C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll to apps\QtWeb\PlugIns directory to enable Flash.
Usage
When you plug the thumb drive, autorun menu should appear. The menu allow you to launch TrayLauncher and Start/Stop web+database servers.
If the autorun menu does not appear, execute autorun.bat, this will launch TrayLauncher, then you can access all features from TrayLauncher's menu in system tray icon area.
To start Apache+PHP+MySQL: use Start Servers in the menu.
To stop Apache+PHP+MySQL: use Stop Servers in the menu.
Don't forget to stop servers before unplug your thumb drive.
Where To Install Web Pages
Place your web pages in directory web, and use http://localhost:8080/ to access them. You can also place cgi-bin files to subdirectory web\cgi-bin, although they may be rare these days.
The non-standard port number is chosen to avoid possible conflict with host machine.
How To Connect To Database
Launch HeidiSQL and connect to MySQL at port 3366. The default connection and authentication information already provided.
Please note that if you change root password, don't forget to change them in etc\config.php, too. This password is require to take down the server.
The non-standard port number is chosen to avoid possible conflict with host machine.
Note About Portability Issues
Please note that some programs are not perfectly portable. Which mean they can run, but may leave some traces in host computer. Here is the list:
- MySQL has a problem when stopping it, in case when host machine has MySQL service running. The problem prevents both versions of MySQL to properly stopped. Suggestion is to manually kill mysqld.exe process after stopped, or avoid using both versions together.
- HeidiSQL uses Windows registry, but cleanup properly. However, it leave empty directory in %APPDATA%\HeidiSQL.
Note About Removed Files
Please note that Apache, MySQL, and PHP in this package are strip down versions. All non-essential files and non-frequently used extensions are removed to save disk space.
If you want to add some extensions, you can download full package from respective web sites and copy them to appropriate folders. Don't forget to update appropriate configuration files in etc directory. Please note that you must edit config file with *.php extension, such as: httpd.conf.php, my.ini.php or php.ini.php.