diff --git a/debian/jitsi-meet-web-config.postinst b/debian/jitsi-meet-web-config.postinst
index 13b0c9973..4b2019fe5 100644
--- a/debian/jitsi-meet-web-config.postinst
+++ b/debian/jitsi-meet-web-config.postinst
@@ -192,8 +192,34 @@ case "$1" in
invoke-rc.d nginx reload
elif [[ "$FORCE_APACHE" = "true" && ( -z "$JVB_HOSTNAME_OLD" || "$RECONFIGURING" = "true" ) ]] ; then
- echo "Apache2 server is installed, automatic configuration is not supported at this time."
- echo "You need to configure yourselve the virtual host for your domain."
+ # this is a reconfigure, lets just delete old links
+ if [ "$RECONFIGURING" = "true" ] ; then
+ a2dissite $JVB_HOSTNAME_OLD.conf
+ rm -f /etc/jitsi/meet/$JVB_HOSTNAME_OLD-config.js
+ fi
+
+ # apache2 config
+ if [ ! -f /etc/apache2/sites-available/$JVB_HOSTNAME.conf ] ; then
+ # when creating new config, make sure all needed modules are enabled
+ a2enmod rewrite ssl headers proxy_http include
+ cp /usr/share/doc/jitsi-meet-web/jitsi-meet.example-apache /etc/apache2/sites-available/$JVB_HOSTNAME.conf
+ a2ensite $JVB_HOSTNAME.conf
+ sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" /etc/apache2/sites-available/$JVB_HOSTNAME.conf
+ fi
+
+ if [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ] ; then
+ # replace self-signed certificate paths with user provided ones
+ CERT_KEY_ESC=$(echo $CERT_KEY | sed 's/\./\\\./g')
+ CERT_KEY_ESC=$(echo $CERT_KEY_ESC | sed 's/\//\\\//g')
+ sed -i "s/ssl_certificate_key\ \/etc\/jitsi\/meet\/.*key/ssl_certificate_key\ $CERT_KEY_ESC/g" \
+ /etc/apache2/sites-available/$JVB_HOSTNAME.conf
+ CERT_CRT_ESC=$(echo $CERT_CRT | sed 's/\./\\\./g')
+ CERT_CRT_ESC=$(echo $CERT_CRT_ESC | sed 's/\//\\\//g')
+ sed -i "s/ssl_certificate\ \/etc\/jitsi\/meet\/.*crt/ssl_certificate\ $CERT_CRT_ESC/g" \
+ /etc/apache2/sites-available/$JVB_HOSTNAME.conf
+ fi
+
+ invoke-rc.d apache2 reload
fi
# and we're done with debconf
diff --git a/debian/jitsi-meet-web-config.postrm b/debian/jitsi-meet-web-config.postrm
index f09d83916..ef96135cf 100644
--- a/debian/jitsi-meet-web-config.postrm
+++ b/debian/jitsi-meet-web-config.postrm
@@ -27,6 +27,9 @@ case "$1" in
if [ -x "/etc/init.d/nginx" ]; then
invoke-rc.d nginx reload
fi
+ if [ -x "/etc/init.d/apache2" ]; then
+ invoke-rc.d apache2 reload
+ fi
;;
purge)
db_get jitsi-meet/jvb-hostname
@@ -35,6 +38,8 @@ case "$1" in
rm -f /etc/jitsi/meet/$JVB_HOSTNAME-config.js
rm -f /etc/nginx/sites-available/$JVB_HOSTNAME.conf
rm -f /etc/nginx/sites-enabled/$JVB_HOSTNAME.conf
+ rm -f /etc/apache2/sites-available/$JVB_HOSTNAME.conf
+ rm -f /etc/apache2/sites-enabled/$JVB_HOSTNAME.conf
rm -f /etc/jitsi/videobridge/$JVB_HOSTNAME.jks
rm -f /etc/jitsi/videobridge/$JVB_HOSTNAME.p12
rm -f /etc/jitsi/meet/$JVB_HOSTNAME.key
diff --git a/debian/jitsi-meet-web.docs b/debian/jitsi-meet-web.docs
index 8421d4d7d..cd786636a 100644
--- a/debian/jitsi-meet-web.docs
+++ b/debian/jitsi-meet-web.docs
@@ -1,4 +1,5 @@
README.md
doc/debian/jitsi-meet/jitsi-meet.example
+doc/debian/jitsi-meet/jitsi-meet.example-apache
doc/debian/jitsi-meet/README
config.js
diff --git a/doc/debian/jitsi-meet/jitsi-meet.example-apache b/doc/debian/jitsi-meet/jitsi-meet.example-apache
new file mode 100644
index 000000000..3776f0d24
--- /dev/null
+++ b/doc/debian/jitsi-meet/jitsi-meet.example-apache
@@ -0,0 +1,43 @@
+
+
+ ServerName jitsi-meet.example.com
+ Redirect permanent / https://jitsi-meet.example.com/
+ RewriteEngine On
+ RewriteCond %{HTTPS} off
+ RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
+
+
+
+
+ ServerName jitsi-meet.example.com
+
+ SSLProtocol TLSv1 TLSv1.1 TLSv1.2
+ SSLEngine on
+ SSLProxyEngine on
+ SSLCertificateFile /etc/jitsi/meet/jitsi-meet.example.com.crt
+ SSLCertificateKeyFile /etc/jitsi/meet/jitsi-meet.example.com.key
+ SSLCipherSuite "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED"
+ SSLHonorCipherOrder on
+ Header set Strict-Transport-Security "max-age=31536000"
+
+ DocumentRoot "/usr/share/jitsi-meet"
+
+ Options Indexes MultiViews Includes FollowSymLinks
+ AddOutputFilter Includes html
+ AllowOverride All
+ Order allow,deny
+ Allow from all
+
+
+ Alias "/config.js" "/etc/jitsi/meet/jitsi-meet.example.com-config.js"
+
+ Require all granted
+
+
+ ProxyPreserveHost on
+ ProxyPass /http-bind http://localhost:5280/http-bind/
+ ProxyPassReverse /http-bind http://localhost:5280/http-bind/
+
+ RewriteEngine on
+ RewriteRule ^/([a-zA-Z0-9]+)$ /index.html
+