Add a minimal Apache httpd.conf example for running test versions of the

web site locally, including CGI scripts.
This commit is contained in:
Warren Block 2015-12-17 14:05:09 +00:00
parent 468908d3f3
commit 8e402744d0
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47884

View file

@ -169,6 +169,88 @@
<screen>&prompt.user; <userinput>cd ~/doc/en_US.ISO8859-1/htdocs/</userinput>
&prompt.user; <userinput>env DESTDIR=/tmp/www make ENGLISH_ONLY=yes WEB_ONLY=yes all install</userinput></screen>
<para>Changes to static files can usually be tested by viewing
the modified files directly with a web browser. If the site
has been built as shown above, a modified main page can be
viewed with:</para>
<screen>&prompt.user; <userinput>firefox /tmp/www/data/index.html</userinput></screen>
<para>Modifications to dynamic files can be tested with a web
server running on the local system. After building the site
as shown above, this
<filename>/usr/local/etc/apache24/httpd.conf</filename> can be
used with <package>www/apache24</package>:</para>
<programlisting># httpd.conf for testing the FreeBSD website
Define TestRoot "/tmp/www/data"
# directory for configuration files
ServerRoot "/usr/local"
Listen 80
# minimum required modules
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule mime_module libexec/apache24/mod_mime.so
LoadModule unixd_module libexec/apache24/mod_unixd.so
LoadModule cgi_module libexec/apache24/mod_cgi.so
LoadModule dir_module libexec/apache24/mod_dir.so
# run the webserver as user and group
User www
Group www
ServerAdmin you@example.com
ServerName fbsdtest
# deny access to all files
&lt;Directory /&gt;
AllowOverride none
Require all denied
&lt;/Directory&gt;
# allow access to the website directory
DocumentRoot "${TestRoot}"
&lt;Directory "${TestRoot}"&gt;
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
&lt;/Directory&gt;
# prevent access to .htaccess and .htpasswd files
&lt;Files ".ht*"&gt;
Require all denied
&lt;/Files&gt;
ErrorLog "/var/log/httpd-error.log"
LogLevel warn
# set up the CGI script directory
&lt;Directory "${TestRoot}/cgi"&gt;
AllowOverride None
Options None
Require all granted
Options +ExecCGI
AddHandler cgi-script .cgi
&lt;/Directory&gt;
Include etc/apache24/Includes/*.conf</programlisting>
<para>Start the web server with</para>
<screen>&prompt.root; <userinput>service apache24 onestart</userinput></screen>
<para>The web site can be viewed at
<link xlink:href="http://localhost"/>. Be aware that many
links refer to the real &os; site by name, and those links
will still go to the external site instead of the local test
version. Fully testing the local site will require
temporarily setting <acronym>DNS</acronym> so
<literal>www.FreeBSD.org</literal> resolves to
<literal>localhost</literal> or the local
<acronym>IP</acronym> address.</para>
</example>
<example xml:id="the-website-examples-buildinstall">