En cierto sitio usábamos Drupal como Intranet documental. Surgió la necesidad de disponer de una versión de la Intranet offline (para intervenciones en las que pudiera no haber acceso a ésta, por ejemplo, o como backup por si cae todo el sistema). Mediante el proyecto Server2Go se ha montado una pequeña plataforma que se puede montar sobre un stick USB.

De esta manera podemos disponer de una Intranet portable bajo plataformas Windows (Windows 98, Windows Me, Windows XP, Windows 2000, Windows Vista), aunque en la página web del proyecto están preparando el entorno para Mac OSX y posteriormente se porteará a Linux.

El archivo de configuración ‘maestro’ del Server2Go es el pms_config.ini. Los archivos de configuración específicos de Apache, Mysql y PHP se encuentran en serverconfig_tpl. A continuación en rojo los parámetros que se han modificado del pms_config.ini que pueden ser interesantes de customizar según las necesidades de cada uno, y en azul los parámetros para que la base de datos MySQL no se monte en local en el PC en vez del stick USB… por defecto el sistema monta una especie de réplica y trabaja con esa réplica en local bajo c:MyS2GAppData pero por algún error, cuando se cerraba el servicio, se colgaba y no escribía los cambios de la base de datos en el stick USB.

[general]
;--- If you use the ShowTrayIcon Parameter, you can define a name that is used in the Menu and Tooltip
ServerName=Server2Go
;--- Shows a splash screen at startup. If here is no value, no splash will be shown. You can set a grafic file
;--- name for images in the Formats:  BMP GIF JPG PNG TIF ICO TGA PCX PSD at the moment
UseSplash=splash.png
;--- Show progress bar at startup
ShowStartupProgress=1
;--- You can set a color that will be shown transparent. You need to define a RGB Value
;--- in the style SplashTransparencyColor=128,128,128
SplashTransparencyColor=128,128,128
;--- Set this to true if you want to keep the server running after browser close or if you user NONE as browser type
;--- Please note that the only possibility to shutdown the server is to kill him over the taskmanager if this is true
KeepRunningAfterBrowserClose=1
;--- If the following parameter is 1 Server2Go shows a tray icon for shutting down the server. If you dont like a tray
;--- icon just left this parameter with value 0
ShowTrayIcon=1
;--- Server2Go needs write access to the servers configuration files. For that all config files will be copied to a temp folder
;--- if StartLocal is 0. If you like to use Server2Go in a writeable environment (i.e. harddisk) you can use the value 1
;--- instead. Please note that StartLocal=1 on a CD-ROM will NOT WORK!!!!!
StartLocal=0
;--- You can restrict the amount of running instances of one application to a single instance.
;--- That means that a user just can start one instance of your webapplication based on server2go.
;--- If you set the following parameter to 1 only one instance is allowed
AllowOnlySingleInstance=1

[http]
;--- Defines the hostname that should be shown in the browser url and that is used for the apache server
;--- At the moment only IP addresses or the placeholder {local_ip} is allowed.
HostName=127.0.0.1
;--- Defines the port that should be used. If this port is in use a unused
;--- port will be searched automatically
Port=80
;--- The start html/php page, so you can define any page in your document root folder as start file (i.e. pages/start.php)
;--- If empty a huge variety of default handlers is used (index.php, index.html, index.htm...)
DefaultFile=index.php
;--- defines the root directory in that all webfiles are saved
DefaultRoot=htdocs
;--- If value is 1 all temporary files of the http server (sessions...) will be deleted after
;--- Server shutdown
DeleteHttpTemp=1
;--- If HideTempFolder is set to 1 the folder will created as hidden folder
HideTempFolder=1

[Browser]
;--- The browser that is started after server start (possible values: IEXPLORER, FIREFOX, MOZILLA, DEFAULT, EXTERNAL)
BrowserType=FIREFOX
;--- Browser command options like -k (NOT IN USE AT THE MOMENT)
BrowserCommandOptions=
;--- Path to an external browser that is used instead the browser above
BrowserPath=ExternalBrowser/SimpleBrowser.exe
;--- Specify caption text of Work Offline dialog box. You can use mor than one captions (seperated with ; )
;--- The captions for german, english, french, dutch and spanish are build in by default
WorkOfflineTitle=
;--- The size of the started browser. Can be a pixel dimension (1024x768) or the values MAXIMIZE and
;--- KIOSK (Internet Explorer only)
BrowserSize=

[database]
;--- 1 if MySQL Server should be started
UseMySQL=1
;--- 1 if the database files from the dbdir directory will be mirrored to
;--- a directory of the local machine
LocalMirror=0
;--- 1 if the mirrored database should be overwritten at each start of the
;--- the server
OverwriteLocalMirror=0
;--- The path to that the database should be mirrored, if empty the
;--- default temp directory is used
;MirrorFolder=c:MyS2GAppData
;--- If value is 1 all files of the database server will be deleted after
;--- Server shutdown
DeleteDatabaseFiles=0
;--- The port that should be used for MySQL. If empty the default mysql port is used
MySQLPort=7188
;--- Commandline parameters (i.e. skip-innodb)
MySQLCmd=--skip-innodb
;--- If HideMirrorFolder is set to 1 the folder will created as hidden folder
HideMirrorFolder=0

[AdditionalParsing]
;--- You can define additional file that will be parsed at startup for replacement string. You can use it i.e. to add the
;--- current server path to a htaccess file or changing configuration files of your webapplication at startup
;--- PLEASE NOTE THAT THIS WILL ONLY WORK IF YOU ARE NOT WORKING ON A WRITE PROTECTED MEDIUM LIKE A CD!!!!!
;--- You can use this on harddisk or usb stick...
File1=
File2=
File3=
File4=
File5=
File6=
File7=
File8=
File9=
File10=

[Path]
;--- You don't need to change anything of the below settings if you work with the out-of-the box Server2Go download package
;--- But if you like to use Server2Go with another webserver package like XAMPP you can change the pathes to your special
;--- Server package.
;--- Please ensure that you read the FAQ before starting to adapt your Server package
;--- The path to the apache EXE file for starting and shutdown
;PathToApache=serverapacheapache.exe
;--- The path to the httpd.conf file of apache
;PathToHttpdConf=serverapacheconfhttpd.conf
;--- The path to the mysql bin folder
;PathToMysqlBin=servermysqlbin
;--- The path to the my.ini file of mysql
;PathToMyIni=servermysqlmy.ini
;--- Path to the data directory of mysql
;PathToMySqlData=servermysqldata
;--- Path to the share directory of mysql
;PathToMySqlData=servermysqlshare
;--- Path to the php.ini file
;PathToPhpIni=serverapachephp.ini

Para hacer cambios en la base de datos se puede acceder al phpmyadmin que hay configurado (bajo http://localhost:PORT/phpmyadmin). No hay contraseña establecida para root por defecto, por lo que no pide autorización.

Una forma de hacer la actualización de los datos de forma lo más automática posible podria ser creando un pequeño directorio de BACKUP en el stick USB, añadir los programas gzip.exe, pscp.exe y tar.exe para Windows y un pequeño BAT que podría ser tal como éste:

@echo off
set SERVER=servidor_backup_intranet
set DIRECTORY=/path/backups/drupal
set FECHA=%date:~6,4%%date:~3,2%%date:~0,2%
echo ##################################################################
echo Copiando base de datos......
echo ##################################################################
pscp.exe root@%SERVER%:%DIRECTORY%/database/drupal_%FECHA%.sql .
echo ##################################################################
echo Copiando archivos......
echo ##################################################################
pscp.exe root@%SERVER%:%DIRECTORY%/files/drupal_%FECHA%.tar.gz .
echo ##################################################################
echo Volcando base de datos......
echo ##################################################################
..servermysqlbinmysql -h localhost -P 7188 -u root drupal < drupal_%FECHA%.sql
echo ##################################################################
echo Descomprimiendo archivos...
echo ##################################################################
cd ..htdocs
..BACKUPgzip -d ..BACKUPdrupal_%FECHA%.tar.gz
echo ##################################################################
echo Volcando archivos en htdocs...
echo ##################################################################
..BACKUPtar xf ..BACKUPdrupal_%FECHA%.tar -m