- Resync the FDP primer chapter "the-website".
- Update FreeBSDde copyright for 2017
This commit is contained in:
Johann Kois 2017-02-13 21:03:05 +00:00
parent 01d1b3b387
commit 69291744f8
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49985
2 changed files with 227 additions and 94 deletions

View file

@ -49,7 +49,7 @@
</copyright>
<copyright>
<year>1998-2016</year>
<year>1998-2017</year>
<holder>The FreeBSD German Documentation Project</holder>
</copyright>

View file

@ -30,7 +30,7 @@
$FreeBSD$
$FreeBSDde$
basiert auf: r43126
basiert auf: r49811
-->
<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>
@ -39,23 +39,116 @@
</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-destdir">
<term><varname>DESTDIR</varname></term>
<listitem>
<para>DESTDIR 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. In unserem Beispiel erfolgt der Bau im Verzeichnis
<filename role="directory"><replaceable>~/doc</replaceable></filename>,
in dem sich bereits alle benötigten Dateien befinden.</para>
beginnen.</para>
<para>Sie starten den Bau der Webseiten, indem Sie in das
Unterverzeichnis <filename>en_US.ISO8859-1/htdocs</filename>
des Dokumentationsbaums (in unserem Beispiel also unter
<filename>~/doc</filename>) wechseln und dort den Befehl
<command>make all</command> ausführen.</para>
<screen>&prompt.user; <userinput>cd ~/doc/en_US.ISO8859-1/htdocs</userinput>
&prompt.user; <userinput>make all</userinput></screen>
<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>
@ -64,28 +157,131 @@
Weg, dies zu vermeiden, ist die Installation der <link
xlink:href="&url.books.handbook;/ports.html#ports-tree">Ports-Sammlung</link>.</para>
</tip>
</sect1>
<sect1 xml:id="the-website-install">
<title>Installieren der Webseiten auf Ihrem Server</title>
<example xml:id="the-website-examples-build">
<title>Die komplette Webseite und alle Dokumente bauen</title>
<para>Führen Sie <command>make install</command> aus und setzen Sie
die Variable <varname>DESTDIR</varname> auf das Verzeichnis, in das
Sie die Webseiten installieren wollen. Die daraus resultierenden
Dateien werden unter <filename>$DESTDIR/data</filename> installiert,
was als die document root ihres Webservers konfiguriert sein
sollte.</para>
<para>Bauen Sie die Webseite und alle Dokumente. Die erzeugten
Dateien verbleiben dabei im Dokumentationsbaum:</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. Im folgenden Beispiel wurden die
Webseiten durch den Benutzer <systemitem
class="username">jru</systemitem> in dessen Heimatverzeichnis,
also unter <filename>/usr/home/jru/doc</filename> gebaut.</para>
<screen>&prompt.user; <userinput>cd ~/doc/en_US.ISO8859-1/htdocs/</userinput>
&prompt.user; <userinput>make all</userinput></screen>
</example>
<screen>&prompt.root; <userinput>cd /home/jru/doc/en_US.ISO8859-1/htdocs</userinput>
&prompt.root; <userinput>env DESTDIR=<replaceable>/usr/local/www</replaceable> make install</userinput></screen>
<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 DESTDIR=/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
@ -94,67 +290,4 @@
<screen>&prompt.root; <userinput>find <replaceable>/usr/local/www</replaceable> -ctime 3 -delete</userinput></screen>
</sect1>
<sect1 xml:id="the-website-env">
<title>Umgebungsvariablen</title>
<variablelist>
<varlistentry>
<term><varname>ENGLISH_ONLY</varname></term>
<listitem>
<para>Ist diese Variable gesetzt und nicht leer, bauen und
installieren die Makefiles ausschließlich die
englischen Dokumente. Sämtliche Übersetzungen
werden dabei ignoriert. Dazu ein Beispiel:</para>
<screen>&prompt.root; <userinput>make ENGLISH_ONLY=YES all install</userinput></screen>
<para>Wenn Sie die Variable <varname>ENGLISH_ONLY</varname>
deaktivieren und alle Webseiten inklusive aller
Übersetzungen bauen wollen, setzen Sie die Variable
<varname>ENGLISH_ONLY</varname> auf einen leeren Wert:</para>
<screen>&prompt.root; <userinput>make ENGLISH_ONLY="" all install clean</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>WEB_ONLY</varname></term>
<listitem>
<para>Ist diese Variable gesetzt und nicht leer, bauen und
installieren die Makefiles nur die
<acronym>HTML</acronym>-Seiten des
Verzeichnisses <filename>en_US.ISO8859-1/htdocs</filename>.
Alle anderen Dokumente des Verzeichnisses
<filename>en_US.ISO8859-1</filename>
(wie Handbuch, FAQ, Artikel) werden dabei ignoriert:</para>
<screen>&prompt.root; <userinput>make WEB_ONLY=YES all install</userinput></screen>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>WEB_LANG</varname></term>
<listitem>
<para>Ist diese Variable gesetzt, wird die Dokumentation nur
für die durch diese Variable festgelegten Sprachen
gebaut und im Verzeichnis
<filename role="directory"><replaceable>~/doc</replaceable></filename>
gebaut und danach installiert. Alle weiteren Sprachen
(ausgenommen Englisch) werden ignoriert. Dazu ein Beispiel:</para>
<screen>&prompt.root; <userinput>make WEB_LANG="el_GR.ISO8859-7 es_ES.ISO8859-1 hu_HU.ISO8859-2 nl_NL.ISO8859-1" all install</userinput></screen>
</listitem>
</varlistentry>
</variablelist>
<para><varname>WEB_ONLY</varname>, <varname>ENGLISH_ONLY</varname>,
<varname>WEB_LANG</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>
</chapter>