PURPOSE_="Generate config files needed for Evergreen-ILS Cluster"
SYNOPSIS_="$NAME_"
REQUIRES_="standard GNU commands, apt, dpkg"
- VERSION_="1.57"
- DATE_="2010-11-23; last update: 2015-12-21"
+ VERSION_="1.58"
+ DATE_="2010-11-23; last update: 2016-01-08"
AUTHOR_="Andy Witter <awitter@georgialibraries.org>"
URL_="http://evergreen-ils.org"
CATEGORY_="devel"
cp $TEMPLATEDIR/monitor/check_memcached.pl ../setup_${SUBFOLDER}/monitoring
cp $TEMPLATEDIR/monitor/check_postgres.pl ../setup_${SUBFOLDER}/monitoring
cp $TEMPLATEDIR/monitor/check_cpu.sh ../setup_${SUBFOLDER}/monitoring
+ cp -r $TEMPLATEDIR/apache2/websockets ../setup_${SUBFOLDER}
touch ../setup_${SUBFOLDER}/.osrf_node
sed -i "s^HOSTNAME^${SUBFOLDER}^g" ../setup_${SUBFOLDER}/debconf-settings
--- /dev/null
+# This is the main Apache 2.4 server configuration file for the OpenSRF
+# WebSockets gateway.
+
+Include mods-available/mpm_prefork.load
+Include mods-available/mpm_prefork.conf
+Include mods-available/access_compat.load
+Include mods-available/authz_core.load
+
+# if we don't want to run as "opensrf", change the LockFile
+#LockFile ${APACHE_LOCK_DIR}/accept.lock
+Mutex file:${APACHE_LOCK_DIR} default
+PidFile ${APACHE_PID_FILE}
+User ${APACHE_RUN_USER}
+Group ${APACHE_RUN_GROUP}
+
+DefaultType None
+HostnameLookups Off
+ErrorLog ${APACHE_LOG_DIR}/error.log
+LogLevel warn
+
+# only affects the initial connection, which should be quick.
+Timeout 30
+
+# WebSockets is KeepAlive on steroids
+KeepAlive Off
+
+<IfModule mpm_prefork_module>
+ StartServers 5
+ MinSpareServers 5
+ MaxSpareServers 20
+ # use ServerLimit to raise beyond 256
+ MaxClients 256
+ MaxRequestsPerChild 0
+</IfModule>
+
+# include the exact mods we need
+Include mods-available/mime.load
+Include mods-available/mime.conf
+# SSL requires mime
+Include mods-available/ssl.load
+Include mods-available/ssl.conf
+Include mods-available/socache_shmcb.load
+Include mods-available/websocket.load
+
+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %O" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# WebSockets via SSL
+Listen 7682
+<VirtualHost *:7682>
+ DocumentRoot /var/www
+ ServerName localhost:7682
+ ServerAlias 127.0.0.1:7682
+ SSLEngine on
+ SSLHonorCipherOrder On
+ SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
+
+ # re-use the certs from the main apache instance
+ SSLCertificateFile /etc/apache2/ssl/server.crt
+ SSLCertificateKeyFile /etc/apache2/ssl/server.key
+</VirtualHost>
+
+# WebSockets via non-SSL
+Listen 7680
+<VirtualHost *:7680>
+ ServerName localhost:7680
+ ServerAlias 127.0.0.1:7680
+ DocumentRoot /var/www
+</VirtualHost>
+
+# OpenSRF WebSockets gateway
+<Location /osrf-websocket-translator>
+ SetHandler websocket-handler
+ WebSocketHandler /usr/lib/apache2/modules/osrf_websocket_translator.so osrf_websocket_init
+</Location>
gdebi --n librose-uri-perl*.deb
gdebi --n libmarc-xml-perl*.deb
gdebi --n libbusiness-stripe-perl*.deb
+ gdebi --n bower*.deb
+ gdebi --n grunt*.deb
echo
echo "Installing OpenSRF:";sleep 2
echo
echo "Installing Dependencies for Apache Web Sockets for web based staff client";sleep 2
gdebi --n libapache2-mod-websocket*.deb
+ echo
echo "Setting up Apache Web Sockets for opensrf";sleep 2
service apache2 stop;sleep 2
sh /usr/share/doc/apache2/examples/setup-instance websockets
+ if [ -e "$WD/websockets" ]
+ then
+ echo
+ echo "Websockets found copying config files..."
+ sleep 2
+ cp -f $WD/websockets/* /etc/apache2/apache2-websockets
+ fi
a2dismod websocket
service apache2-websockets start