mirror of
https://git.FreeBSD.org/doc.git
synced 2026-06-02 11:25:20 +00:00
2c87174fe7
MFde: s/DESTDIR/DOCDIR/
294 lines
11 KiB
XML
294 lines
11 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved.
|
|
|
|
Redistribution and use in source (SGML DocBook) and 'compiled' forms
|
|
(SGML HTML, PDF, PostScript, RTF and so forth) with or without
|
|
modification, are permitted provided that the following conditions
|
|
are met:
|
|
|
|
1. Redistributions of source code (SGML DocBook) must retain the above
|
|
copyright notice, this list of conditions and the following
|
|
disclaimer as the first lines of this file unmodified.
|
|
|
|
2. Redistributions in compiled form (transformed to other DTDs,
|
|
converted to PDF, PostScript, RTF and other formats) must reproduce
|
|
the above copyright notice, this list of conditions and the
|
|
following disclaimer in the documentation and/or other materials
|
|
provided with the distribution.
|
|
|
|
THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY EXPRESS OR
|
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES role="package"
|
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR ANY DIRECT,
|
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
|
|
POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde$
|
|
basiert auf: r53527
|
|
-->
|
|
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="the-website">
|
|
<info><title>Die Webseite</title>
|
|
<authorgroup>
|
|
<author><personname><firstname>Johann</firstname><surname>Kois</surname></personname><contrib>Übersetzt von </contrib></author>
|
|
</authorgroup>
|
|
</info>
|
|
|
|
<para>Die &os; Webseite ist Teil der &os;-Dokumentation. Die Dateien
|
|
der englischen Webseite befinden sich im Unterverzeichnis
|
|
<filename>en_US.ISO8859-1/htdocs</filename> des Dokumentationsbaum
|
|
(in diesem Beispiel unter <filename>~/doc</filename>).</para>
|
|
|
|
<sect1 xml:id="the-website-env">
|
|
<title>Umgebungsvariablen</title>
|
|
|
|
<para>Sie haben die Möglichkeit, über Umgebungsvariablen
|
|
festzulegen, welchen Teil der Webseite Sie bauen wollen
|
|
und in welches Verzeichnis Sie die fertige Webseite
|
|
installieren wollen.</para>
|
|
|
|
<tip>
|
|
<para>Beim Bau der Webseiten (durch &man.make.1;) wird
|
|
angenommen, dass definierte Variablen gesetzt sind (dies gilt
|
|
auch dann, wenn die Variable leer ist!). Die folgenden
|
|
Beispiele zeigen die empfohlene Definition und Nutzung der
|
|
möglichen Variablen. Wenn Sie diese Variablen auf andere
|
|
Werte oder Methoden setzen, kann es zu überraschenden
|
|
Ergebnissen kommen.</para>
|
|
</tip>
|
|
|
|
<variablelist>
|
|
<varlistentry xml:id="the-website-env-docdir">
|
|
<term><varname>DOCDIR</varname></term>
|
|
|
|
<listitem>
|
|
<para>DOCDIR legt fest, in welches Verzeichnis die fertig
|
|
gebaute Webseite installiert werden soll.</para>
|
|
<para>Diese Variable wird am besten durch &man.env.1; oder
|
|
durch die Shell-eigene Methode zum setzen von Variablen,
|
|
also <command>setenv</command> für &man.csh.1; oder
|
|
<command>export</command> für &man.sh.1;.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<variablelist>
|
|
<varlistentry xml:id="the-website-env-englishonly">
|
|
<term><varname>ENGLISH_ONLY</varname></term>
|
|
|
|
<listitem>
|
|
<para>Default: Nicht definiert. Baue die Webseite inklusive
|
|
aller Übersetzungen.</para>
|
|
|
|
<para><userinput>ENGLISH_ONLY=yes</userinput>: Baue nur die
|
|
englischen Dokumente und ignoriere alle Übersetzungen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="the-website-env-webonly">
|
|
<term><varname>WEB_ONLY</varname></term>
|
|
|
|
<listitem>
|
|
<para>Default: Nicht definiert. Baue sowohl die Webseite als
|
|
auch alle Bücher und Artikel.</para>
|
|
|
|
<para><userinput>WEB_ONLY=yes</userinput>: Baue oder installiere
|
|
nur die <acronym>HTML</acronym>-Seiten im Verzeichis
|
|
<filename>en_US.ISO8859-1/htdocs</filename>. Ignoriere alle
|
|
anderen Verzeichnisse und Dokumente, Bücher und Artikel.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry xml:id="the-website-env-weblang">
|
|
<term><varname>WEB_LANG</varname></term>
|
|
|
|
<listitem>
|
|
<para>Default: Nicht definiert. Baue die Webseite in allen
|
|
verfügbaren Sprachen.</para>
|
|
|
|
<para>Geben Sie die Sprachen (durch Leerzeichen getrennt) an,
|
|
in denen Sie die Webseite bauen und/oder installieren
|
|
wollen. Die Namen der zu bauenden Sprachen entsprechen dabei
|
|
den Namen der Dokumentwurzelverzeichnisse. Wollen Sie
|
|
beispielsweise die deutschen und französischen Dokumente
|
|
einschließen:</para>
|
|
|
|
<screen><userinput>WEB_LANG="de_DE.ISO8859-1 fr_FR.ISO8859-1"</userinput></screen>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para><varname>WEB_ONLY</varname>, <varname>WEB_LANG</varname> und
|
|
<varname>ENGLISH_ONLY</varname> sind Variablen für &man.make.1;.
|
|
Diese werden entweder in <filename>/etc/make.conf</filename>, in
|
|
<filename>Makefile.inc</filename> oder als Umgebungsvariablen auf
|
|
der Kommandozeile oder in Ihrer Konfigurationsdatei gesetzt.</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="the-website-build">
|
|
<title>Die Webseiten bauen</title>
|
|
|
|
<para>Nachdem Sie die Quellen der Webseite erfolgreich
|
|
heruntergeladen haben, können Sie mit dem Bau der Webseite
|
|
beginnen.</para>
|
|
|
|
<para>Die Installation der Webseiten wird als
|
|
<systemitem class="username">root</systemitem> ausgeführt, weil die
|
|
Berechtigungen des Webserver-Verzeichnisses den Schreibzugriff für
|
|
normale Benutzer verhindern. Zu Testzwecken können die Dateien auch
|
|
als normaler Benutzer in ein temporäres Verzeichnis installiert
|
|
werden.</para>
|
|
|
|
<para>In den folgenden Beispielen werden die
|
|
Webseiten durch den Benutzer
|
|
<systemitem class="username">jru</systemitem> in dessen
|
|
Heimatverzeichnis, also unter
|
|
<filename>/usr/home/jru/doc</filename>, gebaut.</para>
|
|
|
|
<tip>
|
|
<para>Der Bau der Webseiten erfordert die Datei <filename>INDEX</filename>
|
|
der Ports-Sammlung und schlägt fehl, wenn
|
|
<filename>/usr/ports</filename> nicht existiert. Der einfachste
|
|
Weg, dies zu vermeiden, ist die Installation der <link
|
|
xlink:href="&url.books.handbook;/ports.html#ports-tree">Ports-Sammlung</link>.</para>
|
|
</tip>
|
|
|
|
<example xml:id="the-website-examples-build">
|
|
<title>Die komplette Webseite und alle Dokumente bauen</title>
|
|
|
|
<para>Bauen Sie die Webseite und alle Dokumente. Die erzeugten
|
|
Dateien verbleiben dabei im Dokumentationsbaum:</para>
|
|
|
|
<screen>&prompt.user; <userinput>cd ~/doc/en_US.ISO8859-1/htdocs/</userinput>
|
|
&prompt.user; <userinput>make all</userinput></screen>
|
|
</example>
|
|
|
|
<example xml:id="the-website-examples-buildinstall-englishonly">
|
|
<title>Nur die englische Webseite bauen</title>
|
|
|
|
<para>Bauen Sie nur die englische Webseite als Benutzer
|
|
<systemitem class="username">jru</systemitem> und installieren
|
|
Sie die erzeugten Dateien nach <filename>/tmp/www</filename>,
|
|
um die Webseite testen zu können:</para>
|
|
|
|
<screen>&prompt.user; <userinput>cd ~/doc/en_US.ISO8859-1/htdocs/</userinput>
|
|
&prompt.user; <userinput>env DOCDIR=/tmp/www make ENGLISH_ONLY=yes WEB_ONLY=yes all install</userinput></screen>
|
|
|
|
<para>Änderungen an statischen Dateien können Sie einfach testen,
|
|
indem Sie die geänderten Dateien in Ihrem Webbrowser aufrufen.
|
|
Haben Sie Seite wie eben gezeigt gebaut, können Sie sich die
|
|
geänderte Startseite ganz einfach anzeigen lassen:</para>
|
|
|
|
<screen>&prompt.user; <userinput>firefox /tmp/www/data/index.html</userinput></screen>
|
|
|
|
<para>Änderungen an dynamischen Dateien können allerdings nur auf
|
|
einem Webserver (der auf dem lokalen System läuft) getestet
|
|
werden. Nachdem Sie die Website wie weiter oben gezeigt gebaut
|
|
haben, können Sie <package>www/apache24</package> mit folgender
|
|
Konfigurationsdatei
|
|
<filename>/usr/local/etc/apache24/httpd.conf</filename> starten
|
|
und Ihre Änderungen testen:</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
|
|
<Directory />
|
|
AllowOverride none
|
|
Require all denied
|
|
</Directory>
|
|
|
|
# allow access to the website directory
|
|
DocumentRoot "${TestRoot}"
|
|
<Directory "${TestRoot}">
|
|
Options Indexes FollowSymLinks
|
|
AllowOverride None
|
|
Require all granted
|
|
</Directory>
|
|
|
|
# prevent access to .htaccess and .htpasswd files
|
|
<Files ".ht*">
|
|
Require all denied
|
|
</Files>
|
|
|
|
ErrorLog "/var/log/httpd-error.log"
|
|
LogLevel warn
|
|
|
|
# set up the CGI script directory
|
|
<Directory "${TestRoot}/cgi">
|
|
AllowOverride None
|
|
Options None
|
|
Require all granted
|
|
Options +ExecCGI
|
|
AddHandler cgi-script .cgi
|
|
</Directory>
|
|
|
|
Include etc/apache24/Includes/*.conf</programlisting>
|
|
|
|
<para>Starten Sie den Webserver wie folgt:</para>
|
|
|
|
<screen>&prompt.root; <userinput>service apache24 onestart</userinput></screen>
|
|
|
|
<para>Die Webseite ist danach unter der Adresse
|
|
<link xlink:href="http://localhost"/> erreichbar. Beachten Sie
|
|
aber, dass viele Links auf die echte &os;-Webseite zeigen. Daher
|
|
werden diese Links die externe Seite aufrufen und nicht Ihre
|
|
lokale Testversion. Um dies zu verhindern und einen kompletten
|
|
lokalen Test Ihrer lokalen Seite durchzuführen, müssen Sie
|
|
<acronym>DNS</acronym> temporär umkonfigurieren, damit
|
|
<literal>www.FreeBSD.org</literal> als
|
|
<literal>localhost</literal> oder als Ihre lokale
|
|
<acronym>IP</acronym>-Adresse aufgelöst wird.</para>
|
|
</example>
|
|
|
|
<example xml:id="the-website-examples-buildinstall">
|
|
<title>Die Webseite bauen und installieren</title>
|
|
|
|
<para>Bauen Sie die Webseite und alle Dokumente als Benutzer
|
|
<systemitem class="username">jru</systemitem>. Installieren Sie
|
|
die erzeugten Dateien als
|
|
<systemitem class="username">root</systemitem> in das
|
|
Standardverzeichnis, also nach
|
|
<filename>/root/public_html</filename>:</para>
|
|
|
|
<screen>&prompt.user; <userinput>cd ~/doc/en_US.ISO8859-1/htdocs</userinput>
|
|
&prompt.user; <userinput>make all</userinput>
|
|
&prompt.user; <userinput>su -</userinput>
|
|
Password:
|
|
&prompt.root; <userinput>cd /usr/home/jru/doc/en_US.ISO8859-1/htdocs</userinput>
|
|
&prompt.root; <userinput>make install</userinput></screen>
|
|
</example>
|
|
|
|
<para>Veraltete (und nicht mehr verwendete) Dateien werden während
|
|
der Installation nicht automatisch entfernt. Der folgende Befehl
|
|
findet (und löscht) alle Dateien im Installationsverzeichnis, die
|
|
in den letzten drei Tagen nicht aktualisiert wurden:</para>
|
|
|
|
<screen>&prompt.root; <userinput>find <replaceable>/usr/local/www</replaceable> -ctime 3 -delete</userinput></screen>
|
|
</sect1>
|
|
</chapter>
|