/[gentoo]/xml/htdocs/proj/en/glep/glep-0011.html
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0011.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 Revision 1.4
31<tbody valign="top"> 31<tbody valign="top">
32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">11</td> 32<tr class="field"><th class="field-name">GLEP:</th><td class="field-body">11</td>
33</tr> 33</tr>
34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Web Application Installation</td> 34<tr class="field"><th class="field-name">Title:</th><td class="field-body">Web Application Installation</td>
35</tr> 35</tr>
36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td> 36<tr class="field"><th class="field-name">Version:</th><td class="field-body">1.4</td>
37</tr> 37</tr>
38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0011.txt?cvsroot=gentoo">2003/08/12 23:14:00</a></td> 38<tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0011.txt?cvsroot=gentoo">2003/08/13 13:45:38</a></td>
39</tr> 39</tr>
40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Troy Dack &lt;tad&#32;&#97;t&#32;gentoo.org&gt;</td> 40<tr class="field"><th class="field-name">Author:</th><td class="field-body">Troy Dack &lt;tad&#32;&#97;t&#32;gentoo.org&gt;</td>
41</tr> 41</tr>
42<tr class="field"><th class="field-name">Discussions-To:</th><td class="field-body"><a class="reference" href="mailto:gentoo-dev&#64;gentoo.org?subject=PEP%2011">gentoo-dev&#32;&#97;t&#32;gentoo.org</a></td> 42<tr class="field"><th class="field-name">Discussions-To:</th><td class="field-body"><a class="reference" href="mailto:gentoo-dev&#64;gentoo.org?subject=PEP%2011">gentoo-dev&#32;&#97;t&#32;gentoo.org</a></td>
43</tr> 43</tr>
45</tr> 45</tr>
46<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 46<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
47</tr> 47</tr>
48<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td> 48<tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td>
49</tr> 49</tr>
50<tr class="field"><th class="field-name">Created:</th><td class="field-body">02 August 2003</td> 50<tr class="field"><th class="field-name">Created:</th><td class="field-body">02-August-2003</td>
51</tr> 51</tr>
52<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">07 Aug 2003, 12 Aug 2003</td> 52<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">07-Aug-2003, 12-Aug-2003, 13-Aug-2003</td>
53</tr> 53</tr>
54</tbody> 54</tbody>
55</table> 55</table>
56<hr /> 56<hr />
57<div class="contents topic" id="contents"> 57<div class="contents topic" id="contents">
75</ul> 75</ul>
76</li> 76</li>
77<li><a class="reference" href="#virtual-host-support" id="id20" name="id20">3. Virtual Host Support</a><ul> 77<li><a class="reference" href="#virtual-host-support" id="id20" name="id20">3. Virtual Host Support</a><ul>
78<li><a class="reference" href="#new-vhost-use-flag" id="id21" name="id21">3.1 New &quot;vhost&quot; USE Flag</a></li> 78<li><a class="reference" href="#new-vhost-use-flag" id="id21" name="id21">3.1 New &quot;vhost&quot; USE Flag</a></li>
79<li><a class="reference" href="#vhost-configuration-tool" id="id22" name="id22">3.2 VHost Configuration Tool</a></li> 79<li><a class="reference" href="#vhost-configuration-tool" id="id22" name="id22">3.2 VHost Configuration Tool</a></li>
80<li><a class="reference" href="#single-host-installation" id="id23" name="id23">4.1 Single Host Installation</a></li> 80<li><a class="reference" href="#single-host-installation" id="id23" name="id23">3.3 Single Host Installation</a></li>
81<li><a class="reference" href="#virtual-host-installation" id="id24" name="id24">4.2 Virtual Host Installation</a></li> 81<li><a class="reference" href="#virtual-host-installation" id="id24" name="id24">3.4 Virtual Host Installation</a></li>
82<li><a class="reference" href="#configuration-files" id="id25" name="id25">4.3 Configuration Files</a></li> 82<li><a class="reference" href="#configuration-files" id="id25" name="id25">3.5 Configuration Files</a></li>
83</ul>
84</li> 83</ul>
84</li>
85<li><a class="reference" href="#application-permissions" id="id26" name="id26">5. Application Permissions</a></li> 85<li><a class="reference" href="#application-permissions" id="id26" name="id26">4. Application Permissions</a></li>
86</ul> 86</ul>
87</li> 87</li>
88<li><a class="reference" href="#backwards-compatibility" id="id27" name="id27">Backwards Compatibility</a></li> 88<li><a class="reference" href="#backwards-compatibility" id="id27" name="id27">Backwards Compatibility</a></li>
89<li><a class="reference" href="#references" id="id28" name="id28">References</a></li> 89<li><a class="reference" href="#references" id="id28" name="id28">References</a></li>
90<li><a class="reference" href="#copyright" id="id29" name="id29">Copyright</a></li> 90<li><a class="reference" href="#copyright" id="id29" name="id29">Copyright</a></li>
301<div class="section" id="vhost-configuration-tool"> 301<div class="section" id="vhost-configuration-tool">
302<h3><a class="toc-backref" href="#id22" name="vhost-configuration-tool">3.2 VHost Configuration Tool</a></h3> 302<h3><a class="toc-backref" href="#id22" name="vhost-configuration-tool">3.2 VHost Configuration Tool</a></h3>
303<p>To assist administration of multiple virtual hosts a &quot;VHost Configuration Tool&quot; 303<p>To assist administration of multiple virtual hosts a &quot;VHost Configuration Tool&quot;
304needs to be developed and implemented. Initial discussion regarding the VHost 304needs to be developed and implemented. Initial discussion regarding the VHost
305Config tool and proposed usage can be found at <a class="reference" href="http://article.gmane.org/gmane.linux.gentoo.devel/10874">http://article.gmane.org/gmane.linux.gentoo.devel/10874</a>.</p> 305Config tool and proposed usage can be found at <a class="reference" href="http://article.gmane.org/gmane.linux.gentoo.devel/10874">http://article.gmane.org/gmane.linux.gentoo.devel/10874</a>.</p>
306<p>It's the job of the VHost Config toolset to make a local instance of the web 306<p>It's the job of the VHost Config toolset to make a local instance of the web
307application run under a specific web server.</p> 307application run under a specific web server.</p>
308<p>The VHost Configuration Utility will need to be a seperate package, maintained by Gentoo. 308<p>The VHost Configuration Utility will need to be a seperate package, maintained by Gentoo.</p>
309Apache .ebuilds will require the VHost Config tool as a dependency (DEPEND).</p> 309<p>Web Server .ebuilds will require the VHost Config tool as a dependency (DEPEND).</p>
310<p><a class="reference" href="http://bugs.gentoo.org/show_bug.cgi?id=26293">Bug #26293</a> <a class="footnote-reference" href="#id5" id="id6" name="id6">[4]</a> will be used to track the initial progress of the VHost 310<p><a class="reference" href="http://bugs.gentoo.org/show_bug.cgi?id=26293">Bug #26293</a> <a class="footnote-reference" href="#id5" id="id6" name="id6">[4]</a> will be used to track the initial progress of the VHost
311Configuration Tool.</p> 311Configuration Tool.</p>
312<p>The vhost-config must do three main things:</p> 312<p>The vhost-config must do three main things:</p>
313<blockquote> 313<blockquote>
314<ul class="simple"> 314<ul class="simple">
319</blockquote> 319</blockquote>
320<p>Initially the VHost Config tool should provide support for the Apache web 320<p>Initially the VHost Config tool should provide support for the Apache web
321server. As the tool matures support for other web servers can be added.</p> 321server. As the tool matures support for other web servers can be added.</p>
322</div> 322</div>
323<div class="section" id="single-host-installation"> 323<div class="section" id="single-host-installation">
324<h3><a class="toc-backref" href="#id23" name="single-host-installation">4.1 Single Host Installation</a></h3> 324<h3><a class="toc-backref" href="#id23" name="single-host-installation">3.3 Single Host Installation</a></h3>
325<p>For single host installations the .ebuild will make the required 325<p>For single host installations the .ebuild will make the required
326configurations changes and symlinks using the VHost Config tool to ensure 326configurations changes and symlinks using the VHost Config tool to ensure
327that the web application is available to be served from:</p> 327that the web application is available to be served from:</p>
328<pre class="literal-block"> 328<pre class="literal-block">
329/var/www/localhost/htdocs/${PF}/ 329/var/www/localhost/htdocs/${PF}/
330</pre> 330</pre>
331<p>In this case it may be feasible for the VHost Config tool to simply symlink the 331<p>In this case it may be feasible for the VHost Config tool to simply symlink the
332directories from /usr/share/webapps/${PF}/ as is appropriate.</p> 332directories from /usr/share/webapps/${PF}/ as is appropriate.</p>
333</div> 333</div>
334<div class="section" id="virtual-host-installation"> 334<div class="section" id="virtual-host-installation">
335<h3><a class="toc-backref" href="#id24" name="virtual-host-installation">4.2 Virtual Host Installation</a></h3> 335<h3><a class="toc-backref" href="#id24" name="virtual-host-installation">3.4 Virtual Host Installation</a></h3>
336<p>For installations that support multiple virtual hosts the .ebuild will 336<p>For installations that support multiple virtual hosts the .ebuild will
337install the web application into the default location and then leave configuration 337install the web application into the default location and then leave configuration
338to the user through the VHost Config tool.</p> 338to the user through the VHost Config tool.</p>
339<p>In this case the web application files will be copied from 339<p>In this case the web application files will be copied from
340/usr/share/webapps/${PF}/ to /var/www/&lt;FQDN&gt;/ by the VHost Config tool.</p> 340/usr/share/webapps/${PF}/ to /var/www/&lt;FQDN&gt;/ by the VHost Config tool.</p>
341</div> 341</div>
342<div class="section" id="configuration-files"> 342<div class="section" id="configuration-files">
343<h3><a class="toc-backref" href="#id25" name="configuration-files">4.3 Configuration Files</a></h3> 343<h3><a class="toc-backref" href="#id25" name="configuration-files">3.5 Configuration Files</a></h3>
344<p>As stated above web application <em>site default</em> configuration files are to be 344<p>As stated above web application <em>site default</em> configuration files are to be
345installed into:</p> 345installed into:</p>
346<pre class="literal-block"> 346<pre class="literal-block">
347/etc/webapps/${PF}/ 347/etc/webapps/${PF}/
348</pre> 348</pre>
349<p>The files in this directory are then copied (not symlinked!) by the VHost 349<p>The files in this directory are then copied (not symlinked!) by the VHost
350Config tool to the Document Root for each instance of the app that is installed.</p> 350Config tool to the Document Root for each instance of the app that is installed.</p>
351<p>This will require the VHost Config toolset to emulate Portage's CONFIG_PROTECT 351<p>This will require the VHost Config toolset to emulate Portage's CONFIG_PROTECT
352behaviour for the web applications.</p> 352behaviour for the web applications.</p>
353</div> 353</div>
354</div> 354</div>
355<div class="section" id="application-permissions"> 355<div class="section" id="application-permissions">
356<h2><a class="toc-backref" href="#id26" name="application-permissions">5. Application Permissions</a></h2> 356<h2><a class="toc-backref" href="#id26" name="application-permissions">4. Application Permissions</a></h2>
357<p>Installing web applications and giving the web server ownership of the files 357<p>Installing web applications and giving the web server ownership of the files
358is a security risk. This can possibly lead to application configuration 358is a security risk. This can possibly lead to application configuration
359files being accessed by unwanted third parties.</p> 359files being accessed by unwanted third parties.</p>
360<p>All web applications should be owned by <em>root</em> unless the application 360<p>All web applications should be owned by <em>root</em> unless the application
361absolutely requires write access to its installation directories at execution 361absolutely requires write access to its installation directories at execution
414</div> 414</div>
415 415
416<hr class="footer"/> 416<hr class="footer"/>
417<div class="footer"> 417<div class="footer">
418<a class="reference" href="glep-0011.txt">View document source</a>. 418<a class="reference" href="glep-0011.txt">View document source</a>.
419Generated on: 2003-08-12 17:01 UTC. 419Generated on: 2003-08-13 13:45 UTC.
420Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. 420Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
421</div> 421</div>
422</body> 422</body>
423</html> 423</html>
424 424

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.20