From SME Server
Jump to navigationJump to search

PythonIcon.png Skill level: advanced
The instructions on this page may require deviations from standard procedures. A good understanding of linux and Koozali SME Server is recommended.

webbapps-common for SME Server


[1]Daniel B. from Firewall Services


The latest version of smeserver-webapps-common is available in the SME repository, click on the version number(s) for more information.



The webapps tool is a set of template fragments and actions that can be helpful to create Apache Virtual hosts in a flexible way outside of the default IBays. For example you would like your web application to be available from '/opt/myapp'. The webapps tool also provides the ability serve your web application as a sub domain on your main domain e.g. 'http://myapp.mydomain.com'. Next to this there are a number of parameters that can be set that control flexibility and security.

Installing the webapps tool will not provide any additional functionality to server-manager, nor any other visible change to the end user. The webapps functionality is solely controlled by db keys and events.


You need the firewall-services repo to install this contribs

Installation 8.x 9.x i386

The webapps tool is currently available in the Firewall Services repository. To enable the FWS repo please see here

Some of the existing contribs already use the webapps tool and therefore the webapps tool is being installed as a dependecy for that contrib. The following contribs are know to have a dependency on the webapps tool:

After enabling the fws repo,

yum install smeserver-extrarepositories-fws --enablerepo=smedev,smecontribs -y
signal-event yum-modify

you can install the webapp tool:

yum install smeserver-webapps-common --enablerepo=fws
config set UnsavedChanges no

You can use to reconfigure some web application of fws by using

signal-event webapps-update

Installation 9.x x86_64

install needed repos

yum install smeserver-extrarepositories-remi-safe smeserver-extrarepositories-fws smeserver-extrarepositories-epel -y
signal-event yum-modify

Install and start fpm services

yum install smeserver-webapps-common --enablerepo=fws,epel
config set UnsavedChanges no
signal-event webapps-update
service php-fpm restart
service php56-php-fpm restart
service php70-php-fpm restart
service php71-php-fpm restart

You can use to reconfigure some web application of fws by using

signal-event webapps-update


The most important things to know is that you can create a domain by command line. More features will be created compared with the standard virtualhost templates, you have:

  • DocumentRoot to set an arbitrary document root instead of having to choose an ibay
  • DirectoryIndex to set an specific index-files string (default "")
  • RequireSSL to ask the forced SSL communication (default 'disabled', on by 'enabled')
  • Authentication different ways to protect your domain
  • Authentication Basic : to ask for a basic auth when reaching this vhost (all valid users of sme server)
  • Authentication LemonLDAP : to ask for a smeserver-lemonldap-ng when reaching this vhost
  • ProxyPassTarget target of the ProxyPassReverse and ProxyPass (default "", enabled by an URL)
  • Redirect target of the RedirectMatch permanent (default "", enabled by an URL)
  • Rewrite target of the RewriteRule (default "" enabled by an URL)
  • AllowHosts 'local' or 'IP,IP,IP...' (default "")
  • ProxyPreserveHost target of the 'ProxyPreserveHost on' (default is no, enabled is yes)
  • ProxyNoKeepAlive target of the 'SetEnv proxy-nokeepalive 1'(default is no, enabled is yes)
  • Alias target of the Alias (alias,target) (default "")
  • SetEnv target of the SetEnv (parameter,parameter) (default "")
  • AllowGroups all groups listed will be granted by LDAP to browse the web directory (group1,group2,group3) (default "")

You can create a domain like this:

db domains set stuff.foo.fr domain Description "My super custom app" Content Primary Nameservers internet TemplatePath WebAppVirtualHost DocumentRoot /opt/stuff RequireSSL enabled
signal-event domain-create stuff.foo.fr
  • For example with the wordpress contribs installed in /usr/share/wordpress

If you haven't done anything, then / points on the Primary ibay as expected, and not on wordpress. If you want a domain to point on an arbitrary location (not an ibay), you can use smeserver-webapps-common:

db domains setprop www.foo.com TemplatePath WebAppVirtualHost DocumentRoot /usr/share/wordpress
signal-event webapps-update


Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-webapps-common component or use this link .

"No open bugs found."

Sources for this contribs can be found in Firewall Service's repository [2]