Home   -   Computerkurs   DemoMatrix   Editpointstatic   Folderwatcher   Gipsydrive   Licenses   Shrinkseries   V4   More...  

Apache   Chrome   Firefox   MySQL   NetBeans   Niwa   Opera   OXID   PHP   Ruby   SharpDevelop   Subversion   Tools  

Previous page Home chapter Next page

Logo for Gipsydrive

Trilo - Downtown

Gipsydrive Applications

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.
Project status : Productive
Platform : Windows
(Tested for Windows XP 32 Bit, should run also under higher Windows flavours)
Requirements : None
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.
Download : gipsydrive-0-1-3.zip (3.0 MB)
(Perhaps you want rather check out the current version from the SVN repository.)
Release date : 2010-October-12
Repository : http://downtown.trilo.de/svn/app.gipsydrive
Target group : Developers under Windows

Sections on this page:   Introduction   Installation   Overview   Q & A   Issues   Discussion

Introduction

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.

Installation

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.

The Gipsydrive cockpit folder

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.

The Gipsydrive basic application set

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 Gipsydrive cockpit

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 ...

...

Overview

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
Chrome Webbrowser  Works 110
Clamwin Virus scanner Works 80
CouchDB NoSQL-database  Works; eventual a location has to be set in the config file 200
DIA Diagram painter  Works 60
DokuWiki Wiki  Planned 0
Eclipse IDE for Java and others  Under configuration 180
Firefox Webbrowser  Works 70
Foswiki Wiki  Planned 0
GIMP Graphics program Works 30
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
MediaWiki Wiki  Under configuration 40
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
OpenOffice Office suite  Works 240
Opera Webbrowser  Works 20
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
Selenium . Under configuration 2
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
Tools 7Zip
Works 40
cURL
DeleteInvalidFile
FileZilla
Foobar2000
HjSplit
Kompozer
Mercurial
Notepad++
Prozesshacker 2.12 from processhacker.sourceforge.net , downloaded 20110302°1721
PuTTY
TaskbarShuffle
TightVNC Viewer
TrueCrypt
Wget
WinDirStat
XML Copy Editor
Tools2 Crystal Disk Info Works 10
Crystal Disk Mark
Directory Compare
YouTubeDownloaderHD
Tools3 Amaya
Works 60
Kompozer
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.

Q & A

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 [archives pdf ] .

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 (download 20090618°0021 ). It was created by Yves Guillou. He providet 37 Tangram 'configurations', this one might depict a kungfu fighter or something like.

Issues

Here what should be fixed or is otherwise quirky.

Priority Description Workaround Status Issue-ID
low Create apaches Subversion-repository on checkout automatically (see http.conf ~z.localhost.svn) Create it manually.
Todo 20110823°1648
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. 20100923°1041
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 20100923°1042
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 20100923°1341
. . . . #
. . . . #
. . . . #

 

Discussion

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 Email, 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.

 

Apache

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:

  1. ServerRoot
  2. Listen (the port needs only be edited if you don't like port 80)
  3. DocumentRoot
  4. <Directory ...> (htdocs)
  5. <Directory ...> (cgi-bin)

(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!

Links

http://httpd.apache.org/docs/1.3/windows.html [archives pdf] - Basic knowhow for the task at hand.

http://svn.spears.at [archives pdf] - Nice tutorial for adding Subversion functionality.

http://www.heise.de/security/meldung/Update-­fuer­Apache-­Webserver-2-2­­schliesst-­mehrere-­Sicherheitsluecken-­949269.html [archives pdf ] - BTW, our Apache 2.2.14 here is no more the latest.

Technical details

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.

 

Imprint : www.trilo.de