1
0
mirror of https://git.FreeBSD.org/doc.git synced 2026-06-02 11:25:20 +00:00
Files
doc/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.xml
T
Johann Kois 2c87174fe7 r52151 -> r53527
MFde:   s/DESTDIR/DOCDIR/
2019-11-10 17:51:49 +00:00

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
&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>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>