Programmieren
 
 
 
 
 
Sprachen im Netzwerk
 
 
 
 
 
Hinweise
 
 
 
 
 

 
 
 
 
 
Der Virtual Server bei 1&1 - Linux / Apache
Sowohl der Schulserver als auch der von GoBlack sind z.Zt. virtuelle Server, die bei dem Provider 1&1 (Schlund.AG) in Karlsruhe stehen. Virtuell bedeutet, dass ein Stück der Festplatte eines Computers so tut, als sei sie ein eigenständiger Rechner mit einem Betriebssystem. Nun gut, die Emulation funktionierte bisher ohne Probleme, das Betriebssystem heisst Linux und der Server basiert auf dem Apache-Programm, was wahrscheinlich keinen Linux-Freak verwundert.

Ohne den Beschreibungen des Providers Konkurrenz machen zu wollen, sei gesagt, das auf dem Linux / Apache System zwei Programme, mit den Namen Virtuzzo dann Plesk aufgesetzt sind, welche die Administration des Servers, auch für solche Menschen vereinfachen, die sich noch nicht mit Linux und dem Apache-Server auseinandergesetzt haben.
Dabei ist Plesk für die Verwaltung der Domains auf dem Server zuständig, während mit Virtuzzo die Funktionen des Serversprogramms selber administriert werden kann. Auf das Betriebssystem, also die unterste Ebene dieser Hierarchie kann über eine SSH-Schnittstelle per Telnet zugegriffen werden, wobei in diesem Fall Wissen über Linux und den Apache Server unabdingbar ist. Zum Betrieb dieser Schnittstelle ist ein SSH-Telnet-Client für den heimischen PC notwendig, während die erst genannten Programme über einen normalen HTTP-Browser bedient werden können.
 
 
 
 
 
SSH-Telnet-Client
SSH-Telnet-Clients werden im Internet vielfach angeboten. Einer von ihnen ist PuTTY.exe. Das Programm wird beispielsweise auf einem heimischen Rechner installiert und ermöglicht nun eine sichere Verbindung zu dem Linux-Betriebssystem des Servers. Hierzu müssen dem Programm der URL des Servers als Name oder die IP-Adresse genannt werden, (voreingestellt ist typischer Weise der Port 22) und nach der Einwahl ein Benutzer und ein Passwort. Für den obigen Server entsprechen beide Angaben den Einstellungen, die in Virtuzzo eingetragen wurden. Das ist der Benutzer root und sein frei wählbares Passwort.
 
 
 
 
 
 
 
 
 
 
Konfigurationsbildschirm des SSH-Telnet-Clients PuTTY.exe. Es sollte darauf geachtet werden, dass auch wirklich SSH ausgewählt ist.                  Link zur PuTTY Homepage
 
 
 
 
 
 
 
 
 
 
PuTTY-Terminalbildschirm nach einem gelungenen LogIn in den Kommandointerpreter des Linux Betriebssystems. Die Sitzung sollte mit dem Kommando logout beendet werden. Mögliche weitere Kommandos werden nach der Eingabe von help aufgelistet.
 
 
 
 
 
Linux Kommandos, die nichts kaputt machen können sind ..

ls           – List, es zeigt die Dateien des eingestellten Verzeichnisses an, -l erweitert
cd pfad  – change Directory, wechselt in das angegebene Verzeichnis
cd ..       – change Directory, wechselt in das vorherige Verzeichnis
help       – Liste mit weiteren Linux Kommandos
logout    – Abbruch der momentanen Sitzung

.. weitere Kommandos sind in den Handbüchern von Linux und im Internet zu finden.
 
 
 
 
 
ASCII-Texte .. Windows versus Linux
Dateien, für den Linux-Apacheserver werden im Netzwerk per FTP (File Transfer Protocol) von einem PC zum Server hochgeladen. Hier kann es zu Problemen kommen, wenn der PC ein Windows Betriebssystem besitzt.
Beim Windows-Betriebssystem wird der Zeilenumbruch durch die zwei ASCII-Zeichen <CR><LF> (0Dh,0Ah) erzeugt, wohingegen bei Linux nur ein <LF> (0Ah) benutzt wird. Das von Windows, beim Zeilenumbruch erzeugte zusätzliche Zeichen für Carriage Return <CR> kann bei CGI-Scripts für einen Linuxserver zu schwer nachvollziehbaren Fehlermeldungen führen.
Abhilfe schafft hier ein Texteditor, der Texte aus Windows, in solche für Linux und umgekehrt wandeln kann. Ein solches Programm liegt in der grossen Vielzahl von freien Texteditoren, mit notepad plus plus, kurz notepad++.exe vor. Dieses Programm kann in einer Windows-Umgebung den berüchtigten Texteditor notepad.exe, bis hinunter zur Systemebene vollständig ersetzen und bietet einen umfangreichen, zusätzlichen Funktionsvorrat, zusammen mit einer Zeilennummerierung und einer Texthervorhebung für diverse Programmiersprachen.
 
 
 
 
 
 
 
 
 
 
Notepad++, ein Texteditor, der neben vielen anderen Fähigkeiten, Texte, die unter dem Windows Betriebssystem entstanden sind, in Texte für das Linux-Betriebssystem wandelt und umgekehrt. Link zur Notepad++ Homepage
 
 
 
 
 
Die Installation von Notepad++ ist denkbar einfach und bedarf keiner weiteren Anmerkungen. Interessanter ist eine zweite Datei mit dem Namen NppLauncher.bin.zip auf den Seiten von sourceforge.net, woher notepad++ stammt. Ersetzt man nach der, diesem Programm beigefügten Anleitung, die originale Datei notepad.exe des Windows Betriebssystems mit der notepad.exe Datei aus NppLauncher.bin.zip, so wird überall dort, wo das Windows-Betriebssystem notpad.exe als Editor einsetzt, notepad++.exe verwendet. So zum Beispiel beim Internet-Explorer, wenn man diesen auffordert, den Quelltext einer HTML-Seite anzuzeigen.
 
 
 
 
 
Fehlermeldung - Premature end of script headers:
In welchen Situationen das zusätzliche <CR> von Windows-Texten sowie ein ASCII-Code mit gesetztem höchsten Bit, beim Apache Server Fehler erzeugen ist hier nicht ausreichend bekannt. Bei Scripts für das Verzeichnis /cgi-bin/ eines solchen Servers tun sie es mit absoluter Sicherheit. Wie das <CR> eines Windows-Textes beseitigt werden kann, wurde gerade beschrieben. Das in einem Script wirklich ein 7Bit ASCII-Code und nicht ein 8Bit-Code, kann über die Einstellung [ASCII] bei dem FTP-Explorer gewährleistet werden. Nur Dateien, wie Bilder, Videos, Musik und Programme sollten mit der Einstellung [BIN] des FTP-Explorers zum Server übertragen werden, denn hier sind alle 8 Bits der Bytes von Bedeutung, während der ASCII-Code nur über 7Bits definiert wurde.

Ein letztes Problem bei CGI-Scripts und dem Apache Server, ist aus der Sicht von Windows-Benutzern, die Freigabe der CGI-Scripts zur Ausführung. Wurde diese Freigabe nicht gesetzt, so erscheint wie bei den vorhergehenden zwei Unterschieden zwischen Windows und Linux, ebenfalls die Fehlermeldung - Premature end of script headers:.

Bei Linux-Servern die aus der Ferne administriert werden, kann diese Freigabe über das Kommando CHMOD des FTP-Explorers geschehen. Bei den WS-FTP -Explorern ist dieses Kommando ausdrücklich im Menü enthalten, und führt zu einem Fenster, in dem die Freigaberechte einer Datei bestimmt werden können.
Wurden die Rechte gesetzt, enthält die Rechtemaske der Datei den Wert 0755 oder (u+rwx, go+rx ).
 
 
 
 
 
 
 
 
 
 
WS-FTP Explorer, mit ausgewähltem perl.cgi -Script, dessen Dateiattribute geändert werden sollen. Dies geschieht bei Linux-Servern durch das Kommando CHMOD, welches aus dem 'rechte Maustasten-Klick'- Menü gewählt wurde.
 
 
 
 
 
 
 
 
 
 
WS-FTP Explorer. Nach der Wahl des ChangeMODe-Kommandos erscheint ein Fenster, in dem durch Check-Buttons die Rechte für externe Benutzer gesetzt werden können. So die Erlaubnis zur Ausführung des CGI-Scripts, ohne die eine Fehlermeldung .. Premature end of script headers: beim Aufruf des Scripts erscheinen würde.
 
 
 
 
 
Um aussagekräftige Fehlermeldungen für einen Linux-Server zu erhalten, muss die Error-Logdatei der Domain angesehen werden. Diese lautet im vorliegenden Beispiel .
/srv/www/vhosts/test.GoBlack.de/statistics/logs/error_log

Weitere wichtige Anhalte liefert bei CGI-Scripts die Datei ..
/var/log/apache2/suexec.log
 
 
 
 
 
/cgi-bin/
Ein der interessanten Eigenschaften des Verzeichnisses /cgi-bin/ ist, dass sich hier neben den Perl- und PHP-Scripts, die interpretiert werden, auch fertig compilierte Programme ausführen lassen. Wesentlich ist, dass es sich hierbei um solche Programme handeln muss, die unter Linux und nicht unter Windows lauffähig sind.
 
 
 
 
www..de