Slugdebug: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 243: | Zeile 243: | ||
Jetzt sollte der Connect zu Eurem ftp wieder funktionieren. | Jetzt sollte der Connect zu Eurem ftp wieder funktionieren. | ||
[[Kategorie:NSLU2]] |
Aktuelle Version vom 30. Juni 2018, 08:48 Uhr
Fehler beim eaccelerator
Wichtig: Schaut bitte einmal Eure Apache Error-Log Datei an:
/opt/var/apache2/log/error_log
Es kann sein, dass die mittlerweile sehr groß geworden ist und förmlich von eaccelerator Meldungen ( could not lock ) ist. Der eaccereator cacht im php-Bereich und sorgt für etwas mehr Performance beim Laden. Solltet Ihr die error_log vol von eaccelerator Meldungen haben (die kommen im Sekundentakt wenn eine php Seite geladen wird), dann müssen wir die Build-Tools der Slug installieren (falls noch nicht geschehen):
ipkg install optware-devel
Dann brauchen wir noch die dev- Files der php Installation:
ipkg install php-dev
Zuerst modifizieren wir die /etc/profile, damit wir einen sauberen Kompile hinbekommen:
vi /etc/profile
Ergänzt dann folgende Zeilen und speichert die Datei ab:
export PATH=$PATH:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:.
export LD_LIBRARY_PATH=/opt/lib
Meldet Euch erstmal aus Eurer Slug ab und dann wieder an, damit die Suchpfade übernommen werden.
Nun entfernen wir den Beschleuniger:
ipkg remove eaccelerator
Und starten den Indianer neu:
/opt/etc/init.d/S80apache
Jetzt legen wir ein Arbeitsverzeichnis an:
mkdir work
und wechseln gleich dort hin:
cd work
Nun holen wir uns den Quellcode des aktuellen eaccelrator:
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
(auf der Projektseite [1] des eaccelerator könnt Ihr Euch über die aktuelle Versionsnummer informieren)
Das Paket entpacken wir locker aus der Hüfte:
tar vxf eaccelerator-0.9.5.3.tar.bz2
Ab in das Buildverzeichnis:
cd eaccelerator-0.9.5.3
Nun keine Zeit verschwenden und sofort
phpize
eingeben. Danach konfigurieren wir den php Beschleuniger mit folgendem einfachen Befehl:
./configure --prefix=/opt --with-eaccelerator-userid=nobody
Das kann einwenig dauern. Wenn alles fehlerfrei durch ist, kann das Programm gebacken werden:
make
Danach der obligatorische install:
make install
Da wir die Scriptfiles nicht manuell anlegen wollen tun wir jetzt das, was keiner erwartet: Wir installieren das Paket nochmal aus dem repository:
ipkg install eaccelerator
Das legt uns alle benötigten Pakete an
Aber wir löschen wieder das File, damit wir unser eigenes verwenden können:
rm /opt/lib/php/extensions/eaccelerator.so
Und sofort unsere neue Datei rein:
cp /work/eaccelerator-0.9.5.3/modules/eaccelerator.so /opt/lib/php/extensions/eaccelerator.so
Alte Apache Logdatei tillen:
rm /opt/var/apache2/log/error_log
Frische Apache Logdatei erzeugen:
touch /opt/var/apache2/log/error_log
Jetzt startet den Apache nochmal neu:
/opt/etc/init.d/S80apache
Und schaut Euch die Error-Log an:
tail -f /opt/var/apache2/log/error_log
Nun ruft Eure Internetseite auf. Sollte natürlich php-Code sein. Die Fehlermeldungen sollten nun nichtmehr auftauchen. Zudem schaut Euch mal Eure phpinfo.php Datei an, ob der eaccelerator tatsächlich cached. Das seht Ihr in der Sektion EACCELERATOR
Bei dem fehlerhaften eaccelerator sind bei den Memory und cached File Bereich die "0" drin. Wenn es läuft, dann stehen hier entsprechende Werte.
Fehler bei Midnight Commander
Wer bei einer neuen Installation den Fehler beim Start des MC bekommen sollte, dass ein libext2fs.so nicht gefunden werden kann, der muss das Paket e2fsprogs nachinstallieren:
ipkg install e2fsprogs
Sollte allerdings mittlerweile nicht mehr auftreten
Zeitverschiebung des Servers korrigieren
Je länger nun die Slug läuft, desto weiter wird auf dem Gerät die korrekte Zeit von der Slug-Zeit abweichen. Eine Geschichte, die einwenig ärgerlich ist, aber sehr einfach zu beheben. Hierzu werden wir einen NTP Clienten einrichten, der von einem Zeitserver im Internet die aktuelle und genaue Zeit mit der NSLU2 synchronisiert. Nichts ist schlimmer, als z.B. ein falsches Empfangsdatum einer E-Mail angezeigt zu bekommen, gerade wenn es um geschäftliche Dinge geht. Installiert den NTP Client mit folgenden Befehl:
ipkg install ntpclient
Dann müssen wir einmal die Zeit manuell synchronisieren und dem Timer der Slug übergeben. Führt dazu folgenden Befehl als root aus:
/opt/bin/ntpclient -s -l -h 0.pool.ntp.org && hwclock --systohc --utc
Wenn der Befehl hängen bleibt und Ihr nicht wieder zurück zur Eingabeaufforderung kommt, dann beendet dies mit STRG+C . Dieser Effekt kann durchaus mit der neueren 6.10er Firmware auftauchen. In diesem Fall lasst die -l Option weg:
/opt/bin/ntpclient -s -h 0.pool.ntp.org && hwclock --systohc --utc
Legt ein Logfile an in dem das letzte Update dokumentiert wird:
touch /var/log/ntp.log
Editiert /etc/crontab und fügt folgende Zeile ein:
1 * * * * root /opt/bin/ntpclient -s -l -h 0.pool.ntp.org -p123 > /var/log/ntp.log && hwclock --systohc --utc
Bei obigen Fehler auch hier ohne der -l Option:
1 * * * * root /opt/bin/ntpclient -s -h 0.pool.ntp.org -p123 > /var/log/ntp.log && hwclock --systohc --utc
Dann entfernt die Zeile (oder kommentiert sie mit einem # aus):
1 * * * * root /usr/sbin/hwclock -s &>/dev/null
Startet nun die NSLU2 neu. Ab jetzt wird jede Stunde die Zeit neu mit der Slug synchronisiert.
vsftpd Fehler in Version 2.1.0
Mit der Version 2.1.0 kommt es leider zu folgenden Fehler beim Verbinden:
500 OOPS: could not bind listening IPv4 socket
Vermutlich wurden beim Codieren einige default Einstellungen nicht einkompiliert. Um die Geschichte nun wieder zu reparieren editiert die vsftpd.conf:
vi /opt/etc/vsftpd.conf
Fügt folgende Zeilen bitte ein:
listen=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
Speichert die Änderung ab und beendet den inetd:
killall inetd
Jetzt startet den inetd neu:
/etc/rc.d/rc.xinetd
Jetzt sollte der Connect zu Eurem ftp wieder funktionieren.