shuttlehome ein Dienst des DFN
  News     Leistungen     Support     Kontakt     Sitemap     Suche  
  Faq     Anleitungen     Tutorial     Security     Schulen    

Fehlersuche - Einführung in Unix


Zwischen Windows und Unix gibt es einige Unterschiede, die dazu führen können, daß Ihre Seiten nicht sofort funktionieren.

Im folgenden sollen Sie erlernen, grundlegende Unix-Kommandos selber auszuführen, um zu prüfen, ob Ihre Dateien an der richtigen Stelle stehen und die richtigen Zugriffsrechte haben.

Bitte lesen Sie diese Anleitung bis zum Ende durch, bevor Sie die Hotline bemühen.


Nehmen wir im folgenden an, Sie haben Ihre Datein per ftp hochgeladen, im Browser erscheint Ihre Seite aber noch nicht, was sich auch nicht durch Drücken von reload (neu laden) und auch nicht Shift-Reload (Umschalten und neu laden) lösen läßt.

Begeben Sie sich zunächst mit ssh auf unseren Server.

Login-Directory

Nachdem Sie sich mit Ihrer Kennung und Ihrem Passwort auf unserem Server eingeloggt haben, befinden Sie sich in Ihrem sog. Login-Directory, auch Home-Directory genannt.
Es heißt /var/www/customers/IHRE_BENUTZERKENNUNG, also z.B. /var/www/customers/xx9999.

Bitte beachten Sie: Der Pfad, also das Verzeichnis, in dem sich Ihre Dateien befinden, ist nicht die URL!

Ihre URL können Sie im Anschreiben von DFN-WiNShuttle zu Ihrem Vertrag nachlesen.

Wo bin ich?

Sollten Sie sich einmal durch häufiges Wechseln der Verzeichnisse nicht mehr sicher sein, in welchem Sie sich befinden, so nutzen Sie den Befehl pwd.

pwd steht für print working directory und gibt das aktuelle Verzeichnis aus.

ls - Dateien auflisten

Sie lassen sich nun anzeigen, welche Dateien und Unterverzeichnisse sich in diesem Verzeichnis befinden, indem Sie den Befehl
ls

ausführen. ls steht für listing.

Wenn Ihre Kennung bei uns noch ganz neu und frisch ist, wird dort nur erscheinen:

www@

Ein ausführliches Listing erhalten Sie, wenn Sie dem Befehl ls noch einige Optionen mitgeben. Optionen werden unter Unix mit dem Minuszeichen eingeleitet.
Führen Sie aus:

ls -al

und beachten Sie das Leerzeichen zwischen dem Befehl und der Option.

a bewirkt, daß auch Dateien angezeigt werden, die mit einem Punkt "." beginnen. Diese Dateien sind mit versteckten Dateien unter DOS vergleichbar.
l bewirkt, daß nicht nur der Dateiname, sondern auch andere
Dateiattribute angezeigt werden, wie Dateityp, Zugriffsrechte, Besitzer, Gruppe, Größe, Datum des letzten Zugriffs. Dazu aber später mehr.

Es sollte nun erscheinen:

   total 24
   drwx------   2 xx9999   xx9999       512 Jan  1 02:11 ./
   drwxr-xr-x 395 root     root        6656 Apr 23 11:50 ../
   -rw-------   1 xx9999   xx9999       209 Jan 31 13:52 .bash_history
   -rw-------   1 xx9999   xx9999       618 Jan  1 02:11 .bash_profile
   -rw-------   1 xx9999   xx9999       525 Jan  1 02:11 .bashrc
   lrwxrwxrwx   1 root     root          20 Jan  1 02:11 www -> /var/www/pub/xx9999/
Anstelle von xx9999 wird i.d.R. Ihre Benutzerkennung stehen.
Behandeln Sie den symbolischen Link www wie ein normales Verzeichnis und verändern Sie nichts daran. Löschen Sie ihn vor allem nicht!
Bitte stören Sie sich auch nicht daran, daß dieser Link root, also dem Systemverwalter gehört.

cd - Verzeichnisse wechseln

Wir wollen nun sehen, ob die Dateien, die Sie heraufgeladen haben, sich im richtigen Verzeichnis befinden.

Nutzer mit eigener Domain wechseln dazu in folgendes Verzeichnis

cd /var/www/vhosts/www.MEINE_DOMAIN.de
(Früher: www/MEINE_DOMAIN.de.)

Nutzer mit URL unter www.KFZ.shuttle.de wechseln nach

cd /var/www/vhosts/www.KFZ.shuttle.de/RECHNERNAME/
(Früher: www).

Ersetzen Sie KFZ bitte durch das KFZ Ihres Wohnortes.
Den Rechnernamen konnten Sie bei Vertragsabschluß selber wählen.

Nutzer mit URL unter www.shuttle.schule.de wechseln nach

cd /var/www/vhosts/www.KFZ.shuttle.de/KFZ/RECHNERNAME/

(Früher: www).

Ersetzen Sie KFZ bitte durch das KFZ Ihres Wohnortes.
Den Rechnernamen konnten Sie bei Vertragsabschluß selber wählen.

cd steht für change directory.

Führen Sie hier wieder ls aus. Es sollte sich mindestens eine Datei index.html (oder mit einem anderen Namen wie bei Editeren aufgezählt) befinden.

Wechseln Sie wieder in Ihr Login-Directory, in dem Sie einfach cd eingeben, damit landen Sie immer im Login-Directory.

(Um ein Verzeichnis nach oben zu wechseln, geben Sie cd .. ein. Dies ist nötig, wenn Sie später noch Unterverzeichnisse angelegt haben.)

Richtig referenzieren

Sie wollen jetzt natürlich nicht nur diese eine Seite haben, sondern von Ihrer Hauptseite auf andere Seiten mit anderen Themen verweisen.

Sicher haben Sie das auch schon auf Ihrem PC gestestet und die Seiten liessen sich gut aufrufen. Bevor das aber auf unserem Server klappt, müssen Sie die Verweise in Ihren Dokumenten den Pfaden auf unserem Unix-Server anpassen.

Statt <a href="c:\HTML\SEITE2.HTM"> muß eine Datei namens "SEITE2.HTM", die im gleichen Verzeichnis wie Ihre Hauptseite liegt, ansprochen werden mit
<a href="SEITE2.HTM">.

Um es sich zu ersparen, die Bedienung eines Unix-Editors zu erlernen, ändern Sie die Referenzierung am besten vor dem Hochladen der Dateien.

Groß- und Kleinschreibung

Damit sind wir bereits beim nächsten Punkt der schiefgehen kann: Unix unterscheidet, im Gegensatz zu DOS/Windows, die Groß- und Kleinschreibung.

Eine Datei, die SEITE2.HTM heißt ist nicht die gleiche wie eine Datei seite2.htm.

Was ist also zu tun, um dem abzuhelfen?

Mit Hilfe des ls-Kommandos sind Sie ja bereits in der Lage zu erkennen, ob eine Datei in Ihrem Verzeichnis groß oder klein geschrieben ist. Stimmt diese Schreibweise nicht mit den Verweisen in Ihren Dokumenten überein, haben Sie zwei Möglichkeiten:

1.) Ändern der Verweise in Ihren Dokumenten zuhause und erneutes Hochladen.

2.) Umbennen der Dateien auf unserem Unix-Server mit dem Befehl mv.



mv - Umbenennen von Dateien

Um eine Datei im gleichen Verzeichnis umzubennen führen Sie aus:

             mv alter_name neuer_name
also z.B.
             mv SEITE2.htm seite2.html

mv steht für move und kann auch dazu benutzt werden, Dateien von einem Verzeichnis ins andere zu bewegen.
Haben Sie beispielsweise Ihre Dateien versehentlich nicht in das Verzeichnis www hochgeladen sondern in Ihr
Login-Verzeichnis, so können Sie die Dateien problemlos in das richtige Verzeichnis schieben:

1.) wenn Sie sich in Ihrem Login-Verzeichnis befinden mit:

             mv dateiname verzeichnis
z.B. also
             mv index.html www
.

2.) wenn Sie sich im Verzeichnis www befinden mit:

             mv ../datei neues_verzeichnis
z.B.
             mv ../index.html www


mkdir - Neue Verzeichnisse anlegen

Der nächste Wunsch, den wir Ihnen erfüllen wollen ist, daß Sie Ihre Dokumentenstruktur durch eigene Verzeichnisse übersichtlich machen. Wir wollen dies tun anhand eines Verzeichnisses für die zu Ihrer Homepage gehörigen Bilder.

Angenommen, Sie haben in Ihrem WWW-Verzeichnis schon sehr viele HTML-Dokumente abgelegt und noch mehr Bilder im JPG-Format (mein_bild.jpg). Zur besseren Übersicht wollen Sie die Bilder in einem extra Verzeichnis aufbewahren.

Gehen Sie in das Verzeichnis, unter dem Sie ein neues Verzeichnis anlegen wollen, z.B. in Ihr Verzeichnis www mit cd www.

Legen Sie ein Verzeichnis an mit:

          mkdir neues_verzeichnis
z.B. also
   
          mkdir Bilder
mkdir steht für make directory.

Sehen Sie sich das Ergebnis mit ls -al an.

Verschieben Sie alle Dateien, die auf .jpg enden in das neue Verzeichnis:

          mv *.jpg Bilder
Gehen Sie mit cd Bilder in das Verzeichnis uns sehen Sie sich das Ergebnis mit ls -al an.

Ändern Sie die Verweise in Ihren HTML-Dokumenten!

Auf Bilder muß fortan nicht zugegriffen werden durch:

         <img src="/mein_bild.jpg">     oder
         <img src="mein_bild.jpg">
sondern durch:
   
         <img src="/Bilder/mein_bild.jpg">

Zugriffsrechte

Eine weitere Fehlerquelle, wenn Ihre Seiten nicht so funktionieren, wie sie sollen, können die Zugriffsrechte sein.
Im Normalfall sollten Sie von unseren Server richtig gesetzt sein, an dieser Stelle dennoch eine Anleitung, wie die Zugriffsrechte zu interpretieren und zu ändern sind.

Lassen Sie sich zunächst mit ls -al ein Verzeichnis anzeigen.
In der allerersten Spalte ist abzulesen ob es sich bei dem Objekt um eine gewöhnliche Datei handelt ( "-"), ein Verzeichnis ("d" für Directory) oder einen symbolischen Link ("l"). Letzterer ist nur ein Verweis und kann sowohl auf Dateien als auch Verzeichnisse zeigen.
Ihr Verzeichnis www ist ein solcher Link. Behandeln Sie ihn trotzdem ganz normal wie ein Verzeichnis.

Beispiele:

-rw-r--r--   1 xx9999  xx9999     296 Jan 15 18:14 index.html
drwxr-xr-x   3 xx9999  xx9999     512 Jan 22 15:58 Bilder/
lrwxrwxrwx   1 root     root        20 Jan  1 02:11 www -> /var/www/pub/xx9999/
In den nächsten 9 Spalten stehen die Zugriffsrechte für die Datei oder das Verzeichnis.

Unix unterscheidet zwischen den Zugriffsrechten read, write und execute. Beachten Sie bitte, daß write nicht nur schreiben sondern auch löschen bedeutet!

Die ersten drei Stellen kennzeichnen die Rechte des Besitzers einer Datei (auch kurz u für user).
Die nächsten drei Stellen stehen für die Rechte der Gruppe (g für group), der die Datei oder das Verzeichnis zugeordnet ist.
Die letzten drei Stellen schließlich kennzeichnen die Zugriffsrechte für alle anderen Benutzer auf dem Rechner, die nicht der Besitzer selber sind und nicht der Gruppe angehören, der die Datei zugeordnet ist (o für others). Hier darf NIE das w für schreiben und löschen gesetzt sein.

Interpretieren wir die oben stehenden Zeilen.

-rw-r--r--   1 xx9999  xx9999     296 Jan 15 18:14 index.html
Das Objekt index.html ist eine gewöhnliche Datei ("-").
Sie hat Lese- und Schreibrechte für den Besitzer (rw-), für die Gruppe und alle anderen sind nur Leserechte gesetzt (r--r--).
Die Datei gehört dem Benutzer xx9999 und der Gruppe xx9999, ist 296 Byte groß und wurde am 15. Januar, 18:14 zuletzt geschrieben.

drwxr-xr-x   3 xx9999  xx9999     512 Jan 22 15:58 Bilder/
Das Objekt Bilder ist ein Verzeichnis (Directory, "d").
Der Besitzer darf lesen, schreiben und ausführen (rwx).
Ausführen heißt bei Verzeichnissen hereinwechseln. Würde das x-Recht fehlen, so könnte man nicht mehr mit cd hereinwechseln!
Die Gruppe und andere User dürfen lesen und hereinwechseln (r-xr-x).
Beide Rechte sind notwendig, damit der WWW-Server auf die darin enthaltenen Dateien zugreifen kann.


lrwxrwxrwx   1 root     root        20 Jan  1 02:11 www -> /var/www/pub/xx9999/
Das Objekt www ist ein symbolischer Link ("l") auf das Verzeichnis /var/www/pub/xx9999/.
Ein Link ist eine Datei, die nur einen Zeiger auf eine andere Datei oder ein Verzeichnis enthält.
Der Link enthält also selber keine Daten er zeigt vielmehr auf einen anderen Ort, an dem sich die Daten befinden.
Typisch für einen Link ist, daß er für den Besitzer, die Gruppe und alle anderen volle Zugriffsrechte hat (rwxrwxrwx).
Dies bedeutet, daß dem Link auf jeden Fall gefolgt wird (denn er ist ja für jeden lesbar) und dann die Zugriffsrechte des Originalverzeichnisses oder der Originaldatei befolgt werden.
Sie ermitteln diese mit ls -al /var/www/pub/xx9999/.

chmod - Ändern der
Zugriffsrechte

Beim Ändern der Zugriffsrechte sind eigentlich nur zwei Konstellationen interessant: die korrekten Rechte für Dateien und die korrekten Rechte für Verzeichnisse
Sollten Ihnen diese Ausführungen nicht ausführlich genug sein, so können Sie Details natürlich in unserem
Unix-Tutorial nachlesen.

Angenommen, eine Datei hat die Rechte

-rw-------   1 xx9999  xx9999     296 Jan 15 18:14 index.html
oder
-rw-rw-rw-   1 xx9999  xx9999     296 Jan 15 18:14 index.html
Das wären im ersten Fall zuwenige und im zweiten Fall zuviele (wiederum: write, also schreiben, heißt auch löschen). Dies beheben wir mit:
            chmod 644 index.html
oder
            chmod 644 *.html
für alle HTML-Dateien auf einen Schlag.

Nehmen wir nun an, ein Verzeichnis hat die Rechte:

drwx------   3 xx9999  xx9999     512 Jan 22 15:58 Bilder/
oder
drwxrwxrwx   3 xx9999  xx9999     512 Jan 22 15:58 Bilder/
Im ersten Fall wieder zuwenig Rechte, im zweiten zuviel.
Also führen Sie aus:
           chmod 755 Bilder
und Sie erhalten die Rechte wie oben beschrieben.

Ändern Sie nie etwas an den Rechten des symbolischen Links www!

chmod steht für change mode.



rm - Dateien löschen

Hin und wieder tragen Sie auch zuhause den Mülleimer raus, auch das ist bei Ihren Dateien hin und wieder nötig.
Es passiert immer wieder, daß man versehentlich eine Datei kopiert, die man gar nicht braucht (und die dann doppelt Speicherplatz belegt) oder daß man seine Seiten überarbeitet und einige HTML-Files einfach obsolete werden. Diese wollen Sie dann sicher entfernen.

Um ein File zu löschen, gehen Sie mit cd in das entsprechende Verzeichnis und führen Sie aus:

            rm dateiname
also z.B.
            rm muell.html
rm steht für remove.

Vorsicht! Anders als bei DOS sind gelöschte Dateien unwiederbringlich verloren! Dies liegt an der grundlegenden Konstruktion des Dateisystems.




Über Feedback zu dieser Anleitung sind wir natürlich dankbar!

copyright 2017 shuttle_small   Impressum   Datenschutz
Druckversion