Difference between revisions of "Xebra Installation"
(→Setup Apache) |
|||
Line 51: | Line 51: | ||
</Directory> | </Directory> | ||
</IfModule> | </IfModule> | ||
+ | |||
+ | * The install script also changes the Listen Port from 80 to 55000. Change this if you wish to run this apache parallel to another webserver that uses port 80. | ||
* Restart apache (if necessary, you need to stop and start instead of restart) | * Restart apache (if necessary, you need to stop and start instead of restart) | ||
Line 79: | Line 81: | ||
* Copy [https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/c_projects/apache_mod_xebra_win/Debug/mod_xebra.so mod_xebra.so] to your Apache2.2\modules folder. | * Copy [https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/c_projects/apache_mod_xebra_win/Debug/mod_xebra.so mod_xebra.so] to your Apache2.2\modules folder. | ||
* Add the following lines to Apache2.2\conf\httpd.conf: | * Add the following lines to Apache2.2\conf\httpd.conf: | ||
+ | #Xebra Module | ||
LoadModule xebra_module modules/mod_xebra.so | LoadModule xebra_module modules/mod_xebra.so | ||
− | AddHandler mod_xebra .xeb | + | <IfModule xebra_module> |
− | + | AddHandler mod_xebra .xeb | |
− | + | XebraServer_port "55001" | |
− | + | XebraServer_host "localhost" | |
− | + | LogLevel debug | |
− | + | DirectoryIndex index.xeb | |
− | + | <Files ~ "\.(ini|e|ecf)$"> | |
− | + | Order allow,deny | |
− | + | Deny from all | |
− | + | </Files> | |
− | + | <Directory ~ "EIFGENs"> | |
− | + | Order allow,deny | |
− | + | Deny from all | |
+ | </Directory> | ||
+ | </IfModule> | ||
+ | |||
* Restart Apache | * Restart Apache |
Revision as of 09:48, 30 June 2009
Contents
Notes
- Use Xebra revision 78995 for this tutorial.
- This tutorial was tested with EiffelStudio 6.4.7.8600 ($ISE_EIFFEL) and eiffel_src ($EIFFEL_SRC) revision 78995.
- The env vars $EIFFEL_SRC, $ISE_EIFFEL, $ISE_PLATFORM and $ISE_LIBRARY are expected to be set.
Ubuntu 9.04 with Apache 2.2.11
Note
There is an installation script available for this type of configuration: https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/tools/scripts/install_xebra_ubuntu.sh
The script expects $XEBRA_DEV, $EIFFEL_SRC, $ISE_EIFFEL and $ISE_LIBRARY to be set. It will checkout xebra to $XEBRA_DEV, download and install apache to $XEBRA_DEV/httpd and compile the translator and the server. After the script was successfully run you have to edit $XEBRA_DEV/eiffel_projects/xebra_server/config.ini to match your configuration (see Xebra Server Config File).
Checkout Xebra
- Define $XEBRA_DEV and checkout xebra from https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/ to $XEBRA_DEV
Setup Apache
Note: Mod_xebra does currently not run with the apache distribution that comes with ubuntu.
- Download apache unix source httpd-2.2.11 from http://httpd.apache.org/download.cgi
- Extract
- Define $APACHE2 where you want to install apache, e.g. to $XEBRA_DEV/httpd
- Run the following commands:
CFLAGS="-ggdb"./configure --prefix={insert path here} make make install
- Compile the module by running
cd $XEBRA_DEV/c_projects/mod_xebra $APACHE2/bin/apxs -c -Wc,-ggdb -I$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/include mod_xebra.c mod_xebra.h
- Install the module to apache by running
sudo $APACHE2/bin/apxs -i mod_xebra.la
- Add the following lines to Apache2.2\conf\httpd.conf:
#Xebra Module LoadModule xebra_module modules/mod_xebra.so <IfModule xebra_module> AddHandler mod_xebra .xeb XebraServer_port "55001" XebraServer_host "localhost" LogLevel debug DirectoryIndex index.xeb <Files ~ "\.(ini|e|ecf)$"> Order allow,deny Deny from all </Files> <Directory ~ "EIFGENs"> Order allow,deny Deny from all </Directory> </IfModule>
- The install script also changes the Listen Port from 80 to 55000. Change this if you wish to run this apache parallel to another webserver that uses port 80.
- Restart apache (if necessary, you need to stop and start instead of restart)
sudo $APACHE2/bin/apachectl restart
- Make sure no other apache is running, e.g. run
sudo apache2ctl stop
- Browse to http://localhost/test.xeb. You should see the Fail Whale and a message saying "Cannot connect to XebraServer. See apache error log."
- Hint: keep an eye on the apache error log tail -f $APACHE2/logs/error_log
Compile the Xebra Translator
cd $XEBRA_DEV/eiffel_projects/xebra_translator/ ec -config xebra_translator-voidunsafe.ecf -target xebra_translator -c_compile -clean
Run the Xebra Server
See Xebra Tutorial for how to run the server.
Windows with Apache 2.2.11
Checkout Xebra
- Define $XEBRA_DEV and checkout xebra from https://svn.origo.ethz.ch/eiffelstudio/trunk/Src/framework/web/xebra/ to $XEBRA_DEV
Setup Apache
- Download apache httpd-2.2.11 windows binary from http://httpd.apache.org/download.cgi
- Install (Choose Custom Installation and install Build Headers and Libraries as well)
- Copy mod_xebra.so to your Apache2.2\modules folder.
- Add the following lines to Apache2.2\conf\httpd.conf:
#Xebra Module LoadModule xebra_module modules/mod_xebra.so <IfModule xebra_module> AddHandler mod_xebra .xeb XebraServer_port "55001" XebraServer_host "localhost" LogLevel debug DirectoryIndex index.xeb <Files ~ "\.(ini|e|ecf)$"> Order allow,deny Deny from all </Files> <Directory ~ "EIFGENs"> Order allow,deny Deny from all </Directory> </IfModule>
- Restart Apache
- Browse to http://localhost/test.xeb. You should see the Fail Whale and a message saying "Cannot connect to XebraServer. See apache error log."
Compile Xebra Translator
- Launch estudio and open the project $XEBRA_DEV/eiffel_projects/xebra_translator/xebra_translator-voidunsafe.ecf
- Compile
Run the Xebra Server
See Xebra Tutorial for how to run the server.
Windows with IIS7
no documentation yet