/[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.5
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">Author:</th><td class="field-body">Stuart Herbert &lt;stuart&#32;&#97;t&#32;gentoo.org&gt;</td>
43</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> 44<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> 45</tr>
44<tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> 46<tr class="field"><th class="field-name">Status:</th><td class="field-body">Accepted</td>
45</tr> 47</tr>
46<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> 48<tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
47</tr> 49</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> 50<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> 51</tr>
50<tr class="field"><th class="field-name">Created:</th><td class="field-body">02 August 2003</td> 52<tr class="field"><th class="field-name">Created:</th><td class="field-body">02-August-2003</td>
51</tr> 53</tr>
52<tr class="field"><th class="field-name">Post-History:</th><td class="field-body">07 Aug 2003, 12 Aug 2003</td> 54<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> 55</tr>
54</tbody> 56</tbody>
55</table> 57</table>
56<hr /> 58<hr />
57<div class="contents topic" id="contents"> 59<div class="contents topic" id="contents">
75</ul> 77</ul>
76</li> 78</li>
77<li><a class="reference" href="#virtual-host-support" id="id20" name="id20">3. Virtual Host Support</a><ul> 79<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> 80<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> 81<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> 82<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> 83<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> 84<li><a class="reference" href="#configuration-files" id="id25" name="id25">3.5 Configuration Files</a></li>
83</ul>
84</li> 85</ul>
86</li>
85<li><a class="reference" href="#application-permissions" id="id26" name="id26">5. Application Permissions</a></li> 87<li><a class="reference" href="#application-permissions" id="id26" name="id26">4. Application Permissions</a></li>
86</ul> 88</ul>
87</li> 89</li>
88<li><a class="reference" href="#backwards-compatibility" id="id27" name="id27">Backwards Compatibility</a></li> 90<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> 91<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> 92<li><a class="reference" href="#copyright" id="id29" name="id29">Copyright</a></li>
301<div class="section" id="vhost-configuration-tool"> 303<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> 304<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; 305<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 306needs 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> 307Config 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 308<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> 309application run under a specific web server.</p>
308<p>The VHost Configuration Utility will need to be a seperate package, maintained by Gentoo. 310<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> 311<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 312<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> 313Configuration Tool.</p>
312<p>The vhost-config must do three main things:</p> 314<p>The vhost-config must do three main things:</p>
313<blockquote> 315<blockquote>
314<ul class="simple"> 316<ul class="simple">
319</blockquote> 321</blockquote>
320<p>Initially the VHost Config tool should provide support for the Apache web 322<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> 323server. As the tool matures support for other web servers can be added.</p>
322</div> 324</div>
323<div class="section" id="single-host-installation"> 325<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> 326<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 327<p>For single host installations the .ebuild will make the required
326configurations changes and symlinks using the VHost Config tool to ensure 328configurations changes and symlinks using the VHost Config tool to ensure
327that the web application is available to be served from:</p> 329that the web application is available to be served from:</p>
328<pre class="literal-block"> 330<pre class="literal-block">
329/var/www/localhost/htdocs/${PF}/ 331/var/www/localhost/htdocs/${PF}/
330</pre> 332</pre>
331<p>In this case it may be feasible for the VHost Config tool to simply symlink the 333<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> 334directories from /usr/share/webapps/${PF}/ as is appropriate.</p>
333</div> 335</div>
334<div class="section" id="virtual-host-installation"> 336<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> 337<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 338<p>For installations that support multiple virtual hosts the .ebuild will
337install the web application into the default location and then leave configuration 339install the web application into the default location and then leave configuration
338to the user through the VHost Config tool.</p> 340to the user through the VHost Config tool.</p>
339<p>In this case the web application files will be copied from 341<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> 342/usr/share/webapps/${PF}/ to /var/www/&lt;FQDN&gt;/ by the VHost Config tool.</p>
341</div> 343</div>
342<div class="section" id="configuration-files"> 344<div class="section" id="configuration-files">
343<h3><a class="toc-backref" href="#id25" name="configuration-files">4.3 Configuration Files</a></h3> 345<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 346<p>As stated above web application <em>site default</em> configuration files are to be
345installed into:</p> 347installed into:</p>
346<pre class="literal-block"> 348<pre class="literal-block">
347/etc/webapps/${PF}/ 349/etc/webapps/${PF}/
348</pre> 350</pre>
349<p>The files in this directory are then copied (not symlinked!) by the VHost 351<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> 352Config 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 353<p>This will require the VHost Config toolset to emulate Portage's CONFIG_PROTECT
352behaviour for the web applications.</p> 354behaviour for the web applications.</p>
353</div> 355</div>
354</div> 356</div>
355<div class="section" id="application-permissions"> 357<div class="section" id="application-permissions">
356<h2><a class="toc-backref" href="#id26" name="application-permissions">5. Application Permissions</a></h2> 358<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 359<p>Installing web applications and giving the web server ownership of the files
358is a security risk. This can possibly lead to application configuration 360is a security risk. This can possibly lead to application configuration
359files being accessed by unwanted third parties.</p> 361files being accessed by unwanted third parties.</p>
360<p>All web applications should be owned by <em>root</em> unless the application 362<p>All web applications should be owned by <em>root</em> unless the application
361absolutely requires write access to its installation directories at execution 363absolutely requires write access to its installation directories at execution
414</div> 416</div>
415 417
416<hr class="footer"/> 418<hr class="footer"/>
417<div class="footer"> 419<div class="footer">
418<a class="reference" href="glep-0011.txt">View document source</a>. 420<a class="reference" href="glep-0011.txt">View document source</a>.
419Generated on: 2003-08-12 17:01 UTC. 421Generated on: 2004-01-31 21:47 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. 422Generated 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> 423</div>
422</body> 424</body>
423</html> 425</html>
424 426

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

  ViewVC Help
Powered by ViewVC 1.1.20