ePages 6.17+ WebInterface | → 6.17.13 | Created: 6.17.13; Updated: 6.17.13 |
ePages 6.17 provides a new WebInterface. Major changes compared to ePages 6.16 or earlier are:
Table of Contents |
The WebInterface was rewritten, following executables are new / changed by the patch:
WebInterface services are started/stopped by:
The new executables are configured by ServerConfig.xml, located in Shared/Config/. [GLOBAL] and [URLRewrite] are the only sections of WebInterface.conf which are still used.
For detailed information on WebInterface.conf see document ePages 6.17+ WebInterface.conf.
ServerConfig.xml is used to setup Request Router, ASPoolDB Cache Server and Application Server addresses.
For detailed information on WebInterface.conf see document ePages 6.17+ ServerConfig.xml.
For detailed information see document ePages 6.17+ WebInterface Request Processing.
The ASPoolDB is now MySQL. The ASPoolDB connection is defined in Shared/Config/Database.d/ASPoolDB.conf:
[Connection] active=1 datasource=dbi:mysql StoreType=ASPoolDB login=usr_aspooldb passwd=epages Database=aspooldb
The database is (typically) stored in /var/lib/mysql/aspooldb.
Cartridges/Cartridges.xml defines the ePages cartridges which are installed in ASPoolDB:
<DatabaseType Name="ASPoolDB" > <Cartridge Package="DE_EPAGES::Core" /> <Cartridge Package="DE_EPAGES::XML" /> <Cartridge Package="DE_EPAGES::TLE" /> <Cartridge Package="DE_EPAGES::DataCache" /> <Cartridge Package="DE_EPAGES::Database" /> <Cartridge Package="DE_EPAGES::WebInterface" /> <Cartridge Package="DE_EPAGES::Trigger" /> <Cartridge Package="DE_EPAGES::WebInterfacePoolDB" /> </DatabaseType>
Formerly, ePages specific configuration of the Apache web server was included in the standard configuration (typically) in /etc/httpd. An existing ePages specific /etc/httpd is backed up to /etc/httpd.backup-DATE (where DATE is %Y.%m.%d-%H.%M.%S, e.g. 2014.09.11-14.30.38) when updating RPM package epages-webconf (by the patch).
Now, ePages uses it's own Apache instance. ePages Apache is started by the run script /etc/init.d/apache2-epages. The run script is used when executing /etc/init.d/epages6 start_httpd or /etc/init.d/epages6 stop_httpd.
/etc/init.d/apache2-epages executes /usr/sbin/apache2ctl-epages.
apache2ctl-epages starts Apache with the configuration in /etc/apache2-epages/.
Apache configuration files of the ePages instance are stored in /etc/apache2-epages/.
/etc/apache2-epages/include.txt shows all configuration files and how they are included, see section /etc/apache2-epages/include.txt.
The .conf files use variables ${VAR} like:
/etc/apache2-epages/extra/httpd_main.conf:Listen ${APACHE_PORT}
The variables are defined in /etc/apache2-epages/envvars as VAR= like:
/etc/apache2-epages/envvars:APACHE_PORT=80
If you need to change the Apache configuration just change envvars, not .conf files (if possible). Unchanged .conf files will be patched by ePages, changed .conf files can't be patched.
If you update ePages to 6.17 and if you customized /etc/httpd formerly, don't forget to include those changes into the new /etc/apache2-epages configuration files. The old configuration you'll find in the backup /etc/httpd.backup-DATE.
Apache environment variables might be changed in /etc/apache2-epages/envvars, although it is not necessary. Each environment variable is described in detail there, see section /etc/apache2-epages/envvars.
Note: After changing /etc/apache2-epages/envvars, ePages Apache must be restarted in order to changes take effect. Reload (kill -HUP) is not sufficient.
#!/bin/bash # envvars - default environment variables for apache2ctl # this won't be correct after changing uid unset HOME ETC_DEFAULT=$(readlink -f /etc/default/epages6) [[ -f $ETC_DEFAULT ]] || { ls -l /etc/default/epages6 $ETC_DEFAULT; exit 1; } . /etc/default/epages6 SCRIPTNAME=apache2-epages export APACHE_RUN_USER APACHE_RUN_GROUP APACHE_MODS_DIR APACHE_WEBADAPTER_DIR export APACHE_MONITOR_DIR APACHE_WEBSECURE_DIR APACHE_DOCUMENT_ROOT export APACHE_SERVER_ROOT APACHE_PERL5LIB APACHE_LD_LIBRARY_PATH export APACHE_PID_FILE APACHE_RUN_DIR APACHE_CACHE_DIR EPAGES_SSL_PROXY export APACHE_LOCK_DIR APACHE_LOG_DIR APACHE_ULIMIT_MAX_FILES APACHE_ARGUMENTS export APACHE_HTTPD APACHE_ADMIN_MAIL APACHE_INSTANCE APACHE_LIB64 APACHE_VER export APACHE_PORT APACHE_SSL_PORT APACHE_J_PORT APACHE_J_HOST export APACHE_SERVER_NAME APACHE_SHORTURL_EXCEPT APACHE_RPAF_PROXIES export APACHE_DOS_WHITELIST APACHE_BASE_ALLOW APACHE_MONITOR_ALLOW export APACHE_STATUS_ALLOW APACHE_EXPORT_ALLOW APACHE_REWRITEMAP_ALLOW # Since there is no sane way to get the parsed apache2 config in scripts, some # settings are defined via environment variables and then used in apache2ctl, # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc. APACHE_RUN_USER=${EPAGES_WEBUSER%:*} APACHE_RUN_GROUP=${EPAGES_WEBGROUP%:*} APACHE_MODS_DIR=$(httpd_modules_path) APACHE_WEBADAPTER_DIR=$EPAGES/WebAdapter APACHE_LIB64=/lib$(httpd_64) APACHE_VER=$(wi_ver) APACHE_MONITOR_DIR=$EPAGES_SHARED/Monitor APACHE_WEBSECURE_DIR=${EPAGES_WEBSECURE:-$EPAGES/Shared/WebSecure} APACHE_DOCUMENT_ROOT=$EPAGES_WEBROOT APACHE_SERVER_ROOT=/etc/$SCRIPTNAME APACHE_PERL5LIB=$(epages_perl5lib) APACHE_LD_LIBRARY_PATH=$(epages_libs) APACHE_PID_FILE=/var/run/$SCRIPTNAME.pid APACHE_RUN_DIR=/var/run/$SCRIPTNAME APACHE_CACHE_DIR=/var/cache/$SCRIPTNAME APACHE_LOCK_DIR=/var/lock/$SCRIPTNAME # Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. APACHE_LOG_DIR=/var/log/$SCRIPTNAME ## The locale used by some modules like mod_dav export LANG=C ## The command to get the status for 'apache2ctl status'. ## Some packages providing 'www-browser' need '--dump' instead of '-dump'. #APACHE_LYNX='www-browser -dump' ## If you need a higher file descriptor limit adjust the following line (default is 8192): APACHE_ULIMIT_MAX_FILES=${MAX_NOFD:+"ulimit -n $MAX_NOFD"} ## If you would like to pass arguments to the web server, add them below APACHE_ARGUMENTS=$HTTPD_OPTS ## path to apache executable APACHE_HTTPD=$(native_httpd_exe) ## e-mail of apache admin APACHE_ADMIN_MAIL=root@localhost ## name of the provider name who runs the web site APACHE_INSTANCE=${EPAGES_AMPROJECT:-${SCRIPTNAME#apache2-}} ## http(s) ports APACHE_PORT=80 APACHE_SSL_PORT=443 APACHE_LOCAL_PORT= APACHE_LOCAL_SSLPORT= ## epagesj connection APACHE_J_PORT=${EPAGESJ_PORT:-8088} APACHE_J_HOST=${EPAGESJ_HOST:-localhost} [[ $APACHE_J_HOST != ${APACHE_J_HOST#*:} && $APACHE_J_HOST = ${APACHE_J_HOST#[} ]] && APACHE_J_HOST="[$APACHE_J_HOST]" # IPv6 # Name used in http://APACHE_SERVER_NAME/ APACHE_SERVER_NAME=$(get_host_name WS) EPAGES_SSL_PROXY= # Do not rewrite short URL for following hosts. # - If set, extra/httpd_mod_rewrite_shorturl_hosts.conf is # automatically updated each time apache is started. APACHE_SHORTURL_EXCEPT=$(resolve_host_info WS) # Deny access for all hosts but following list # when website is closed. # - If set, extra/httpd_limit_except.conf is automatically # updated each time apache runs with -DSITECLOSED. APACHE_CLOSED_EXCEPT=$(resolve_host_info WS) # List of RPAFproxy_ips, used by mod_rpaf. # - Works only if -DRPAF is set in APACHE_ARGUMENTS. # - Do not use mod_rpaf on SuSE operating systems! APACHE_RPAF_PROXIES='127.0.0.1' # Allow access from specific hosts if denial-of-service attack, # used by mod_evasive. # - If set, extra/httpd_mod_evasive_whitelist.conf is # automatically updated each time apache is started. # - Works only if -DEVASIVE is set in APACHE_ARGUMENTS. # - Do not use mod_evasive on 32-bit hosts or SuSE operating systems! APACHE_DOS_WHITELIST='127.*' # Allow access to any restricted page from specific hosts: APACHE_BASE_ALLOW="127.0.0.1 localhost $(resolve_host_info WS)" # Allow access to /Monitor/spy.pl additionally # (beside APACHE_BASE_ALLOW) from specific hosts: APACHE_MONITOR_ALLOW= # Allow access to /server-info and /server-status additionally # (beside APACHE_BASE_ALLOW) from specific hosts: # - Works only if -DINFO is set in APACHE_ARGUMENTS. APACHE_STATUS_ALLOW= # Allow access to /WebSecure/ShopExport/ additionally # (beside APACHE_BASE_ALLOW) from specific hosts: APACHE_EXPORT_ALLOW= # Allow access to /WebSecure/RewriteMap/ additionally # (beside APACHE_BASE_ALLOW) from specific hosts: APACHE_REWRITEMAP_ALLOW= # load system specific environment # the path to the local environment variable file APACHE_ENVVARS_LOCAL=${APACHE_ENVVARS_LOCAL:-"$APACHE_SERVER_ROOT/envvars.local"} # pick up any necessary environment variables ENVVARS_LOCAL=$(readlink -f $APACHE_ENVVARS_LOCAL) [[ ! -f $ENVVARS_LOCAL ]] || . $APACHE_ENVVARS_LOCAL
httpd.conf \_ extra/httpd_main.conf \_ extra/zzz-epages-httpd.conf | \_ extra/httpd_rpaf_module.conf | \_ extra/zzz-epages-allow.conf | \_ extra/httpd_monitor_allow_additional.conf | \_ extra/httpd_addhandler_additional.conf \_ extra/pagespeed.conf \_ extra/httpd-mpm.conf \_ extra/httpd-info.conf | \_ extra/zzz-epages-allow.conf | \_ extra/zzz-info-allow.conf \_ extra/httpd-default.conf \_ extra/zzz-epages-ssl.conf \_ extra/httpd-vhosts.conf | \_ extra/httpd-vhosts_name.conf | \_ extra/httpd-vhosts_default.conf | | \_ extra/httpd_mod_rewrite.conf | | | \_ extra/httpd_loginredirect.conf | | | \_ extra/httpd_mod_rewrite_provider.conf | | | \_ extra/httpd_mod_rewrite_forbidden.conf | | | \_ extra/httpd_mod_rewrite_forbidden_additional.conf | | | \_ extra/httpd_limit.conf | | | \_ extra/httpd_limit_except.conf | | | \_ extra/httpd_mod_rewrite_shorturl_hosts.conf | | | \_ extra/httpd_mod_rewrite_shorturl_cond_additional.conf | | | \_ extra/httpd_mod_rewrite_suggest.conf | | | \_ extra/httpd_mod_rewrite_restapi.conf | | \_ extra/httpd_log_json.conf | | \_ extra/httpd_logssl_json.conf | | \_ extra/httpd_logssl.conf | \_ extra/httpd-vhosts_additional.d/*.conf | \_ extra/httpd-vhosts_additional.d/empty.conf | \_ extra/httpd-vhosts_additional.d/host.conf.example | \_ extra/httpd_mod_rewrite_sslonly.conf | \_ extra/httpd_logssl.conf | \_ extra/httpd_mod_rewrite_sslproxy.conf | \_ extra/httpd_mod_rewrite_suggest.conf \_ extra/httpd_mod_evasive.conf | \_ extra/httpd_mod_evasive_whitelist.conf | \_ extra/httpd_mod_evasive_additional.conf \_ extra/httpd_mod_reqtimeout.conf \_ extra/zzz-epages-websecure.conf \_ extra/zzz-epages-allow.conf \_ extra/zzz-epages-websecure.d/*.conf \_ extra/zzz-epages-websecure.d/rewritemap.conf \_ extra/zzz-epages-allow.conf \_ extra/zzz-epages-websecure.d/shopexport.conf \_ extra/zzz-epages-allow.conf \_ extra/zzz-epages-shopexport_allow.conf