6.2. Die Webseiten bauen

Nachdem Sie die Quellen der Webseite erfolgreich heruntergeladen haben, können Sie mit dem Bau der Webseite beginnen.

Die Installation der Webseiten wird als root 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.

In den folgenden Beispielen werden die Webseiten durch den Benutzer jru in dessen Heimatverzeichnis, also unter /usr/home/jru/doc, gebaut.

Tipp:

Der Bau der Webseiten erfordert die Datei INDEX der Ports-Sammlung und schlägt fehl, wenn /usr/ports nicht existiert. Der einfachste Weg, dies zu vermeiden, ist die Installation der Ports-Sammlung.

Beispiel 6.1. Die komplette Webseite und alle Dokumente bauen

Bauen Sie die Webseite und alle Dokumente. Die erzeugten Dateien verbleiben dabei im Dokumentationsbaum:

% cd ~/doc/en_US.ISO8859-1/htdocs/
% make all

Beispiel 6.2. Nur die englische Webseite bauen

Bauen Sie nur die englische Webseite als Benutzer jru und installieren Sie die erzeugten Dateien nach /tmp/www, um die Webseite testen zu können:

% cd ~/doc/en_US.ISO8859-1/htdocs/
% env DESTDIR=/tmp/www make ENGLISH_ONLY=yes WEB_ONLY=yes all install

Ä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:

% firefox /tmp/www/data/index.html

Ä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 www/apache24 mit folgender Konfigurationsdatei /usr/local/etc/apache24/httpd.conf starten und Ihre Änderungen testen:

# 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

Starten Sie den Webserver wie folgt:

# service apache24 onestart

Die Webseite ist danach unter der Adresse http://localhost erreichbar. Beachten Sie aber, dass viele Links auf die echte FreeBSD-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 DNS temporär umkonfigurieren, damit www.FreeBSD.org als localhost oder als Ihre lokale IP-Adresse aufgelöst wird.


Beispiel 6.3. Die Webseite bauen und installieren

Bauen Sie die Webseite und alle Dokumente als Benutzer jru. Installieren Sie die erzeugten Dateien als root in das Standardverzeichnis, also nach /root/public_html:

% cd ~/doc/en_US.ISO8859-1/htdocs
% make all
% su -
Password:
# cd /usr/home/jru/doc/en_US.ISO8859-1/htdocs
# make install

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:

# find /usr/local/www -ctime 3 -delete

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.