<!-- 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
     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: de-docproj/books/fdp-primer/the-website/chapter.sgml,v 1.4 2004/10/31 13:24:10 jkois Exp $
     basiert auf: 1.17
-->

<chapter id="the-website">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Johann</firstname>
	<surname>Kois</surname>
	<contrib>&Uuml;bersetzt von </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Die Webseite</title>

  <sect1 id="the-website-prep">
    <title>Vorbereitung</title>

    <para>Sie ben&ouml;tigen mindestens 200&nbsp;MB freien Speicherplatz.
      Dieser Platz wird von den SGML-Werkzeugen, den n&ouml;tigen Teilen
      des CVS-Baums, f&uuml;r tempor&auml;ren Speicher zum Bau der Seiten
      sowie f&uuml;r die Installation der Webseiten ben&ouml;tigt.  Sind
      die SGML-Werkzeuge und der CVS-Baum bereits installiert, reichen
      etwa 100&nbsp;MB an freiem Speicherplatz aus.</para>

    <note>
      <para>Stellen Sie sicher, dass Ihre Dokumentationsports aktuell
	sind.  Wenn Sie sich nicht sicher sind, entfernen Sie die alten
	Ports mit &man.pkg.delete.1;, bevor Sie die neue Version
	installieren.  Derzeit wird unter anderem jade-1.2 vorausgesetzt.
	Haben Sie beispielsweise jade-1.1 installiert, deinstallieren Sie
	es mit:</para>

      <screen>&prompt.root; <userinput>pkg_delete jade-1.1</userinput></screen>
    </note>

    <para>Legen Sie ein CVS-Repository an.  Sie ben&ouml;tigen die
      Verzeichnisse www, doc sowie ports des CVS-Baums (und
      nat&uuml;rlich CVSROOT).  Lesen Sie bitte den Abschnitt
      <ulink url="&url.books.handbook;/synching.html#CVSUP">
      Synchronisation der Quellen</ulink> des Handbuchs, der die
      Spiegelung eines CVS-Baumes oder eines Teilbaumes
      beschreibt.</para>

    <para>Die unbedingt n&ouml;tigen cvsup-Sammlungen sind
      <literal>www</literal>, <literal>doc-all</literal>,
      <literal>cvs-base</literal>, sowie
      <literal>ports-base</literal>.</para>

    <para>Diese Sammlungen ben&ouml;tigen etwa 105&nbsp;MB an freiem
      Speicherplatz.</para>

    <para>Der komplette CVS-Baum - inklusive <literal>src</literal>,
      <literal>doc</literal>, <literal>www</literal>, und
      <literal>ports</literal> - umfasst derzeit etwa 940&nbsp;MB.</para>
  </sect1>

  <sect1 id="the-website-build">
    <title>Die Internetseiten neu bauen</title>

    <procedure>
      <step>
	<para>Wechseln Sie in das Verzeichnis, in dem Sie die Webseiten
	  bauen wollen.  Sie ben&ouml;tigen dazu mindestens 60&nbsp;MB
	  freien Speicherplatz.</para>

	<screen>&prompt.root; <userinput>mkdir /var/tmp/webbuild</userinput>
&prompt.root; <userinput>cd /var/tmp/webbuild</userinput></screen>
      </step>

      <step>
	<para>Checken Sie die SGML-Dateien aus dem CVS-Baum aus.</para>

	<screen>&prompt.root; <userinput>cvs -R co www doc</userinput></screen>
      </step>

      <step>
        <para>Wechseln Sie ins Verzeichnis <filename>www</filename> und
	  f&uuml;hren Sie &man.make.1; <maketarget>links</maketarget>
	  aus, um die n&ouml;tigen symbolischen Links zu erzeugen.</para>

	<screen>&prompt.root; <userinput>cd www</userinput>
&prompt.root; <userinput>make links</userinput></screen>
      </step>

      <step>
	<para>Wechseln Sie ins Verzeichnis <filename>en</filename> und
	  f&uuml;hren Sie &man.make.1; <maketarget>all</maketarget> aus,
	  um die Webseiten zu erzeugen.</para>

	<screen>&prompt.root; <userinput>cd en</userinput>
&prompt.root; <userinput>make all</userinput></screen>
      </step>
    </procedure>
  </sect1>

  <sect1 id="the-website-install">
    <title>Installieren der Webseiten auf Ihrem Server</title>

    <procedure>
      <step>
	<para>Wechseln Sie wieder in das Verzeichnis
	  <filename>en</filename>, falls Sie dieses inzwischen
	  verlassen haben.</para>

	  <screen>&prompt.root; <userinput>cd <replaceable>path</replaceable>/www/en</userinput></screen>
      </step>

      <step>
	<para>F&uuml;hren Sie &man.make.1; <maketarget>install</maketarget>
	 aus, und setzen Sie die Variable <makevar>DESTDIR</makevar> auf
	 das Verzeichnis, in das Sie die Webseiten installieren
	 wollen.</para>

	<screen>&prompt.root; <userinput>make DESTDIR=<replaceable>/usr/local/www</replaceable> install</userinput></screen>
      </step>

      <step>
	<para>Wenn Sie die Webseiten bereits fr&uuml;her in dieses
	  Verzeichnis installiert haben, wurden w&auml;hrend der
	  Installation keine veralteten Seiten entfernt.  Wenn
	  Sie die Webseiten beispielsweise t&auml;glich neu bauen
	  und installieren, findet und entfernt der folgende Befehl
	  alle Dateien, die in den letzten drei Tagen nicht aktualisiert
	  wurden:</para>

	<screen>&prompt.root; <userinput>find <replaceable>/usr/local/www</replaceable> -ctime 3 -print0 | xargs -0 rm</userinput></screen>
      </step>
    </procedure>
  </sect1>

  <sect1 id="the-website-env">
    <title>Umgebungsvariablen</title>

    <variablelist>
      <varlistentry>
	<term><envar>CVSROOT</envar></term>

	<listitem>
	  <para>Der Ort des CVS-Baums.  Unbedingt notwendig.</para>

	  <screen><userinput>&prompt.root; CVSROOT=/home/ncvs; export CVSROOT</userinput></screen>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><makevar>ENGLISH_ONLY</makevar></term>

	<listitem>
	  <para>Ist diese Variable gesetzt und nicht leer, bauen und
	    installieren die Makefiles ausschlie&szlig;lich die
	    englischen Dokumente.  S&auml;mtliche &Uuml;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 <makevar>ENGLISH_ONLY</makevar>
	    deaktivieren und alle Webseiten inklusive aller
	    &Uuml;bersetzungen bauen wollen, setzen Sie die Variable
	    <makevar>ENGLISH_ONLY</makevar> auf einen leeren Wert:</para>

	  <screen>&prompt.root; <userinput>make ENGLISH_ONLY="" all install clean</userinput></screen>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><makevar>WEB_ONLY</makevar></term>

	<listitem>
	  <para>Ist diese Variable gesetzt und nicht leer, bauen und
	    installieren die Makefiles nur die HTML-Seiten des
	    www-Verzeichnisses.  Alle Dokumente des doc-Verzeichnisses
	    (Handbuch, FAQ, Artikel) werden dabei ignoriert:</para>

	  <screen>&prompt.root; <userinput>make WEB_ONLY=YES all install</userinput></screen>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><makevar>NOPORTSCVS</makevar></term>

	<listitem>
	  <para>Ist diese Variable gesetzt, checken die Makefiles keine
	    Dateien aus dem Ports-CVS-Repository aus.  Stattdessen werden
	    die Dateien aus dem Verzeichnis
	    <filename>/usr/ports</filename> (oder aus dem Verzeichnis,
	    auf das die Variable <envar>PORTSBASE</envar> zeigt)
	     verwendet.</para>
	</listitem>
      </varlistentry>
    </variablelist>

    <para>Bei <envar>CVSROOT</envar> handelt es sich um eine
      Umgebungsvariable.  Sie muss auf der Kommandozeile oder in der
      Konfigurationsdatei <filename>~/.profile</filename> gesetzt
      werden.</para>

    <para><makevar>WEB_ONLY</makevar>, <makevar>ENGLISH_ONLY</makevar>
      und <makevar>NOPORTSCVS</makevar> sind Variablen f&uuml;r Makefiles.
      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>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
