Linux

  • GoAccess: Inkrementelle Persistierung von Access Logs in Tokyo Cabinet On-Disk Datenbank

    Der ansehnliche HTML-Report von GoAccess mit Daten aus einem Monat, hier mit den Panels Overall Analyzed Requests, Requested Files und Unique visitors per day
    Der "ansehnliche" HTML-Report von GoAccess mit Daten aus einem Monat, hier mit den Panels "Overall Analyzed Requests", "Requested Files" und "Unique visitors per day"

    GoAccess bietet die Möglichkeit die flüchtigen Access Logs des Webservers dauerhaft in einem dateibasierten Datenbankmanagementsystem1, hier einer Tokyo Cabinet On-Disk B+ Tree Datenbank2 zu speichern. So lassen sich auch längere Zeitspannen mit GoAccess auswerten.

    Dieser Artikel beschreibt, wie du mit einem Cronjob die Logfiles wiederholend in einer solchen Datenbank persistierst3 4 und wie auch noch ein ansehnlicher HTML Report, der auf unser erzeugtes DBM zugreift, hinten rausfällt.

    In meinem Artikel über den GoAccess Web Log Analyzer habe ich den Abschnitt Installation von GoAccess um die Abhängigkeit zur Tokyo Cabinet Datenbank entsprechend ergänzt.

    Weiterlesen

  • GoAccess auf Uberspace

    Screenshot: GoAccess Web-Analytics auf der Konsole
    Screenshot: GoAccess Web-Log-Analytics auf der Konsole

    Nach einer längeren Suche nach einem Apache Log Viewer bzw. Web Log Analyzer, der auf der Konsole läuft und 404er/Not found aussagekräftig darstellen kann, bin ich auf GoAccess gestoßen.

    GoAccess ist eine schlanke, FLOSS (MIT Lizenz) Web Analytics-Software, die die Zugriffsdateien des Webservers, die sog. Access-Logs auswertet. Die Anwendung kann mit z.B. Apache-, Nginx-, Google Cloud Storage-, oder Amazon-S3-Logs umgehen, läuft mit einer sogar recht ansprechenden Nucurse-Oberfläche1 auf der Konsole und kann zudem noch Exporte nach JSON, CSV und HTML, was bedeutet, dass die GoAccess auch wie Matomo(ehemals Piwik) oder Google-Analytics auch über den Browser bedienbar ist.

    Hier beschreibe ich die Installation von GoAccess aus dem Quellcode auf Uberspace 6,
    bei U7 ist GoAccess per Default mit an Board(und alle so yeah)2.
    Zudem gebe dir neben der Konfiguration von GoAccess auch Einblick in die Nutzung auf der Shell, ein paar nette Tipps und nützliche Beispiele mit an die Hand.

    Der Großteil dieses Artikels, auch die Installation sollte so generisch sein, dass man ihn recht einfach auf andere Systeme übertragen kann.

    Weiterlesen

  • PHP_CodeSniffer und PHP Mess Detector mit Syntastic in Vim integrieren

    VIM mit Syntastic for PHP and Drupal development
    Abbildung 1, Vim mit Editor Tab und location list.

    Bei der Statischen Code Analyse (englisch linting), welche den den White-Box-Test-Verfahren zugeordnet ist, wird der Quellcode einer Software auf seine Beschaffenheit überprüft.

    Hierzu gehört z.B. neben dem eigentlichen Linting, in PHP mit z.B. php -l oder dem Tool phplint die Überprüfung von Coding-Standards oder das Erkennen von potenziellen Problemem bzw. suboptimalen Code wie z.B. ungenutzen Variablen, Properties oder Funktionen, zu hoher Komplexität (z.B. in Zusammenhang mit Wartbarkeit) und die Erkennung möglicher Fehler.

    In der Programmiersprache PHP werden hierfür die Werkzeuge PHP_CodeSniffer und PHP Mess Detector genutzt, welche sich bequem in IDE’s wie PHPStorm integrieren lassen.

    Aber wie schaut es mit einem scheinbar betagtem und angestaubtem UNIX-Editor wie dem VIM aus?

    Natürlich geht das auch im VIM! Wie zeigt dieser Post.

    Weiterlesen

  • Ich bin jetzt Ubernaut

    Nach fast einer Dekade mit eigenen Linux-Root-Servern, bin ich mit meinen Domains nach uberspace1 umgezogen und überlasse das Root-Sein jetzt anderen und zwar Jonas Pasche2 und seinem Team.

    Ich habe noch Zugriff auf eine Shell und jede Menge Software zu Verfügung, so dass ich auch nicht wirklich was vermisse (Bis vielleicht manchmal die Allmacht3… xD).

    Uberspace? Uberspace beschreibt sich auf seiner Seite selbst so:

    Uberspace.de ist eine Plattform von Technikern für Techniker und alle, die es werden wollen. Wir machen Hosting für Kommandozeilenliebhaber, Datenschützer, Kontrollebehalter, Unixfreunde, Selbermacher, Waszusagenhaber. Und wenn es mal klemmt, stehen dir erfahrene Linux-Admins zur Seite.

    Dem ist meiner Meinung nach eigentlich nur noch das flexible Preismodell4 hinzuzufügen, bei dem Du den Preis selbst wählen und anpassen kannst.

    Hier beschreibe ich, wie meine Drupal6-Site netzaffe.de ein neues Zuhause bezieht (lässt sich wahrscheinlich ohne viel Anpassung auch auf Drupal 7 anwenden) und Mail- und Webserver für die gleichnamige Domain aufgeschaltet werden.

    Weiterlesen

  • svn+ssh unter Linux: Username bei svn checkout angeben

    Neues Projekt, Repo und Credentials bekommen, aber es hapert schon beim initialen Checkout des Projekts auf der Kommandozeile, das Argument der Option --username wird ignoriert, stattdessen wird meine Login-Name, also florian verwendet (natürlich funktioniert das kommunizierte Passwort in der Kombination nicht :D).

    florian@x1:~$ svn co svn+ssh://example.com/opt/repos/project --username latzel
    
    florian@example.com's password:
    

    Weiterlesen

  • Autocompletition für Drush aktivieren

    Ja, Drush auch kann Autocompletition, zu deutsch “Autovervollständigung” und das anscheinenend nicht erst seit gestern, obwohl erst gestern entdeckt…

    Tab-Vervollständigung

    Ganz genau genommen, spricht man in diesem Fall der Autovervollständigung von einer Befehlszeilenergänzung bzw. Tab-Vervollständigung. Es besteht auch im Drush-Kontext die Möglichkeit Drush-Befehle, globale Drush-Optionen und den spezifischen Optionen zu einem Drush-Befehlen durch “tabben” (dem ein- oder zweimaligen Drücken der Tabulator Taste) in der Shell zu vervollständigen.

    Beispiele

    Tab-Vervollständigung von globalen Drush-Optionen:

    florian@box:/var/www/example.com/drupal$ drush @git --<tab><tab>
    
    --alias-path           --backend  
    --backup-location      --cache-class-<bin> 
    --cache-default-class  --choice 
    --command-specific     --complete-debug 
    --config               --confirm-rollback 
    [...]
    

    Tab-Vervollständigung von Drush-Befehlen, die mit sql- beginnen:

    florian@box:/var/www/example.com/drupal$ drush @git sql-<tab><tab>
    sql-cli   sql-conf   sql-connect    sql-create sql-drop
    sql-dump  sql-query  sql-sanitize   sql-sync
    

    Vervollständigung der Optionen, die mit dem Befehl sql-dump nutzbar sind:

    florian@box:/var/www/example.com/drupal$ drush @git sql-dump --<tab><tab>
    --create-db    --data-only   --gzip    --result-file   --structure-tables-key   
    --tables-list   --database   --db-url  --ordered-dump  --skip-tables-key        
    --tables-key 
    

    Weiterlesen

  • Geocaching und Garmin Communicator Plugin unter Ubuntu Linux

    Um Geocaches von geocaching.com via Schaltfläche Aufs GPS-Gerät übertragen mit Garmin-Geräten nutzen zu können, ist das Garmin Communicator-Plug-In nötig, welches von Garmin leider nur für Windows und Mac angeboten wird.

    Dank Andreas Diesner gibt es das Plugin auch für Linux!

    Weiterlesen

  • Howto: Setup Gitolite on Debian Wheezy

    Installation von gitolite (2.3-1) auf Debian Wheezy/unstable.

    Erzeugung eines SSH-Kepairs

    ssh-keygen  -t rsa
    
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    e0:90:34:92:d8:e1:08:fc:24:45:b5:17:5a:0d:c9:2b root@git
    The key's randomart image is:
    +--[ RSA 2048]----+
    |oo==+..++        |
    |o=o+ o+o..       |
    |. = oo...        |
    |   . E.o         |
    |      o S        |
    |                 |
    |                 |
    |                 |
    |                 |
    +-----------------+
    

    Installation von gitolite

    apt-get install gitolite
    

    Weiterlesen

  • Neue Option für drush sql-dump

    Die Drush-Erweiterung drush_sql_dump_hold erweitert das Drush-Kommando sql-dump, um eine weitere Option: hold.

    Diese Option wurde für die häufige, wenn nicht sogar periodische Ausführung von drush sql-dump geschrieben und sorgt dafür, dass im via Option result-file (Mandatory) spezifizierten Verzeichnis, nur die durch hold Option angegebene Anzahl von SQL-Dumps aufbewahrt wird.

    Weiterlesen

  • Datensicherung: Verschlüsselte Partition mit verschlüsseltem Home-Verzeichnis mounten

    Nach dem Wochenende habe ich bemerkt, daß die Ubuntu-Updates, die ich am Freitag davor durchgeführt habe wohl etwas “verschlimmbessert” haben.

    So begrüßt mich am darauffolgenden Montag, direkt eine Kernel-Panic.

    Alles im Grunde nichts gravierendes, aber…

    1. Root-Partition ist verschlüsselt
    2. Home-Verzeichnis ebenfalls verschlüsselt

    Nunja…

    Nach einer Woche HOND am Laptop und ziemlich zeitintensiver Suche, hier der zusammengetragene, komplette Lösungsweg.

    Weiterlesen

Abonieren