<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
<!-- English revision: 1.6.2.1 -->

<manualpage>
<relativepath href="."/>

<title>Upgrade von 1.3 auf 2.0</title>

<summary>
    <p>Dieses Dokument dient der Unterst&#252;tzung beim Upgrade. Es
    enth&#228;lt die entscheidenden Informationen f&#252;r bisherige
    Apache-Nutzer. Diese sind als kurze Anmerkungen
    gedacht. Weitere Informationen finden Sie entweder unter
    <a href="new_features_2_0.html">Neue Funktionen</a> oder in
    den <code>src/CHANGES</code>-Dateien.</p>
</summary>
<seealso><a href="new_features_2_0.html">&Uuml;bersicht der neuen Funktionen
in Apache 2.0</a></seealso>

  <section id="compile-time">
    <title>&#196;nderungen der Konfiguration bei der Kompilierung</title>

    <ul>
      <li>Der Apache benutzt jetzt ein <code>autoconf</code>- und
      <code>libtool</code>-System zur <a
      href="install.html">Konfiguration des
      Erstellungsverfahrens</a>. Die Verwendung dieses Systems ist
      &#228;hnlich, aber nicht identisch mit dem APACI-System des
	  Apache 1.3.</li>

      <li>Zus&#228;tzlich zu der &#252;blichen Auswahl von Modulen, die
      kompiliert werden sollen, wurde der Hauptteil der
      Request-Verarbeitung im Apache 2.0 in die <a href="mpm.html">
      Multi-Processing-Module</a> (MPMs) verschoben.</li>
    </ul>
  </section>

  <section id="run-time">
    <title>&#196;nderungen der Laufzeit-Konfiguration</title>

    <ul>
      <li>Viele Anweisungen aus dem Serverkern des Apache 1.3 sind
      jetzt in den MPMs enthalten. Wenn Sie ein Serververhalten
      w&#252;nschen, das demjenigen des Apache 1.3 m&#246;glichst
      &#228;hnlich ist, sollten Sie das <module>prefork</module>-MPM
      ausw&#228;hlen. Andere MPMs verwenden abweichende Anweisungen
      f&#252;r die Prozess-Erstellung und Request-Verarbeitung.</li>

      <li>Das <a href="mod/mod_proxy.html">Proxy-Modul</a> wurde
      umgearbeitet, um es auf den Stand von HTTP/1.1 zu bringen. Eine
      der bedeutendsten &#196;nderungen ist die Platzierung der
      Proxy-Zugriffskontrolle innerhalb eines <directive type="section"
      module="mod_proxy">Proxy</directive>-Blocks, statt innerhalb eines
      <code>&lt;Directory proxy:&gt;</code>-Blocks.</li>

      <li>Die Behandlung von <code>PATH_INFO</code> (hinter dem
      tats&#228;chlichen Dateinamen angef&#252;gte Pfadangaben) wurde
      f&#252;r einige Module ge&#228;ndert. Module, die bisher als Handler
      implementiert waren, jetzt aber als Filter implementiert sind,
      akzeptieren m&#246;glicherweise keine Requests mit
      <code>PATH_INFO</code> mehr. Filter wie <a
      href="mod/mod_include.html">INCLUDES</a> sind gleich oben im
      Core-Handler implementiert und weisen deshalb Requests mit
      <code>PATH_INFO</code> ab. Sie k&#246;nnen die <directive
      module="core">AcceptPathInfo</directive>-Direktive
      verwenden, um den Core-Handler zu zwingen, Requests mit
      <code>PATH_INFO</code> zu akzeptieren, und dadurch die F&#228;higkeit
      wiederherstellen, <code>PATH_INFO</code> in Server Side Includes zu
      benutzen.</li>

      <li>Die <directive
      module="mod_negotiation">CacheNegotiatedDocs</directive>-Direktive
      hat jetzt das Argument an (<code>on</code>) oder aus
      (<code>off</code>). Die vorhandenen Anweisungen <directive
      >CacheNegotiatedDocs</directive> sollten durch
      <code>CacheNegotiatedDocs on</code> ersetzt werden.</li>

      <li>
        Die <directive module="core">ErrorDocument</directive>-Direktive
        verwendet kein Anf&#252;hrungszeichen mehr am Anfang des
        Arguments, um eine
        Textnachricht anzuzeigen. Stattdessen sollten Sie die
        Nachricht in doppelte Anf&#252;hrungszeichen einschlie&#223;en.
        Zum Beispiel sollten existierende Angaben wie

        <example>
          ErrorDocument 403 "Eine Nachricht
        </example>
        durch

        <example>
          ErrorDocument 403 "Eine Nachricht"
        </example>

        ersetzt werden.
        Solange das zweite Argument kein g&#252;ltiger URL oder
        Pfadname ist, wird es als Textnachricht behandelt.
      </li>

      <li>Die Direktiven <code>AccessConfig</code> und
      <code>ResourceConfig</code> sind entfallen.
      Diese Direktiven k&#246;nnen durch die <directive
      module="core">Include</directive>-Direktive
      ersetzt werden, die eine &#228;quivalente Funktionalit&#228;t besitzt.
      Wenn Sie die Defaultwerte dieser Direktiven verwendet haben,
      ohne sie in die Konfigurationsdateien einzuf&#252;gen, m&#252;ssen Sie
      m&#246;glicherweise <code>Include conf/access.conf</code> und
      <code>Include conf/srm.conf</code> zu Ihrer <code>httpd.conf</code>
      hinzuf&#252;gen. Um sicherzustellen, da&#223; der Apache die
      Konfigurationsdateien in der gleichen Reihenfolge liest, wie sie von
      den &#228;lteren Direktiven impliziert wurde, sollten die <directive
      module="core">Include</directive>-Direktiven ans Ende der
      <code>httpd.conf</code> gestellt werden, wobei die Direktive f&#252;r
      <code>srm.conf</code> derjenigen f&#252;r <code>access.conf</code>
      vorangeht.</li>

      <li>Die Direktiven <code>BindAddress</code> und <code>Port</code>
      sind entfallen. Eine &#228;quivalente Funktionalit&#228;t wird von der
      flexibleren Direktive  <directive
      module="mpm_common">Listen</directive> bereitgestellt.</li>

      <li>Im Apache 1.3 wurde die <code>Port</code>-Direktive au&#223;erdem
      dazu verwendet, die Portnummer f&#252;r
      selbstreferenzierende URLs festzulegen.
      Die neue <directive module="core">ServerName</directive>-Syntax
      stellt das Apache-2.0-&#196;quivalent dar:
      sie wurde dahingehend ver&#228;ndert, sowohl den Hostnamen
      <em>als auch</em> die Portnummer f&#252;r selbstreferenzierende URLs
      in einer Direktive angeben zu k&#246;nnen.</li>

      <li>Die <code>ServerType</code>-Direktive entf&#228;llt.
      Die Methode zum Bedienen der Requests wird nun durch die Auswahl
      des MPM ermittelt. Derzeit ist kein MPM daf&#252;r bestimmt, von inetd
      gestartet zu werden.</li>

      <li>Die Module <code>mod_log_agent</code> und <code>
      mod_log_referer</code>, welche die Direktiven <code>AgentLog</code>,
      <code>RefererLog</code> und <code>RefererIgnore</code> bereitgestellt
      hatten, wurden entfernt. Durch Verwendung der Direktive <directive
      module="mod_log_config">CustomLog</directive> aus mod_log_config
      sind die Agent- und Refererlogs auch weiterhin verf&#252;gbar.</li>

      <li>Die Direktiven <code>AddModule</code> und
      <code>ClearModuleList</code> sind entfallen.
      Diese Direktiven wurden benutzt, um sicherzustellen, da&#223; die
      Module in der richtigen Reihenfolge aktiviert werden k&#246;nnen.
      Die neue Apache 2.0 API erlaubt es Modulen, ihre Reihenfolge
      explizit anzugeben, und macht diese Direktiven damit
      &#252;berfl&#252;ssig.</li>

      <li>Die Direktive <code>FancyIndexing</code> wurde entfernt.
      Die gleiche Funktionalit&#228;t ist nun mit der Option
      <code>FancyIndexing</code> der Direktive <directive
      module="mod_autoindex">IndexOptions</directive> verf&#252;gbar.</li>

      <li>Die von <module>mod_negotiation</module> bereitgestellte
      Content-Negotiation-Technik MultiViews f&#252;hrt nun eine strengere
      Dateierkennung durch. Es wird ausschlie&#223;lich unter den
      <em>aushandelbaren</em> Dateien gew&#228;hlt. Das bisherige Verhalten
      kann jedoch mit der Direktive <directive
      module="mod_mime">MultiviewsMatch</directive> wiederhergestellt
      werden.</li>
     </ul>
  </section>

  <section id="misc">
    <title>Sonstige &#196;nderungen</title>

    <ul>
      <li>Das Modul <module>mod_auth_digest</module>, das im Apache 1.3
      experimentellen Status hatte, ist nun ein Standardmodul.</li>

      <li>Das Modul <code>mod_mmap_static</code>, das im Apache 1.3
      experimentellen Status hatte, wurde durch das Modul <module
      >mod_file_cache</module> ersetzt.</li>

      <li>Die Distribution wurde komplett reorganisiert und enth&#228;lt kein
      unabh&#228;ngiges <code>src</code>-Verzeichnis mehr. Stattdessen wurden
      die Quellcodes logisch unterhalb des Hauptverzeichnisses der
      Distribution angeordnet. Installationen des kompilierten Servers
      sollten in ein separates Verzeichnis erfolgen.</li>
    </ul>
  </section>

  <section id="third-party">
    <title>Module von Drittanbietern</title>

    <p>An der API des Apache 2.0 wurden umfassende &#196;nderungen
    vorgenommen. Bestehende Module, die f&#252;r die Apache 1.3 API
    entwickelt wurden, werden <strong>nicht</strong> ohne Modifikationen mit
    der Version 2.0 des Apache zusammenarbeiten. Details sind in der <a
    href="developer/">Dokumentation f&#252;r Entwickler</a> beschrieben.</p>
  </section>
</manualpage>
