Debian ( 6 ) Squeeze Update php

Problem : PHP auf einem Debian 6 Server Updaten

Lösung :

Hinzufügen des dotdeb Repository (DotDeb Hilfe) zur /etc/apt/sources.list

# dotdeb.org

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all


Importieren des GnuPG Key

wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg


Update der Packetverwaltung mit apt-get update durchführen.

Dannach bringt ein apt-get dist-upgrade php auf die aktuelle Version

Ein php - version liefert dann diesen Output PHP 5.3.28-1~dotdeb.0 with Suhosin-Patch ....... Stand ( 24.06.2014 )

Nachdem php geupdatet wurde muss der Apache neu gestartet werden da sonst Serverfehler ausgeliefert werden , dies kann mit

/etc/init.d/apache2 restart erledigt werden.

Kursiv = Muss in der Console eingegeben werden oder ist ein Output

Check_MK Plugin | LOCAL Check ! | Linux Updates

Ich habe hier als Server Überwachung Check_MK am laufen , die Serverüberwachung bringt die Möglichkeit mit Windows Systeme auf Updates zu überprüfen. Diese Funktion habe ich für Linux Systeme vermisst und habe einen local Check für Debian geschrieben der die selbe Aufgabe übernimmt.

eine Datei anlegen mit folgendem Inhalt z.B. debian_updates.sh


#!/bin/bash
LOGPATH=`dirname $(readlink -f ${0})`
LOGFILE=debian_updates.log
LOGFULL=$LOGPATH/logs/$LOGFILE
DEBVER=`cat /etc/debian_version`
TNOW=$(date "+%s");
STATUS=0

function Get_Updates {
         apt-get update > /dev/null 2> /dev/nul
         AVUP=`apt-get dist-upgrade -qq -y -s |  grep -c '^Inst '`
         AVPACK=`apt-get dist-upgrade -qq -y -s |  awk '/^Inst / { print $2 }' | sed ':a;N;$!ba;s/\n/ /g'`
         AVUPA=$(($AVUP + 1));
         AVUP=$(($AVUPA - 1));
         if [ $AVUP != 0 ]; then
              STATUS=1
              STATUSTXT="$AVUP Updates ( Debian Version : $DEBVER )__ $AVPACK"
         else
              STATUS=0
              STATUSTXT="System ist auf dem aktuellsten Stand ( Debian Version : $DEBVER )"
         fi

        echo "$STATUS Debian_Update - $STATUSTXT" > $LOGFULL
        echo "$STATUS Debian_Update - $STATUSTXT"
}


if [ -e $LOGFULL ];
   then
   TDATEI=$(stat -c %Z $LOGFULL);
   ALTER=$(($TNOW - $TDATEI));
   MAXALTER=86400;      # ---- Berechnet sich wie folgt 24*60*60=86400 Sekunden
                if [ $ALTER -gt $MAXALTER ];
                        then
                        Get_Updates
                        else
                        while read line; do
                                echo $line
                        done < $LOGFULL
                        exit;
                fi
   else
        Get_Updates
   fi

exit



die Datei ausführbar machen mit chmod u+x Dateiname und dann in /usr/lib/check_mk_agent/local/ kopieren. Ein Unterverzeichnis mit dem Namen logs anlegen und einen Full Scan auf die Maschine ausführen. Ab dann werden die Updates auch in der Serverüberwachung angezeigt.

z.B. keine Updates



z.B. Updates stehen zur Installation

Owncloud & Netzwerkfreigabe

Problem :

In unserer Firma setzen wir Owncloud 5.0.5 ein um die Daten in Echtzeit den Außendienstmitarbeitern zur Verfügung zu stellen. Über einen Sync Agent wäre dies auch zu realisieren allerdings würde dann der Ordner immer komplett auf die lokale HDD gesynct werden, was Speicherplatz auf den Clients benötigt. Ich habe das Problem über einen lokalen Mount realisiert und die Daten werden in Echtzeit in die Cloud übertragen. Das Beispiel erklärt anhand eines Debian 6 eine Einrichtung des Systems

Lösung :

Ich gehe hier davon aus das eine funktionierende Owncloud Installation auf dem Server vorhanden ist.

Zusätzlich benötigte Packete auf dem Debian Server sind : samba davfs2

diese können einfach mit dem Befehl apt-get install samba davfs installiert werden.

Nach der Installation der Packete kümmern wir uns darum den WebDav Share einzubinden. Dazu öffnen wir mit einem Editor die Datei /etc/fstab

nano /etc/fstab hier tragen wir die benötigten Informationen zum WebDav ein.
https://SERVER/owncloud/remote.php/webdav/ /mnt/WEBDAV davfs rw,noauto 0 0

Damit der automatische Mount auch funktioniert benötigen wir die Zugangsdaten , bei Debian basierenden Systemen kann man das leider nicht in der Datei ~/.davfs2/secrets machen
sondern muss dies in der Datei /etc/davfs2/secrets erledigen.

Also wieder den Editor öffnen und die Daten eintragen nano /etc/davfs2/secrets

Einen Eintrag nach diesem Muster erstellen :

https://SERVER/owncloud/remote.php/webdav/ BENUTZER PASSWORT


Nun sind die Zugangdaten und der Mountpoint festgelegt jetzt erstellen wir noch den Mountpoint mit mkdir /mnt/WEBDAV ab jetzt sollte ein mount /mnt/WEBDAV funktionieren allerdings muss das Zertifikat noch bestätigt werden. Das habe ich für mich mit einen kleinen Skript erledigt.

Mounten des Webdav Shares (webdavmount.sh) :

#!/bin/bash

echo j | mount /mnt/WEBDAV


Unmounten des Webdav Shares (webdavunmount.sh) :

#!/bin/bash

/etc/init.d/samba stop
umount -f /mnt/WEBDAV
/etc/init.d/samba start

beim umount ist darauf zu achten das samba beendet wird da sonst der Ordner offene Bezüge hat

Ab jetzt kann man eine Samba Freigabe auf /mnt/WEBDAV machen und die Daten sind in Echtzeit in der Cloud verfügbar.

Quellen :

Webdav Ubuntuusers
Owncloud
Samba Freigabe

NAS Thecus N7700PRO / N5500 - Zeit läuft nicht synchron zum AD

Problem :
Die Zeit der NAS Systeme N7700PRO / N5500 von Thecus laufen mit der Zeit nicht mehr synchron zum Active Directory. Dies liegt vermutlich daran das Linux die Zeit vom Mainboard abgreift. In der heutigen Zeit können hier schonmal Abweichungen von bis zu 10 Sekunden in 24 Stunden auftreten. Irgendwann verliert das NAS dann das AD je nach GPO (normalerweise 5 Minuten Zeitunterschied). Leider haben alle Versuche dieses Verhalten über die GUI zu ändern nicht funktioniert.

Lösung :
Das Problem wurde hier so gelöst das ich ein Bash Skript erstellt habe das im Cron alle 24 Stunden aufgerufen wird. Da auf diesen Systemen von Thecus ntpdate vorhanden ist habe ich dieses auch verwendet. Natürlich wird zum Thecus ein SSH Zugang benötigt

Erstellt ein Skript mit diesem Inhalt :
#!/bin/bash
ntpdate -b dc.dom.local


dc.dom.local


dieses Skript kann man dann über cron z.B. täglich um 12 Uhr ausführen lassen.
Der Eintrag für crontab könnte z.B. so lauten.

0 12 * * * /raid0/data/scripts/NTP_SYNC.sh > /dev/null 2>&1

OwnCloud 4.5.1 auf Linux System .htaccess

Problem :

Bei Owncloud kann die Seite nicht angezeigt werden. Es erscheint immer wieder der Fehler mit Error Document is not access or available.

Lösung :

In der Configuration der virtuellen Seite oder des Server muss der Apache folgende konfiguration mitbekommen.

Options FollowSymLinks
AllowOverride All


in allen Foren die ich gefunden hatte stand nur das AllowOverride ALL aktivert sein muss jedoch kein Hinweis auf FollowSymLinks ;-)

ESXi - Open Suse 12.1 - Kein Netzwerk verfügbar

Problem :

Nach der Installation von Open Suse 12.1 auf einem ESXi 5.0 Server ist keine Verbindung zum Netzwerk möglich.

Lösung :

Anmelden am virtuellen Open Suse 12.1 und dann folgende Schritte ...

Ich gehe jetzt hier davon aus das nur eine Netzwerkkarte mit dem Namen eth0 vorhanden ist.
Als erstes habe ich den Adapter eth0 mit einer statischen IP versehen und gespeichert dannach wechseln zu /etc/sysconfig/network/ dort gibt es
die Datei /etc/sysconfig/network/ifcfg-eth0 diese hab ich umbenannt und erneut Yast geöffnet.
Dann tauchten 2 Netzwerkkarten auf die Fehlerhaft (meine Konfigurierte) habe ich gelöscht und die Konfiguration der neu erkannten auf DHCP gestellt.

Nach diesem Vorgang war das Netzwerk sofort da ;-)
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)