Benutzer-Werkzeuge

Webseiten-Werkzeuge


edv:anleitungen

Dies ist eine alte Version des Dokuments!


Anleitungen

  • KB2984972
  • Ubuntu Server sicher einrichten
  • Ubuntu Server 16.04 sicher einrichten
  • Synergy Linux Client keine Umlaute im Terminal
    setxkbmap de
    • Danach nochmals das Synergy Fenster aufrufen und darn Button Anwenden klicken
  • VBoxNetFlt Fehlermeldung Failed to allocate packet buffer, dropping the packet
    • Dann folgende Befehl ausführen, danach wars weg:
      sudo sysctl -w vm.min_free_kbytes=1048576
      sysctl vm.min_free_kbytes
  • Alle IP-Adressen im lokalen Netzwerk anzeigen lassen.
    • DOS-Box:
      (for /l %i in (1,1,255) DO start /min ping 192.168.0.%i -n 1) && timeout 10 && arp -a
    • Linux:
      sudo netdiscover -p -c 10 -r 192.168.8.0/24 -i bond0
  • eth0 anstatt den kryptischen Netzwerk Device Namen, siehe hier mit Änderung von Grub und biosdevname Parameter !!!
    GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
    sudo update-grub
  • Apache 2.4 kann Seite nicht mehr aufrufen, mit folgender Fehlermeldung
    • client denied by server configuration
    • Konfiguration ist noch für apache2.2 uns jetzt läuft 2.4, siehe Upgrade 2.4 Access Control
  • Apache2 ssl aktivieren
    • SSL Modul:
      sudo a2enmod ssl
    • Proxy Modul:
      sudo a2enmod proxy proxy_http
    • Rewite Modul:
      sudo a2enmod rewrite
  • Apache 2.4 phpinfo() zeigt nur leere Seite an.
    • PHP muss aktiviert werden:
      sudo a2enmod php5
    • Benutzerspezifisch ~ kein PHP vorhanden, dann kommentar eintragen in der Zeile
      #            php_admin_value engine Off

      in der Datei /etc/apache2/mods-enabled/php5.conf

  • Windows-8 in Virtualbox installieren. Beim booten Error ** 0x000000C4<code>vboxmanage setextradata Windows-8 VBoxInternal/CPUM/CMPXCHG16B 1</code> * Windows 8.1 Professional Generischer Key, nur für Installation<code>XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB</code> * Ubuntu hängt beim rutnerfahren (backup-Server) beim **speech-dispatcher, dann Dienst ausschalten:
    sudo update-rc.d -f speech-dispatcher remove
  • Ein Verzeichnis komplett mit sed bearbeiten, Ausgabe mit gleichem Dateinamen
    LISTE=`find ../_Auftragsverwaltung -name "*.oft" -printf "%f\n"`; for i in $LISTE; do sed 's/@koeag.de/@koenigsteiner.com/g' ../_Auftragsverwaltung/$i > $i;done
  • Linux Shell Text commands z.b. zählen wie oft doppelte Dateien mit gleiche Belegnummer vorkommen
    ls B-* | cut -c 3-7 | sort | uniq -c | grep -i " 2 " | sort | more
  • Befehle auf der Linux Shell wiederholen
    watch "sudo cat * | grep NT_STATUS | wc"
  • ntpd ohne ipv6 laufen lassen und auf ein Netzerk Device begrenzen
    • Editieren von /etc/default/ntp, folgende Zeile muss eingetragen sein
      NTPD_OPTS='-4 -g -I eth0'
    • Prüfen mit folgendem Befehl, sollte keine ipv6 Adressen mehr anzeigen!!
      netstat -anp | grep :123
  • Kernel Update der Virtualisierungs-Server, Virtualbox Setup der virtualisierten Rechner.
  • Komprimieren beim kopieren von Dateien unter Windows-7 ausschalten
  • Sichern und Zurückspielen mit tar
  • file:/ / ** im HTML-Code für den **firefox erlauben
  • Grub2 grafisch verwalten.
  • Ubuntu Server 10.04 LTS Netzwerk
  • Netzwerkkarten bündeln in englsich für Version 12.10 = besser.
  • Netzwerk Device manuell /dev/eth?? zuordnen in Datei /etc/udev/rules/70-persistent-net.rules
  • udev Dient neu starten
    sudo udevadm trigger
    sudo reload udev

    und system neu starten. Weiter Info hier

  • Netzwerk Monitoring mit iptraf und nload.
  • Ubuntu grafischer Startbildschirm ausschalten
    • 60 Sekunden auf das Netzwerk warten, liegt irgendwie an Plymouth, manuell im script /etc/init/failsafe.conf die Wartezeiten abändern.
  • grub2 timeout Probleme beim Starten, setzen des GRUB_RECORDFAIL_TIMEOUT Paramteter's in /etc/default/grub.
  • Proxy - Server ( squid ) nach folgender Anleitung installieren
  • Linux Rechner zu einer bestimmten Uhrzeit neu starten:
    sudo /sbin/shutdown -r 21:00

    läuft allerdings nur auf der GUI in einem Terminal, das offen bleiben muß.

  • Orndergrößen unter Linux anzeigen lassen
    sudo du /. -h -x --max-depth=1
  • Linux - Server Benchmark Test. Hier die Orginaldoku. Der Universale Allgemeine Test wird folgendermasen gestartet:
    phoronix-test-suite benchmark universe

    , dauert einige Zeit und dass laden aller Einzelprogramme muss mit Auswahl 3 erstmal gestartet werden.

  • bind9 Fehler : (unexpected RCODE REFUSED
    forwarders { 8.8.8.8; 8.8.4.4; };

    in named.conf.options eintragen.

  • VMDK Datei verkleinern, mit sdelete -z C: (Windows) oder zerofreee (Linux - ohne vboxmanage !!) siehe Oracle Anleitung. Nicht vergessen
    VBoxManage clonehd alte.vmdk neue.vmdk
  • VMDK verkleinern, VMDK abhängen von VirtualBox
    vboxmanage storageattach VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium none
    vboxmanage showvminfo VM | grep SATA
    $ vboxmanage clonehd --format vdi ~/VMs/VM-disk1.vmdk /tmp/VM-disk1.vdi
    $ vboxmanage closemedium disk ~/VMs/VM-disk1.vmdk --delete
    $ vboxmanage modifyhd /tmp/VM-disk1.vdi --compact
    $ vboxmanage modifyhd /tmp/VM-disk1.vdi --resize 81920  =  80 GB!!!
    $ vboxmanage clonehd --format vmdk /tmp/VM-disk1.vdi ~/VMs/VM-disk1.vmdk
    $ vboxmanage closemedium disk /tmp/VM-disk1.vdi --delete
    $ vboxmanage storageattach VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium 4/VMs/VM-disk1.vmdk

Chrome und Schriften

Falls im Chrome Browser die Schriften falsch angezeigt werden folgeneds im Chrome eingeben:

chrome://flags

und anschliesend den Schalter

DirectWrite deaktivieren

ein und ausschalten. Danach funtionierte es wieder bei Kevin.

PHP & LDAP

Damit von PHP aus die ldap_url

"ldaps://82.197.134.171"

muss in der Datei /etc/ldap/ldap.conf folgendes eingefügt werden:

TLS_REQCERT allow

NetBeans und PHP debuggen mit XDEBUG

Nur lauffähig bekommen mit folgender Konfiguration in der Datei /etc/php5/apache2/conf.d/xdebug.ini

zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=192.168.8.46
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=xdebug

Geschwindigkeits Tests

  • Netzwerkkarten
    • Auf dem einen Server
      iperf -s
    • Auf dem anderen Server
      iperf -c ip-Adresse

      Da sollte bei einer gigabit Netzerkkarte etwa 950 Mbits/sec (bits) raus kommen, was etwa 100MBit/sec entspricht.

  • Festplatten / Netzwerk Laufwerke
    • Mit hdparm
      sudo hdparm -tT --direct /dev/sdg
    • Bei lokalen Platten, zuerst den Caceh löschen als root
      sudo su -
      echo 3 > /proc/sys/vm/drop_caches
      exit
    • Leere datei erstellen mit
      dd bs=1M count=1000 if=/dev/zero of =/mnt/....
    • Hierzu gibt es folgende Tabelle
Plattentyp Dateisystem MBits/sec
SSD ext4 660
SATA-3 ext4 236
SSD drbd 178
SATA-2 ext4 124
SATA-2 btrfs 95
SATA-3 drbd 34.5
SATA-2 Gluster-fs 28.7

PHP / Pear / Spreadsheet_Excel_Writer

  • Folgende Pakete sollten installiert sein, neben pear:
    • php5-mysql
    • php5-adodb
  • Diese Erweiterung wird gebraucht um bei den Statistik Masken im Intanet den Excel Button bedienen zu können. Zum installieren folgende Befehle ausführen:
    sudo apt-get install php-pear
    sudo pear install OLE-1.0.0RC2
    sudo pear install Spreadsheet_excel_Writer-0.9.2

    eine Konfiguration ist nicht nötig. Allerdings hat diese Version einen gravierenden Fehler egal in welchem System (Linux oder Windows). Durch Änderung der Zeile 623 in der Datei /usr/share/php/OLE/PPS/Root.php (Pfad von Ubuntu) von:

    fwrite($FILE, pack("V", 1));

    nach

    fwrite($FILE, pack("V", $num_sb_blocks));

    kann auch Excel 2010 die übergenen Dateien gleich öffnen.

  • Eine andere Lösung schein zu sein, wenn man statt RC2 den RC1 installiert
    sudo pear install OLE-1.0.0RC1

Mysql flush-hosts

  • geblockte Hosts freigeben mit
    mysqladmin flush-hosts
  • bzw. seit neustem so:
    mysqladmin -u root -p flush-hosts
  • oder die Werte höher setzen (leider nur temporär, bis reboot ?)
    • setzen
      SET GLOBAL max_connect_errors=10000;
      set global max_connections = 200;
    • abfagen
      show variables like "max_connections";
      show variables like "max_connect_errors";

Mysql Windows - Linux Probleme

Unter Windows werden die Tabellenname, Spaltenname und View's nicht in Groß und Klein Schreibung unterschieden. Sobald Datenbanken von Windows nach Linux übernommen werden, kann es somit zu nicht mehr funktionsfähigen Anwendungen kommen, da unter Linux immer Case Sensitiv gearbeitet wird. Unter Linux ist somit in der Datei /etc/mysql/mysqld.conf/mysqld.cnf folgender Parameter einzutragen:

lower_case_table_names = 1

damit sich Linux geanu so wie Windows verhält, also keine Unterscheidung zwischen Groß.- und Kleinschreibung.

Mysql neue User Anlegen

  • Schön erklärt ist es hier
    • Verbinden mit der Datenbank:
      mysql -u root -p
    • für 18.04
      CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
    • für älter
      • Einen neuen User anlegen:
        create user 'hs';
      • Bzw. richtig mit PC Angabe (auf die ' achten):
        create user 'hs'@'%';
      • Das Passwort für den User setzen:
        SET PASSWORD for 'hs'@'%' = PASSWORD('???????');

        Für User, die ohne Passwort angelegt werden müssen wie z.b.: 'koeag'@'localhost' oder winkiss_'standard'@'%', darf dieser Befehl nicht ausgeführt werden. Ein Anlegen über die MySQL Workbench ohne Passwort ist nicht das gleiche, es wird dann immer noch ein Passworteingabe verlangt. Deshalb müssen diese zwei User über den mysql Aufruf im Terminalfenster angelegt werden!!

    • Zugriff auf alles geben ('koeag'@'localhost'):
      GRANT ALL ON *.* TO 'hs' IDENTIFIED by '???????' WITH GRANT OPTION;

      Zugriff für winkiss_'standard'@'%' muss über die GUI erfolgen im Reiter Schema Privileges

Samba testparm rlimit_max

Bei testen der Samba config erscheint die Fehlermeldung rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384). Dann in der Datei /etc/security/limits.conf folgende

#<domain>        <type>  <item>  <value>
#
*       -       nofile  16384
#

machen. Siehe auch zugehörige Anleitung

PDF aus SNP Dateien erstellen

Die Umwandlung der snp Dateien in PDF erfolgt mit dem Windows Programm snp2pdf. Sieht jedoch inzwischen so aus als ob es dafür keinen Support mehr gibt. Erzeugt werden die PDF Dateien für Netkis im Script koeag-upload.sh, nicht im netkis-upload.sh !!. Sollte das Script keine PDF Dateien erzeugen muss als aller erstes auf einem neu eingesetzten System EINMAL das snp2pdf.exe auf der grafischen Oberfläche unter wine ausgeführt werden. Warum, keine Ahnung, aber danach funktioniert es auf der Shell mit xvfb-run.

— Hartmut Schindler 2013/06/06 18:08

Ab sofort wird das Scipt koeag-upload.sh nicht mehr über cron gestart, sondern auf der GUI beim starten des Rechner (server1.local.koeag) folgendes Startprogramm eingetgragen:

gnome-terminal -t koeag-upload --geometry=140x10 -e "/usr/local/bin/at.sh 22:00 /usr/local/bin/koeag-upload.sh"

Apache Logfiles auswerten

  • IP-Adressen mit Häufigkeit der Zugriffe auf Intranet ohne Benutzeranmeldung im April (mit awk)
    gunzip -c koeag-access-log.*.gz | grep intranet | grep \ \-\ \- | grep Apr | awk '{print $1}' | sort | uniq -c | sort -nr | more
  • Eine bestimme IP-Adresse im Monat April (mit sed)
    gunzip -c koeag-access-log.*.gz | grep intranet | grep 123.123.123.123 | sed 's/ .*$//' | sort | uniq -c | sort -nr | more

Überflüssige Kernel Versionen entfernen

Zum entfernen der überflüssigen Linux Kernel Versionen folgende Schritte durchführen:

  1. feststellen welche Versionen vorhanden sind:
    sudo dpkg -l | grep linux | grep headers
  2. Alte Kernel löschen:
    sudo apt-get remove --purge linux-headers-3.2.0-25-generic linux-image-3.2.0-25-generic

Grub wird automatisch gestartet und somit auch die alten Kernel aus dem Boot Menü entfernt.

MySQL sichern, restore, sql

  • Restore mit dem User der Zugriff auf die DB hat
     mysql -u xyz -f DB_Name -p < backup.sql
  • Backup
    mysqldump -u xyz -c --add-drop-table -p DB_Name > backup.sql
  • Bearbeiten aus CLI
    echo "select count(*) from table" | mysql --database DB_Name -u xyz -p

MySQL Passwort für User ändern

  • Als root anmelden
    sudo mysql -u root -p
  • Datenbank auswählen
    use mysql;
  • Passwort ändern
    update user set password=PASSWORD('dein-neues-passwort') where User='dein-user';
  • Passwort User root ändern
    update user set password=PASSWORD('dein-neues-passwort') where User='root';
  • Änderung abschliesen
    flush privileges;
    quit

MySQL root Passwort vergessen

  • Über die Konfigurationsdatei (der einzige der unter Ubuntu 14.04.1 funktioniert hat)
    • In der Datei /etc/mysql/my.cnf folgendes nach [mysqld]-Section einfügen:
      [mysqld]
      skip-grant-tables
    • MySql neu starten
      sudo /etc/init.d/mysql restart
    • Mysql Client als root ohne Passwort starten
      mysql -u root
    • Passwort setzen wie man es braucht
      UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
      quit
    • Eintrag skip-grant-tables wieder entfernen und mysql neu starten.

MySQL Datenpfad verschieben

Nach der Installation von MySQL werden die Datenbanken in /var/lib/mysql/ abgespeichert. Um den Datenpfad neu zu vergeben folgende Aktionen durchführen oder hier UbuntuWiki nochmals direkt nachlesen was zu tun ist:

  1. MySQL stoppen:
    sudo stop mysql
  2. Vorhandene Dateien im Datenpfad auf den neuen kopieren (hier /dbdata/mysql/)
    sudo cp -r -p /var/lib/mysql /dbdata/mysql
    • alternativ kann auch MC als root verwendet werden.
  3. Orginalverzeichnis danach bitte erstmal umkopieren.
  4. MySQL config (/etc/mysql/my.cfg editieren
    #datadir                = /var/lib/mysql
    datadir         = /dbdata/mysql
  5. Unter Ubuntu muss noch AppArmor angepasst werden.
  6. Editieren der Datei /etc/apparmor.d/usr.sbin.mysqld
  7. VORHER:
      /usr/lib/mysql/plugin/ r,
      /usr/lib/mysql/plugin/*.so* mr,
      /usr/sbin/mysqld mr,
      /usr/share/mysql/** r,
      /var/log/mysql.log rw,
      /var/log/mysql.err rw,
      /var/lib/mysql/ r,
      /var/lib/mysql/** rwk,
  8. NACHHER:
      /usr/lib/mysql/plugin/ r,
      /usr/lib/mysql/plugin/*.so* mr,
      /usr/sbin/mysqld mr,
      /usr/share/mysql/** r,
      /var/log/mysql.log rw,
      /var/log/mysql.err rw,
    #  /var/lib/mysql/ r,
    #  /var/lib/mysql/** rwk,
      /dbdata/mysql/ r,
      /dbdata/mysql/** rwk,
  9. ACHUTNG. In den ersten Installationen (KA,F) wurde auch das Verzeichnis plugin das jedoch unter /usr/lib/mysql liegt in AppArmor auf dbdata verschoben. Das ist Unsinn.
  10. Jetzt die MySQL Datenbank wieder starten.
    sudo start mysql

HTTP / FTP User für www.koeag.de

  • freie User-id im 2000-2999 Bereich mit cat /etc/passwd herausfinden.
  • User anlegen mit
    sudo useradd -u xxxx -g 1001 -m -d /home/httpd/koeag/httpdocs/?????? -s /bin/false ??????
  • in /etc/apache2/sites-available entsprechenden domain z.b. koeag - datei einen neuen Directory Eintrag anlegen. z.B:
            <Directory "/home/httpd/koeag/httpdocs/stepstone_30">
                    Options +Indexes
                    AuthType Basic
                    AuthName "Login Serverabgleich"
                    AuthUserFile  /home/httpd/koeag/pd/htusers
                    require user stepstone_30
            </Directory>
  • und für die ganz „harten“ mit Beschränkung auf IP-Adressen
            <Directory "/home/httpd/koeag/httpdocs/careerbuilder_rahmenvertrag">
                    Options +Indexes
                    order deny,allow
                    deny from all
                    allow from 208.82.4.0/22 208.88.80.0/22 208.49.187.224/27 62.172.130.136 80.69.132.46
            </Directory>
  • Für den http Zugriff muss noch das Passwort in htusers (siehe AuthUserFile Parameter) folgendwermaßen eingetragen werden:
    sudo htpasswd /home/httpd/koeag/pd/htusers USERNAME
  • Falls htpasswd nicht gefunden wurde, dann die apache2 utils installieren
    sudo apt-get install apache2-utils

Danach funktioniert auch der ftp Zugriff warum auch immer ???

Für einen funktionierenden FTP Zugang muss dem vorhin angelegte User auch noch dass Passwort auf Systemebene vergeben werden:

sudo passwd ?????
XXXXX
XXXXX

In /etc/passwd/ den Pfad um /./ erweitern und aus /bin/false die /bin/bash machen.

Nur FTP User ohne http

Für den user transfer ist es nötig, nur einen ftp User, ohne http Zugriff und home Directory in http zur Verfügung zu haben. Das funktioniert mit der o.g. Anleitung nicht wirklich. Hierzu ist direkt im ftp program. (pure-ftp) ein User mit Passwort anzulegen:

sudo pure-pw useradd transfer -u transfer -d /home/virftp/transfer

Das neuen home Verzeichnis muss manuell angelegt werden, mit den Rechten des angegebenen Systemusers (transfer).

Danach die Änderungen der pure-ftp datenbank bekannt machen mit:

sudo pure-pw mkdb

Info über einen einzelnen User (max files, max size, erlaubte und verbotene IP…) mit:

sudo pure-pw show USER

Ein Passwort eine vorhandenen Users ändern mit:

sudo pure-pw passwd USER

Informationen über die letzen Zugriff, Logindaten und IP - Adressen können mit

sudo pure-ftpwho

angezeigt werden. Hier werden beim Server www.koeag.de auch alle User angezeigt, die auch HTTP Zugang haben.

PureFTP installieren

Hier gibts noch ein paar Links falls mal wieder ein pureftp installiert werden muss:

ProFTPD installieren

Auf dem Ubuntu wiki gibt es eine Anleitung für proftp, weshalb diese Software dann auf dem mfa eingesetzt wurde, für den ftp Zugriff auf das Intarnet

Bei Ubuntu 12.04 wird Version 1.3.4a von ProFTPD mitgeliefert. Diese enthält einen bekannten Bug, der bei Verwendung von „DirFakeUser off“ oder „DirFakeGroup off“ in der proftpd.conf die Verbindung trennt, sobald das Kommando „MLSD“ oder „MLST“ aufgerufen wird (was z.B. FileZilla macht). Als Workaround sollte man die beiden „Fake“-Anweisungen auskommentieren.

edv/anleitungen.1685429481.txt.gz · Zuletzt geändert: von h.schindler