Difference between revisions of "Web application package guidelines"

From ArchWiki
Jump to: navigation, search
m (Install Web Application Package: sentence case in headings)
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Package development]]
 
[[Category:Package development]]
{{stub}}
+
{{Package Guidelines}}
==Introduction==
+
  
This page describes how to package web application which tends to install into /srv/http. (For example packages written in php)
+
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}}).
  
 
==Directory structure==
 
==Directory structure==
 
 
Layout example:
 
Layout example:
  
* /etc/webapps/$pkgname
+
* {{Ic|/etc/webapps/''$pkgname''}}
* /etc/webapps/$pkgname/apache.example.conf
+
* {{Ic|/usr/share/webapps/''$pkgname''}}
* /etc/webapps/$pkgname/nginx.example.conf
+
* {{Ic|/var/...}} (according to generic FHS conventions)
* /etc/webapps/$pkgname/other-web-server.example.conf
+
 
* /usr/share/webapps/$pkgname
+
{{Ic|/usr/share/webapps/''$pkgname''}} files and/or directories should be symlinked into {{Ic|/var}} and {{Ic|/etc/}}.
* /var/... (according to generic FHS conventions)
+
 
 +
{{Ic|/etc/webapps/''$pkgname''}} should contain some examples which helps to setup web-server to run this web application:
 +
 
 +
* {{Ic|/etc/webapps/''$pkgname''/apache.example.conf}}
 +
* {{Ic|/etc/webapps/''$pkgname''/nginx.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]]
  
/var and /etc/ files and/or directories should be symlinked into /usr/share/webapps/$pkgname.
+
Start server
  
/etc/webapps/$pkgname/ should contain some examples which helps to setup web-server to run this web application.
+
    # systemctl start <fastcgi>
 +
    # systemctl start nginx

Revision as of 15:54, 27 May 2013

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