From 3a9ba75717dab773de111b38d1c3299f1cd716b3 Mon Sep 17 00:00:00 2001 From: Javier Velilla Date: Tue, 22 Dec 2015 11:37:25 -0300 Subject: [PATCH] Initial commit Deployment file --- doc/workbook/deployment.md | 163 +++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 doc/workbook/deployment.md diff --git a/doc/workbook/deployment.md b/doc/workbook/deployment.md new file mode 100644 index 00000000..3f86da95 --- /dev/null +++ b/doc/workbook/deployment.md @@ -0,0 +1,163 @@ +EWF Deployment +============== + +#Apache on Windows# + +1. Apache Install +2. Deploying EWF CGI +3. CGI overview + 1. Build EWF application + 2. Copy the generated exe file and the www content .htaccess CGI +4. Deploying EWF FCGI +5. FCGI overview + 1. Build EWF application + 2. Copy the generated exe file and the www content.htaccess CGI + + + +##Apache on Windows + +###Apache Install + +>Check the correct version (Win 32 or Win64) +>Apache Version: Apache 2.4.4 +>Windows: http://www.apachelounge.com/download/ + +####Deploying EWF CGI + +####CGI overview +>A new process is started for each HTTP request. So if there are N requests to the same >CGI program, the code of the CGI program is loaded into memory N times. +>When a CGI program finishes handling a request, the program terminates. + +* Build EWF application + + ec -config [app.ecf] -target [app_cgi] -finalize -c_compile -project_path + + +>Note: change app.ecf and target app_cgi based on your own configuration. + +* Copy the generated exe file and the www content + +Copy the app.exe and the folder _www_ into a folder served by apache2, for example under. + + + /htdocs. + + = path to your apache installation + + Edit httpd.conf under c://conf + + DocumentRoot "c://htdocs" + + /htdocs"> + AllowOverride All -- + Require all granted -- this is required in Apache 2.4.4 + + +Check that you have the following modules enabled + + LoadModule cgi_module modules/mod_cgi.so + LoadModule rewrite_module modules/mod_rewrite.so + +####Tip: +>To check the syntax of your httpd.conf file. From command line run the following + + $>httpd - t + + +>.htaccess CGI + http://perishablepress.com/stupid-htaccess-tricks/ + +####.htaccess + + Options +ExecCGI +Includes +FollowSymLinks -Indexes + AddHandler cgi-script exe + + + RewriteEngine on + + RewriteRule ^$ $service [L] + + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} !$service + RewriteRule ^(.*)$ $service/$1 + + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] + Replace $service with the name of your executable service, for example app_service.exe + + +####Deploying EWF FCGI +>To deploy FCGI you will need to download the mod_fcgi module. +>You can get it from here http://www.apachelounge.com/download/ + +####FCGI overview +>FastCGI allows a single, long-running process to handle more than one user request while keeping close to the CGI programming model, retaining the simplicity while eliminating the overhead of creating a new process for each request. Unlike converting an application to a web server plug-in, FastCGI applications remain independent of the web server. + +* Build EWF application + + ec -config [app.ecf] -target [app_fcgi] -finalize -c_compile -project_path . + +>Note: change app.ecf and target app_fcgi based on your own configuration. + +* Copy the generated exe file and the www content + +Copy the app.exe and the folder "www" into a folder served by apache2, for example under + + /htdocs. + + = path to your apache installation + + Edit httpd.conf under c://conf + + DocumentRoot "c://htdocs" + + /htdocs"> + AllowOverride All -- + Require all granted -- this is required in Apache 2.4.4 + + +>Check that you have the following modules enabled + + LoadModule rewrite_module modules/mod_rewrite.so + LoadModule fcgid_module modules/mod_fcgid.so + +>NOTE: By default Apache does not come with fcgid module, so you will need to download it, and put the module under Apache2/modules + +#.htaccess FCGI +>http://perishablepress.com/stupid-htaccess-tricks/ + +####.htaccess + + Options +ExecCGI +Includes +FollowSymLinks -Indexes + + + AddHandler fcgid-script .ews + FcgidWrapper $FULL_PATH/$service .ews + + + + + RewriteEngine on + + RewriteBase / + RewriteRule ^$ service.ews [L] + + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} !=/favicon.ico + RewriteCond %{REQUEST_URI} !service.ews + RewriteRule ^(.*)$ service.ews/$1 + + + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] + + +Replace $service with the name of your executable $service, for example app_service.exe +You will need to create an service.ews file, this file will be located at the same place where you copy your app service executable. + + + +