| … | |
… | |
| 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.3</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 17:02:43</a></td> |
| 39 | </tr> |
39 | </tr> |
| 40 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Troy Dack <tad at gentoo.org></td> |
40 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Troy Dack <tad at gentoo.org></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@gentoo.org?subject=PEP%2011">gentoo-dev at 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@gentoo.org?subject=PEP%2011">gentoo-dev at gentoo.org</a></td> |
| 43 | </tr> |
43 | </tr> |
| … | |
… | |
| 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 "vhost" USE Flag</a></li> |
78 | <li><a class="reference" href="#new-vhost-use-flag" id="id21" name="id21">3.1 New "vhost" 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 "VHost Configuration Tool" |
303 | <p>To assist administration of multiple virtual hosts a "VHost Configuration Tool" |
| 304 | needs to be developed and implemented. Initial discussion regarding the VHost |
304 | needs to be developed and implemented. Initial discussion regarding the VHost |
| 305 | Config 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> |
305 | Config 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 |
| 307 | application run under a specific web server.</p> |
307 | application 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> |
| 309 | Apache .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 |
| 311 | Configuration Tool.</p> |
311 | Configuration 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 |
| 321 | server. As the tool matures support for other web servers can be added.</p> |
321 | server. 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 |
| 326 | configurations changes and symlinks using the VHost Config tool to ensure |
326 | configurations changes and symlinks using the VHost Config tool to ensure |
| 327 | that the web application is available to be served from:</p> |
327 | that 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 |
| 332 | directories from /usr/share/webapps/${PF}/ as is appropriate.</p> |
332 | directories 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 |
| 337 | install the web application into the default location and then leave configuration |
337 | install the web application into the default location and then leave configuration |
| 338 | to the user through the VHost Config tool.</p> |
338 | to 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/<FQDN>/ by the VHost Config tool.</p> |
340 | /usr/share/webapps/${PF}/ to /var/www/<FQDN>/ 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 |
| 345 | installed into:</p> |
345 | installed 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 |
| 350 | Config tool to the Document Root for each instance of the app that is installed.</p> |
350 | Config 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 |
| 352 | behaviour for the web applications.</p> |
352 | behaviour 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 |
| 358 | is a security risk. This can possibly lead to application configuration |
358 | is a security risk. This can possibly lead to application configuration |
| 359 | files being accessed by unwanted third parties.</p> |
359 | files 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 |
| 361 | absolutely requires write access to its installation directories at execution |
361 | absolutely 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>. |
| 419 | Generated on: 2003-08-12 17:01 UTC. |
419 | Generated on: 2003-08-13 08:25 UTC. |
| 420 | Generated 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. |
420 | Generated 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 | |