From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Sk2qC-00088u-J2 for garchives@archives.gentoo.org; Thu, 28 Jun 2012 00:44:13 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B8DDBE058A; Thu, 28 Jun 2012 00:43:59 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 6F0A0E058A for ; Thu, 28 Jun 2012 00:43:59 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7D64B1B4006 for ; Thu, 28 Jun 2012 00:43:58 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 40CE3E5432 for ; Thu, 28 Jun 2012 00:43:57 +0000 (UTC) From: "Anthony G. Basile" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" Message-ID: <1340844224.a7712ced083639938480d570f160883430397642.blueness@gentoo> Subject: [gentoo-commits] proj/webapp-config:master commit in: doc/ X-VCS-Repository: proj/webapp-config X-VCS-Files: doc/webapp-eclass.5.xml X-VCS-Directories: doc/ X-VCS-Committer: blueness X-VCS-Committer-Name: Anthony G. Basile X-VCS-Revision: a7712ced083639938480d570f160883430397642 X-VCS-Branch: master Date: Thu, 28 Jun 2012 00:43:57 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 58b1c874-4e24-4271-a188-8438bc19e4e7 X-Archives-Hash: 263b42913c96345e01e9f880bffa8784 commit: a7712ced083639938480d570f160883430397642 Author: Anthony G. Basile gentoo org> AuthorDate: Thu Jun 28 00:43:44 2012 +0000 Commit: Anthony G. Basile gentoo org> CommitDate: Thu Jun 28 00:43:44 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/webapp-config= .git;a=3Dcommit;h=3Da7712ced doc/webapp-eclass.5.xml: fix generated man/html filename --- doc/webapp-eclass.5.xml | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/webapp-eclass.5.xml b/doc/webapp-eclass.5.xml index f310f56..f2a0990 100644 --- a/doc/webapp-eclass.5.xml +++ b/doc/webapp-eclass.5.xml @@ -3,7 +3,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
- webapp.eclass + webapp-eclass =20 @@ -43,16 +43,16 @@ =20 - webapp.eclass + webapp-eclass January 2006 Gentoo Linux - webapp.eclass + webapp-eclass 5 - webapp.eclass + webapp-eclass standardised approach to writing ebuilds for web-based appl= ications =20 @@ -70,47 +70,47 @@ Support For Virtual Hosts Many web servers today have to be able to host more than one we= bsite at a time. This is normally done through name-based vir= tual hosting. See the Apache documentation for more details = about how this works. Traditional package installers only install a single copy of a = package. Many webservers need to make the same package available as part= of different virtual hosts. The administrator normally ends up installi= ng and upgrading each of these packages by hand. This makes for more wor= k for the administrator. - webapp.eclass overcomes this problem by = installing packages, and associated metadata, in a format and location un= derstood by webapp-config8. The administrator then uses webapp-config to install and upgrade however many copies of = the package as he needs. + webapp-eclass overcomes this problem by = installing packages, and associated metadata, in a format and location un= derstood by webapp-config8. The administrator then uses webapp-config to install and upgrade however many copies of = the package as he needs. Installing Into The Correct Directory Virtual hosts are normally stored on disk in their own director= ies. The location of these directories can vary from computer to compute= r. It is not unusual for each administrator to have his own preferred lo= cation for putting virtual hosts. Traditional packagers always install a single copy of the packa= ge, normally into /home/httpd/htdocs/<package-name>/. If the administrator changes the DocumentRoot of their preferre= d web server to point to a different directory, traditional packagers are= unable to detect this and adjust accordingly. They also are unable to d= etect any attempt to install a package into a virtual host. - webapp.eclass overcomes this problem bec= ause it makes no attempt to install packages into the webserver's Documen= tRoot. Instead, it installs the files of the package into the /= usr/share/webapps hierarchy - which is never directly used by = any webserver. The administrator then uses webapp-config to complete the installation to the directory of his choice. + webapp-eclass overcomes this problem bec= ause it makes no attempt to install packages into the webserver's Documen= tRoot. Instead, it installs the files of the package into the /= usr/share/webapps hierarchy - which is never directly used by = any webserver. The administrator then uses webapp-config to complete the installation to the directory of his choice. Installing With The Correct File Ownerships Web-based applications are made up of files and directories tha= t need to be owned by more than one user. Any files or directories that = the web server needs to write to - these need to be owned by whatever use= r the web server runs as. Configuration files need to be owned by the no= n-root user who owns the website. The rest of the files and directories = need to be owned by root, to ensure that they cannot be tampered with by = other users. Traditional packagers have no way to understand which user the = web server runs as, or which user needs to own the configuration files. = Some packages assume that the user is running the Apache web server, and = hard-code the information into their installation scripts. Unfortunately= , any packages that do this will not work if the user chooses to use an a= lternative web server. - webapp.eclass overcomes this problem bec= ause it provides a number of functions which the ebuild can use to indica= te who needs to own what. When the administrator completes the install u= sing webapp-config, he can tell webapp-config= which web server the package will be running under, and which = user needs to own the configuration files. + webapp-eclass overcomes this problem bec= ause it provides a number of functions which the ebuild can use to indica= te who needs to own what. When the administrator completes the install u= sing webapp-config, he can tell webapp-config= which web server the package will be running under, and which = user needs to own the configuration files. Apache Modules vs CGI Scripts Most web-based applications are written in scripting languages = such as PHP, Python, or Perl. Most scripting languages are available eit= her as Apache modules and as stand-alone CGI scripting engines. Sometime= s, it makes more sense to install scripting languages as CGI scripting en= gines. Although CGI engines run much slower than Apache modules, the adv= antage is that it allows a single computer to run multiple versions of th= e same language - something that sometimes is necessary. It's also worth pointing out that the administrator has a choic= e of web servers - and not all scripting languages run as compiled-in mod= ules in all web servers. It is difficult-to-impossible for a traditional package manager= to provide a single package that can cope with all of the possible permu= tations. - webapp.eclass provides a function for eb= uilds to indicate which script files need to be run by which scripting en= gine. webapp-config can, if necessary, modify these s= cript files to use the correct CGI engine when installing into a virtual = host. + webapp-eclass provides a function for eb= uilds to indicate which script files need to be run by which scripting en= gine. webapp-config can, if necessary, modify these s= cript files to use the correct CGI engine when installing into a virtual = host. Overwriting Configuration Files When packages are upgraded, new configuration files are install= ed. Different package managers handle this in different ways. Portage c= an prevent files being overwritten on a per-directory basis. Web-based a= pplications normally have configuration files installed in the same direc= tories as the scripts themselves. Packages for Portage, therefore, norma= lly end up overwriting the configuration file because the alternative is = having to wade through pages of etc-update output. - webapp.eclass avoids this problem by all= owing ebuilds to indicate which files are configuration files. = webapp-config uses this information to ensure that configuratio= n files are not overwritten. The administrator can then use etc= -update as normal to complete the upgrade. + webapp-eclass avoids this problem by all= owing ebuilds to indicate which files are configuration files. = webapp-config uses this information to ensure that configuratio= n files are not overwritten. The administrator can then use etc= -update as normal to complete the upgrade. Handling Web Server Configuration Files There are some web-based applications that will not work withou= t installing configuration files for the webserver. Deciding which webse= rver to install configuration files for, and where to install these confi= guration files, is problematic at best. - webapp.eclass addresses this in two ways= . Firstly, ebuilds are encouraged to supply configuration files for all supported webservers. webapp-config will then install the correct configuration files for the selected we= bserver when the virtual copy of the application is installed. + webapp-eclass addresses this in two ways= . Firstly, ebuilds are encouraged to supply configuration files for all supported webservers. webapp-config will then install the correct configuration files for the selected we= bserver when the virtual copy of the application is installed. Handling SQL Databases Many web-based applications store their data in sql-based datab= ases. Installing these databases is enough of a pain; upgrading them is = something that's often left to the administrator to struggle through. - webapp.eclass does not provide a full so= lution today to this problem. Ebuilds can indicate which files are SQL s= cripts, and which database engine the scripts are for. A future version = of webapp.eclass will (hopefully) provide a tool t= o automatically generate an upgrade script to help the administrator. + webapp-eclass does not provide a full so= lution today to this problem. Ebuilds can indicate which files are SQL s= cripts, and which database engine the scripts are for. A future version = of webapp-eclass will (hopefully) provide a tool t= o automatically generate an upgrade script to help the administrator. =20 Installation Directories - webapp.eclass creates an intermediate inst= all of a package, so that the computer's administrator can then perform m= ultiple installations using webapp-config8. + webapp-eclass creates an intermediate inst= all of a package, so that the computer's administrator can then perform m= ultiple installations using webapp-config8. The intermediate install (known as the master copy) is never used by, or accessed via, the web server. The intermediate install goes into the /usr/share/webap= ps directory structure: @@ -428,7 +428,7 @@ /etc/vhosts/webapp-config - Configuration file, holding the defaults for webap= p-config and the webapp.eclass eclass. + Configuration file, holding the defaults for webap= p-config and the webapp-eclass eclass. @@ -437,7 +437,7 @@ See Also webapp-config5, webapp-con= fig8, emerge1 - The webapp.eclass is part of the = webapp-config package. webapp-config is bas= ed on the design for an installer for web-based applications first discus= sed in G= LEP #11 for the Gentoo Linux project. + The webapp-eclass is part of the = webapp-config package. webapp-config is bas= ed on the design for an installer for web-based applications first discus= sed in G= LEP #11 for the Gentoo Linux project.