Difference between revisions of "Web application package guidelines"

From ArchWiki
Jump to: navigation, search
(added examples of packages, removed unexplained stub template)
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:Package development]]
 
[[Category:Package development]]
 +
{{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}}
 
{{Package Guidelines}}
  
Line 18: Line 19:
 
* {{Ic|/etc/webapps/''$pkgname''/nginx.example.conf}}
 
* {{Ic|/etc/webapps/''$pkgname''/nginx.example.conf}}
 
* {{Ic|/etc/webapps/''$pkgname''/other-web-server.example.conf}}
 
* {{Ic|/etc/webapps/''$pkgname''/other-web-server.example.conf}}
 +
 +
==Install web application package==
 +
 +
===Install with Apache===
 +
 +
Install package
 +
 +
    # install 'foo' packaage
 +
    # 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' pacakge
 +
    # 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 [[Nginx#PHP implementation|FastCGI-PHP]], [[Nginx#CGI implementation|FastCGI-CGI]]
 +
 +
Start server
 +
 +
    # systemctl start <fastcgi>
 +
    # systemctl start nginx

Revision as of 18:38, 6 August 2013

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#)
Template:Package Guidelines

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' packaage
   # 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' pacakge
   # 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