|Slogan||:||The Fat Portable Windows Webstack|
|Description||:||Gipsydrive is a collection of Subversion repositories with readily configured applications to be run from any Windows machine. The initial download contains a collection of batchfiles plus a commandline Subversion client. The batchfiles check out the wanted repositories as needed and start the applications.|
(Tested for Windows XP 32 Bit, should run also under higher Windows flavours)
|License||:||The Gipsydrive Project itself runs under the MIT License. Gipsydrive homes various products under other Open Source Licenses, often less permissive than the MIT License (notably the GPL License). For exact information see the individual products in question.|
gipsydrive-0-1-3.zip (3.0 MB)
(Perhaps you want rather check out the current version from the SVN repository.)
|Target group||:||Developers under Windows|
Are you a software developer tired from installing, configuring, updating the components for your development environment all day long ... only to start from the beginning, if you go to another machine? If you like one single environment valid for all (Windows) machines you encounter, continue reading.
Gipsydrive is a full fledged portable Windows development environment, assembled of (almost) readily configured open source applications living in Subversion repositories and workspaces. It comprises webservers, databases, interpreters, editors, IDEs and tools, all running from an USB drive without being installed on the machine.
The Gipsydrive download file is not the final product but just the bootstrapper plus cockpit. It contains batchfiles plus a Subversion client, and the finally wanted applications are pulled behind on demand. The initial download is 3 MB only, but your final working setup will be 80 MB to 800 MB, depending on what you pull. Be prepared to measure the checkout-time in hours.
The project is still wild, so not all configuration is fully automatically done yet. E.g. you may have to write your actual drive letter into the Apache config file, or the admin username into a batchfile. To make such things automatically checked and done, is planned as future improvement.
The main repositories are: Apache, Chrome, ClamWin, CouchDB, DIA, Firefox, GIMP, Joomla, MySQL, NetBeans-PHP, OpenOffice, Opera, Perl, PostgreSQL, Python, SharpDevelop, Trac. Smaller applcations are bundled in the Tools Repository: 7Zip, Amaya, CrystalDiskInfo, cURL, DeleteInvalidFile, FileZilla, Foobar2000, HjSplit, Kompozer, Mercurial, Notepad++, PuTTY, TaskbarShuffle, TightVNC Viewer, TrueCrypt, Wget, WinDirStat, XML Copy Editor, YouTubeDownloader.
Download the 3 MB Gipsydrive file and unzip it to any place on your drive. You will find a folder structure about as shown in the following picture.
After downloading and extracting the 'gipsydrive' folder. (1) The extracted base directory, you can give it any name you want. Here will come the later pulled additonal application workspaces. (2) The 'app.gipsydrive' repository/workspace. (3) The 'trunk' folder, a Subversion artefact. Just live with it for now, we consider to eliminate it in future. (4) The actual Gipsydrive cockpit folder you are interested in. To work correctly, it must be embedded in the folder structure as is.
Recommendation: drag a link to the Gipsydrive cockpit folder (4) on your desktop. The window which opens on clicking this link, eventually arrange to look like a dropdown menu. This can serve then as the central cockpit, from where the batchfiles reach out into all other application folders which will be pulled behind.
Left: Drag a link to the Gipsydrive cockpit folder to your desktop (red arrow) and size the opening window like a dropdown menu. Middle: The Tools subfolder. Right: The Windows subfolder.
Doubleclick !setup.bat.TEMPLATE.bat, this will create your individual file !setup.bat, where you can set some drive specific variables, e.g. the admin username, which is wanted by some other batchfiles, which need to run as admin. This mechanism appears at some other points as well, when a generic template configuration is given, which may be adapted to the individual situation then.
Probably you want Apache, so doubleklick e.g. apache-monitor.bat. You will be prompted whether the Apache workspace shall be created, and the repository be checked out. To make Apache run, eventually needs to provide your actual drive letter in the httpd.conf file. Also you can set up aliases depending on what webspaces you want to serve under http://localhost.
If you have Apache, you also get PHP.
Probably you want have MySQL as well.
Try also a browser. Opera is the smallest, with only 10 MB. The portable browsers start slower than locally installed versions.
And of course you are using a text editor. There is Notepad++ for ansi and for unicode.
If you are done with checking-out the basic applications, your drive may look like in the following picture.
The original 'app.gipsydrive' folder has got company (red arrows).
It's the basic application set,
which has been pulled behind from the cockpit. Those checkouts were about 500 MB
(which makes 1 GB on your drive, because the SVN shadow folders double it).
This was a crude introduction, far from being fool-proof, to give you an idea, what Gipsydrive is at all. More detailed explanations are planned but may last. Since you are a developer (or want become one ;) you will have no problem, to look into a batchfile and read what it intends to do ...
Note: Below table is not consistently maintained. To see the current full list of Gipsydrive applications, please inspect the repositories named app.* in the repository forest downtown.trilo.de/svn. About two third of them should be working properly, and one third is experimental or under construction.
Here the complete list of repositories you find under Gipsydrive, including the not-yet-running and planned ones.
|Repository||Description||Status||Size MB net|
|Apache 2.2||Webserver, the base of all other web applications||Works; http.conf has to be set; needs possibly attention with user rights||60|
|CouchDB||NoSQL-database||Works; eventual a location has to be set in the config file||200|
|Eclipse||IDE for Java and others||Under configuration||180|
|Gipsydrive||.||Works, eventually the admin username has to be set in one batchfile||30|
|GnuCash||Accounting program (desktop)||Under configuration||160|
|Joomla||Content Management System||Works after Apache and MySQL is running||20|
|MicroApache||Extremely downsized Apache||Under configuration||30|
|MySQL 5.1||SQL Database, dependency for some other applications||Works; additional custom instances can be run on non-standard ports||260|
|NetBeans for PHP||IDE for PHP (other targets available)||Works||130|
|NIWA||Simple content management system||Under configuration||2|
|OXID eShop||Webshop serving as template to branch individual webshops||Works after Apache and MySQL are running||20|
|Perl||Interpreter, dependency for some other applications||Works partially||120|
|PHP 5.2 and 5.3||Interpreter, dependency for some other applications||Works (after Apache is running, if you want not only the commandline interpreter)||80|
|PostgreSQL||SQL-database, dependency for some other applications||Works, needs some tweaking||130|
|Python 2.6||Interpreter, dependency for some other applications||Works for filesystem scripts; not yet as an Apache module, but as CGI||160|
|SharpDevelop||IDE for C# (F# and Python available)||Works||50|
|SQL-Ledger||Accounting application (web)||Experimental; needs better Perl set up||30|
|SugarCRM||.||Not yet running||50|
|Thunderbird||Email client. Well, your private emails in a public repository make not much sense. You could use this repository as template to branch off your private installation.||Works||40|
|Prozesshacker 2.12 from processhacker.sourceforge.net , downloaded 20110302°1721|
|XML Copy Editor|
|Tools2||Crystal Disk Info||Works||10|
|Crystal Disk Mark|
|Trac||Simple wiki including other communication tools||Works, but not yet via Apache module, only by it's built-in standalone server||2|
|UMLet||Simple UML diagram drawing tool from www.umlet.com , downloaded 20110124°1701||Works||10|
|XAMPP||Apache / PHP / MySQL stack||Experimental||170|
This makes all together 2.8 GB net download, means 5.3 GB on your drive. Of course you will not want all of them.
What exactly is meant by 'portable'? Applications which run from an USB drive are used to be called 'portable'. But be careful: sometimes 'portable' means something different, e.g. source code, which is portable between operating systems. An example of the meaning 'portable' between platforms see http://apr.apache.org .
Why is The Fat Portable Webstack (now called Gipsydrive) called fat? Because it really is fat! At least as opposed to existing reay-made packages like Portable XAMPP, Microapache and others. Those are typically optimized for size and ease of installation. The Fat Portable Webstack is not optimized at all. Or say, it is optimized for completness and flexibility. It utilizes the plain and full standard versions of the components.
There already exist portable Apache stacks. Why another one? On the internet, you find several bundles including a more or less complete stack of Apache together with PHP, Perl, MySQL and/or other Databases. Those bundles are optimized for easy installation. They are closed systems: the bundle's components are interwoven and have one configuration for the packet. But we want free configuration of each single component. Each component shall be exchangable and finetunable, not being glued together with the others. So Gipsydrive is not one bundle, but a system of independend applications.
Where comes the logo for this page from? It comes from the Open Clip Art Library 0.19 ( . It was created by Yves Guillou. He providet 37 Tangram 'configurations', this one might depict a kungfu fighter or something like.
Here what should be fixed or is otherwise quirky.
|low||Create apaches Subversion-repository on checkout automatically (see http.conf ~z.localhost.svn)||
Create it manually.
|low||Eliminate the purely SVN-formal \'trunk\' folders. They make no sense in our context, but only blow up the folder structure.||Just live with it.||Will only be done during a deep refactoring or if the project moves.|
|high||Elucidate when exactly Apache wants be started with admin rights and when this is not the case. Enhance the batchfiles to take such differences into consideration.||Use the apache-monitor.bat instead of apache-start/stop.bat. The Apache Monitor has some built-in intelligence to offer a dialog to ask for user rights if necessary.||Todo|
|medium||The downloaded project folder is called \'gipsydrive\' and inside it under the trunk there is another \'gipsydrive\' folder. This is puzzling. Proposal: rename the inner one to \'cockpit\'.||Look sharp, and don\'t let you puzzle.||Done in v.0.1.2 20101009°0221|
As long as there is no wiki here yet, or public editing of this page is possible, please write an email with your oppinion to , and we will place your unchanged text here. Thank you very much! And of course you are invited to join in to the project, just ask for the password to get write access!
Below are only trash snippets, waiting to be cleaned up.
The exact procedure then depends e.g. on what other Apaches run on your station and collide, or what exotic pathes you are using. Please remember: This project is in it's infant state. You will only be happy with this project, if you are willing to learn some details about Apache. In an optimistic scenario, just follow below receipt.
(1) Adapt the pathes in app.apache\trunk\Apache2.2\conf\httpd.conf. In your text editor, with searching for '###' you will jump to 5 places, and obviously see, what to change there. The places to edit are:
(2) Adapt the username in the two batchfiles httpd-service.install.bat and httpd-service.uninstall.bat. This two files have to run as administrator rights, so it contains the runas command, whith a respective username.
(3) Doubleclick the httpd-service.install.bat. After typing the admin password, it will start the Apache Windows service. If there is any doubt, see the Services.
(5) Doubleclick httpd-start.bat. This will switch the service on.
(6) Start your browser and point it to http://localhost. The browser shall show app.apache\trunk\htdocs\index.html now.
Last not least: If you do further developing on the Workspace Apache and write your changes back to the public(!) repository - watch out, not to commit personal data from your private workstation which may reside inside batchfiles, configfiles and logfiles!
http://httpd.apache.org/docs/1.3/windows.html- Basic knowhow for the task at hand.
http://svn.spears.at- Nice tutorial for adding Subversion functionality.
http://www.heise.de/security/meldung/Update-fuerApache-Webserver-2-2schliesst-mehrere-Sicherheitsluecken-949269.html- BTW, our Apache 2.2.14 here is no more the latest.
There already exist portable Apache webserver bundles. Why another? We found only bundles, including a more or less complete stack of Apache with PHP, Perl, MySQL or other Databases. The existing bundles are optimized for small size and for or ease of use, not for free exchange of components.
We found such interwoven clusters not matching for our exact want. We want exchange each single component, version, configuration. Each component has to be exchangable and finetunable for itself.
The system starts in a defined order. Apache is the first component started in the environment, then come PHP, MySQL, OXID eShop.
Preparing this repository. Install the Apache Windows binary on your local machine. Copy the installed program folder as is to the workspace. The Apache will not run from there as is, since the internal pointers, namely in httpd.conf point to local folders. But it is no problem to start it's exe files from the commandline.
While you run or develop the Workspace Apache, you learn a lot about that websever. The Apache is a really nice, robust and easy to understand program. Watch the interferences with any already installed local Apache. Watch what ApacheMonior.exe does exactly, watch the Windows services on your machine, watch the processes in the Taskmanager in each state of execution.
Possible full explanatory project title : A Complete Portable Apache Webserver Stack with the Full and Independent Versions of the Components On a Portable USB Drive, as opposed to existing ready-made closed bundles.