Merge "Add support for Apache mod_proxy_wstunnel"
diff --git a/manifests/apache.pp b/manifests/apache.pp
index 7fe10d6..effaaab 100644
--- a/manifests/apache.pp
+++ b/manifests/apache.pp
@@ -2,6 +2,7 @@
#
class etherpad_lite::apache (
$vhost_name = $::fqdn,
+ $docroot = '/srv/etherpad-lite',
$serveradmin = "webmaster@${::fqdn}",
$ssl_cert_file = '',
$ssl_key_file = '',
@@ -18,7 +19,7 @@
include apache
apache::vhost { $vhost_name:
port => 443,
- docroot => 'MEANINGLESS ARGUMENT',
+ docroot => $docroot,
priority => '50',
template => 'etherpad_lite/etherpadlite.vhost.erb',
ssl => true,
@@ -59,6 +60,19 @@
}
}
+ file { $docroot:
+ ensure => directory,
+ }
+
+ file { "${docroot}/robots.txt":
+ ensure => present,
+ source => 'puppet:///modules/etherpad_lite/robots.txt',
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
+ require => File[$docroot],
+ }
+
file { '/etc/ssl/certs':
ensure => directory,
owner => 'root',
diff --git a/manifests/init.pp b/manifests/init.pp
index d918527..30b7f9b 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -16,7 +16,8 @@
$base_log_dir = '/var/log',
$base_install_dir = '/opt/etherpad-lite',
$nodejs_version = 'v0.10.21',
- $eplite_version = 'develop'
+ $eplite_version = 'develop',
+ $ep_ensure = 'present',
) {
# where the modules are, needed to easily install modules later
@@ -85,7 +86,7 @@
}
vcsrepo { "${base_install_dir}/etherpad-lite":
- ensure => present,
+ ensure => $ep_ensure,
provider => git,
source => 'https://github.com/ether/etherpad-lite.git',
owner => $ep_user,
diff --git a/manifests/site.pp b/manifests/site.pp
index 6dc3e11..fffff00 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -39,15 +39,6 @@
require => Class['etherpad_lite'],
}
- file { "${base}/etherpad-lite/src/static/robots.txt":
- ensure => present,
- source => 'puppet:///modules/etherpad_lite/robots.txt',
- owner => $etherpad_lite::ep_user,
- group => $etherpad_lite::ep_user,
- mode => '0644',
- require => Class['etherpad_lite'],
- }
-
include logrotate
logrotate::file { 'epliteerror':
log => "${base}/${etherpad_lite::ep_user}/error.log",
diff --git a/templates/etherpad-lite_settings.json.erb b/templates/etherpad-lite_settings.json.erb
index 74f3522..d5effc9 100644
--- a/templates/etherpad-lite_settings.json.erb
+++ b/templates/etherpad-lite_settings.json.erb
@@ -72,7 +72,7 @@
*/
// restrict socket.io transport methods
- "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
+ "socketTransportProtocols" : ["websocket", "xhr-polling", "jsonp-polling", "htmlfile"],
/* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
"loglevel": "INFO",
diff --git a/templates/etherpadlite.vhost.erb b/templates/etherpadlite.vhost.erb
index c0b1888..918ad8a 100644
--- a/templates/etherpadlite.vhost.erb
+++ b/templates/etherpadlite.vhost.erb
@@ -47,6 +47,10 @@
RewriteCond %{HTTP_HOST} !<%= scope.lookupvar("etherpad_lite::apache::vhost_name") %>
RewriteRule ^.*$ https://<%= scope.lookupvar("etherpad_lite::apache::vhost_name") %> [L,R=301]
+ # Server robots.txt directly so that it does not affect
+ # etherpad-lite installation.
+ RewriteRule ^/robots.txt$ <%= scope.lookupvar("etherpad_lite::apache::docroot") %>/robots.txt [L]
+
RewriteCond %{REQUEST_URI} !^/p/
RewriteCond %{REQUEST_URI} !^/locales/
RewriteCond %{REQUEST_URI} !^/locales.json