Difference between revisions of "Web application package guidelines"

From ArchWiki
Jump to: navigation, search
(Install with Nginx)
m (Fix typos)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Package development]]
 
[[Category:Package development]]
{{Package Guidelines}}
+
{{Accuracy|Symlinking part of webapps causes major issues. Furthermore the file system layout is insufficient for more than one instance of a webapp.}}
 +
{{Package guidelines}}
  
 
This page describes how to package web application which tends to install into {{Ic|/srv/http}} (for example packages written in php, such as {{Pkg|phpmyadmin}} and {{Pkg|phpvirtualbox}}).
 
This page describes how to package web application which tends to install into {{Ic|/srv/http}} (for example packages written in php, such as {{Pkg|phpmyadmin}} and {{Pkg|phpvirtualbox}}).
Line 19: Line 20:
 
* {{Ic|/etc/webapps/''$pkgname''/other-web-server.example.conf}}
 
* {{Ic|/etc/webapps/''$pkgname''/other-web-server.example.conf}}
  
==Install Web Application Package==
+
==Install web application package==
  
 
===Install with Apache===
 
===Install with Apache===
Line 25: Line 26:
 
Install package
 
Install package
  
     # install 'foo' packaage
+
     # install 'foo' package
 
     # cp /etc/webapps/foo/apache.example.conf /etc/httpd/conf/extra/foo.conf
 
     # cp /etc/webapps/foo/apache.example.conf /etc/httpd/conf/extra/foo.conf
 
     # edit /etc/httpd/conf/httpd.conf
 
     # edit /etc/httpd/conf/httpd.conf
Line 38: Line 39:
 
Install package
 
Install package
  
     # install 'foo' pacakge
+
     # install 'foo' package
 
     # ln -s /usr/share/webapps/foo /srv/http
 
     # ln -s /usr/share/webapps/foo /srv/http
 
     # cp /etc/webapps/foo/nginx.example.conf /etc/nginx/extra/foo.conf # conf file may be not present.
 
     # cp /etc/webapps/foo/nginx.example.conf /etc/nginx/extra/foo.conf # conf file may be not present.

Latest revision as of 22:03, 5 May 2015

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Symlinking part of webapps causes major issues. Furthermore the file system layout is insufficient for more than one instance of a webapp. (Discuss in Talk:Web application package guidelines#)
Package creation guidelines

CLRCrossEclipseFree PascalGNOMEGoHaskellJavaKDEKernelLispMinGWNonfreeOCamlPerlPHPPythonRubyVCSWebWine

This page describes how to package web application which tends to install into /srv/http (for example packages written in php, such as phpmyadmin and phpvirtualbox).

Directory structure

Layout example:

  • /etc/webapps/$pkgname
  • /usr/share/webapps/$pkgname
  • /var/... (according to generic FHS conventions)

/usr/share/webapps/$pkgname files and/or directories should be symlinked into /var and /etc/.

/etc/webapps/$pkgname should contain some examples which helps to setup web-server to run this web application:

  • /etc/webapps/$pkgname/apache.example.conf
  • /etc/webapps/$pkgname/nginx.example.conf
  • /etc/webapps/$pkgname/other-web-server.example.conf

Install web application package

Install with Apache

Install package

   # install 'foo' package
   # cp /etc/webapps/foo/apache.example.conf /etc/httpd/conf/extra/foo.conf
   # edit /etc/httpd/conf/httpd.conf
      Include conf/extra/foo.conf

Start server

   # systemctl start httpd

Install with Nginx

Install package

   # install 'foo' package
   # ln -s /usr/share/webapps/foo /srv/http
   # cp /etc/webapps/foo/nginx.example.conf /etc/nginx/extra/foo.conf # conf file may be not present.

You may need configure FastCGI-PHP, FastCGI-CGI

Start server

   # systemctl start <fastcgi>
   # systemctl start nginx