Difference between revisions of "Webapps-common"

From SME Server
Jump to navigationJump to search
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Languages}}
 
{{Languages}}
 
+
{{Level|advanced}}
 
== webbapps-common for SME Server ==
 
== webbapps-common for SME Server ==
{{Level|easy}}
 
  
 
=== Maintainer ===
 
=== Maintainer ===
[mailto:daniel@firewall-services.com[[User:VIP-ire|Daniel B.]]] from [http://www.firewall-services.com Firewall Services]
+
[mailto:daniel@firewall-services.com][[User:VIP-ire|Daniel B.]] from [http://www.firewall-services.com Firewall Services]
 +
=== Version ===
 +
{{#smeversion: smeserver-webapps-common }}
 +
[[Version::contrib9|fws]][[Has SME9::true| ]]
 +
 
 +
==About==
 +
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''.
  
=== Description ===
 
smeserver-webbapps-common is not really a contrib, it is more a framework like used by many contribs of [[fws]]
 
 
=== Requirements ===
 
=== Requirements ===
 
You need the [[Fws|firewall-services]] repo to install this contribs
 
You need the [[Fws|firewall-services]] repo to install this contribs
  
=== Installation 8.x 9.x===
+
=== Installation 8.x 9.x i386===
This contrib is currently held in the fws repository, You do not need to install it alone, it is a dependency of other package such as tt-rss
+
The webapps tool is currently available in the Firewall Services repository. To enable the FWS repo please see [http://wiki.contribs.org/Fws '''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:
 +
* [http://wiki.contribs.org/SharedFolders SharedFolders]
 +
* [http://wiki.contribs.org/LemonLDAP-NG LemonLDAP-NG]
 +
* TBA
 +
 
 +
After enabling the [[fws]] repo,
 +
yum install smeserver-extrarepositories-fws --enablerepo=smedev,smecontribs -y
 +
signal-event yum-modify
  
However you can use to reconfigure some web application of fws by using  
+
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
 
  signal-event webapps-update
  
Line 24: Line 60:
 
compared with the standard virtualhost templates, you have:  
 
compared with the standard virtualhost templates, you have:  
 
* '''DocumentRoot'''        to set an arbitrary document root instead of having to choose an ibay
 
* '''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')
 
* '''RequireSSL'''          to ask the forced SSL communication (default 'disabled', on by 'enabled')
* '''Authentication'''      different way to protect your domain
+
* '''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 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
 
:* '''Authentication LemonLDAP''' : to ask for a smeserver-lemonldap-ng when reaching this vhost
* '''ProxyPassTarget'''    target of the ProxyPassReverse and ProxyPass (default "", enable by an URL)
+
* '''ProxyPassTarget'''    target of the ProxyPassReverse and ProxyPass (default "", enabled by an URL)
* '''Redirect'''            target of the RedirectMatch permanent (default "", enable by an URL)
+
* '''Redirect'''            target of the RedirectMatch permanent (default "", enabled by an URL)
* '''Rewrite'''            target of the RewriteRule (default "" enable by an URL)
+
* '''Rewrite'''            target of the RewriteRule (default "" enabled by an URL)
 
* '''AllowHosts'''          'local' or 'IP,IP,IP...' (default "")
 
* '''AllowHosts'''          'local' or 'IP,IP,IP...' (default "")
 
* '''ProxyPreserveHost'''  target of the 'ProxyPreserveHost on' (default is no, enabled is yes)
 
* '''ProxyPreserveHost'''  target of the 'ProxyPreserveHost on' (default is no, enabled is yes)
Line 42: Line 79:
 
  db domains set stuff.foo.fr domain Description "My super custom app" Content Primary Nameservers internet TemplatePath WebAppVirtualHost DocumentRoot /opt/stuff RequireSSL enabled
 
  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
 
  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
  
 
=== Bugs ===
 
=== Bugs ===
 +
Please raise bugs under the SME-Contribs section in [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 +
and select the smeserver-webapps-common component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-webapps-common|title=this link}}.
 +
 +
{{#bugzilla:columns=id,product,version,status,summary |sort=id|order=desc |component=smeserver-webapps-common|noresultsmessage="No open bugs found."}}
 +
 
Sources for this contribs can be found in Firewall Service's repository [http://gitweb.firewall-services.com/?p=smeserver-webapps-common;a=summary]
 
Sources for this contribs can be found in Firewall Service's repository [http://gitweb.firewall-services.com/?p=smeserver-webapps-common;a=summary]
[[Category: Contrib]]
+
 
 +
[[Category: Deprecated_Contrib]]

Latest revision as of 06:56, 11 July 2022


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

Maintainer

[1]Daniel B. from Firewall Services

Version

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


fws

About

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.

Requirements

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

Configuration

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

Bugs

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]