Bash

Leerzeichen aus Filenames entfernen etc.

Ersetze alle Leerzeichen in Filenames durch _

for F in * ;do  mv "$F" $(echo "$F"| tr ' ' '_' );done


Filenames in Kleinbuchstaben wandeln (Downcase)

for F in *;do mv $F $(echo ${F,,}) ;done

Apache mit php-fpm

Es gibt verschiedene Anleitungen, wie man das auf einem ubuntu 16.04 LTS zum Laufen bekommt.

Hier ist noch eine.

apt install apache2 php-fpm
a2enconf php7.0-fpm
a2enmod proxy proxy_fcgi

Hier braucht man kein fastcgi-Modul

Mittlerweile gibt es aktuellere Software. Die Versionsnummern im Beipsiel muss man eben anpassen.

Ldap clone

Verschiedentlich wird bei der Frage, wie man einen LDAP-Server klont, Unterschiedliches empfohlen.
Erfahrungsgemäß klappt es so:

1. Aus dem Master mit slapcat alle Inhalte in ein ldif-File schreiben.
slapcat > ldapmaster.ldif

2. Der Klone muss gestoppt werden:
service slapd stop (…oder so)

3. Jetzt wird der Inhalt von /var/lib/ldap (oder wo auch immer die Datenbank gespeichert ist) komplett gelöscht. Wie das geht, muss hier nicht beschrieben werden.
Am besten merkt man sich, welcher User die Files besitzt (möglicherweise openldap)

4. Anschließend kann man mit slapadd das zuvor erzeugte ldif-File importieren. Den Server haben wir ja angehalten.
slapadd -l /wo/liegt/mein/ldapmaster.ldif

5. Die Besitzrechte an den Files in /var/lib/ldap (oder wo auch immer die Datenbank gespeichert ist) müssen wieder auf den vorherigen Zustand restauriert werden.
chown openldap:openldap /var/lib/ldap/*

6. Jetzt starten wir den Ldap-Clone und können mit ihm arbeiten wie mit dem Original.

Kein Platz mehr auf der Platte?

Immer mal meckert der Linux-VPS, dass kein Platz mehr auf der Platte ist. df -h zeigt aber, dass durchaus noch genug davon vorhanden ist.
Unter Umständen liest man in einem Logfile so eine Fehlermeldung:

/var/lib/ureadahead/debugfs/tracing is not accessible: No such file or directory

Hier hilft ein

mountall

Firefox lenkt ständig auf https um

Man gibt den URL einer Website ein und FIrefox will auf die entsprechende https-Seite.
Andere Browser verhalten sich wunschgemäß und zeigen die http-Seite. Was machen wir da?
Offenbar existierte einmal eine Weiterleitung auf diese https-Seite. Firefox merkt sich dies in einer Datei im Profil.
Wir beenden Firefox und löschen die Datei SiteSecurityServiceState.txt aus dem Profil
Vorsichtige können auch die Zeile löschen, die den fraglichen URL enthält. Dazu muss Firefox in jedem Fall beendet sein, da die Datei imer wieder neu generiert wird.

 

VPS günstig

Wer seine Daten nicht gerne bei Anbietern ablegt, die es mit deren Schutz möglicherweise nicht so genau nehmen, ist mit einem eigenen Server gut beraten.

Ein „Virtual Private Server“ (VPS) ist für ein paar Euro bei verschiedenen Hostern zu haben. Allerdings ist es mit deren Ausstattung oft nicht weit her. Mal bekommt man viel Plattenplatz, dafür aber wenig Rechenpower, mal protzt der VPS mit CPU-Leistung, hat dafür aber wenig Platz.

Zu empfehlen ist m.E. Contabo.de

Da gibt es vituelle private Server mit ordentlicher Performance schon für weniger als 10€

Um einen Webserver mit einem CMS zu betreiben, nebenher noch Mail, eventuell ein Cloudlösung, benötigt man nicht mehr.

Telefonischer Support wird angeboten, und zwar nicht über eine teure Mehrwert-Nummer, sondern im ganz normalen Festnetz.

Eine feste IP ist auch dabei, außerdem sogar 65.535 v6 IP-Adressen. Ob man die gegenwärtig schon braucht, ist eine andere Sache, aber man kann toll damit angeben.

Fazit: Empfehlung!

Um dieses Angebot hier zu finanzieren, klicke für’s Bestellen bitte auf den Link

Contabo.de

Apache vhost mit mod-rewrite

Wer ca. 2000 Subdomains anbieten will, die allesamt gleich konfiguriert werden, kann 2000 vhost-Abschnitte hintereinander schreiben.
Darin finden sich allerdings viele identische Direktiven.

Alternativ schreiben wir eine einzige vhost-Deklaration. Sie enthält allerdings für jeden Vhost eine Rewrite-Direktive.
Für jede Domain wird die Webroot neu eingestellt. So ungefähr kann das aussehen (<> ist zu ergänzen):


VirtualHost *:80
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerName domain.example.com

RewriteEngine On
# Hier entfernen wir eventuelle www-Präfixe
RewriteCond %{HTTP_HOST} ^www.(.*)
RewriteRule ^/(.*) http://%1/$1

RewriteRule ^.....$ /$1 [QSA,L,PT] # Weitere Rewrites...

# Hostnamespezifische Umleitungen auf lokale Verzeichnisse
# FÜr jeden VHOST zwei Zeilen:
RewriteCond %{HTTP_HOST} ^vhost1.domain.example.com$
RewriteRule ^/(.*)$ /var/www/vhost1/$1 [QSA,L,PT]

RewriteCond %{HTTP_HOST} ^vhost2.domain.example.com$
RewriteRule ^/(.*)$ /var/www/vhost2/$1 [QSA,L,PT]

# ... oder aus einer eigenen Datei:
Include /etc/apache2/vhost.rewrites

ServerSignature Off
XSendFile on
/VirtualHost *:80

Wenn dieser vhost der erste ist, der deklariert wird, können wir uns die ServerName-Direktive sparen. Alle Requests, für die keine andere vhost-Deklaration existiert, werden dann hier abgearbeitet.

FreePascal + SciTe

SciTe ist ein wunderbarer Editor, um Pascal-Quelltexte zu bearbeiten.
Der Compiler ist direkt aus dem Editor heraus aufzurufen und das fertige Programm kann ebenfalls in einer Konsole gestartet werden.
Dass der Editor und auch FreePascal für mehrere Betriebssysteme zur Verfügung steht, macht die Kombination noch attraktiver.

Dummerweise funktionieren die erwähnten Features nicht unbedingt unmittelbar.

Je nach verwendetem Terminalprogramm (Linux) muss „pascal.properties“ angepasst werden. Diese Konfigurationsdatei befindet sich i.d.R. unter /etc/scite, sie kann auch im Home-Verzeichnis liegen. Dazu liest man am besten man scite.

Das Kompilieren funktioniert i.d.R. klaglos, solange sich fpc im Pfad befindet und direkt aufrufbar ist.

Um das übersetzte Programm im Terminal ausführen zu können, muss eine Zeile editiert werden, die mit command.go.*.pas beginnt und direkt unter if PLAT_GTK steht:
Sie sollte so aussehen:

command.go.*.pas = konsole -e „$(FileDir)/$(FileName)“

Wer statt konsole lieber ein anderes Terminal verwendet, ändert entsprechend.

Mate-User schreiben

command.go.*.pas=mate-terminal -e „$(FileDir)/$(FileName)“

Kompilieren geht nun mit StrG+F7
Ausführen im Terminal: F5

schnell mal eben Datenbank sichern…

So legen wir im aktuellen Verzeichnis einen komprimierten Dump einer MySQL-Datenbank an:

#!/bin/sh

DBNAME=dbname
DBHOST=localhost

mysqldump -h $DBHOST --databases $DBNAME | gzip -c > $DBNAME-$(date +%Y-%m-%d-%H:%M).sql.gz

Nvidia im Notebook abschalten

Verfügt ein Notebook über eine eingebaute Grafikkarte, kann es schnell recht heiß werden. Wie deaktiviert man in einem Celsius 720 mit Linux die Nvidiakarte?

Hier hat sich jemand dazu Gedanken gemacht.

Wenn der Pfad zu /sys/kernel/debug/vgaswitcheroo/switch nicht zu existieren scheint, ist möglicherweise noch beim Bootvorgang ein Modul mit dem Parameter  modeset=0 geladen worden.

Das kann geschehen, wenn man vorher beispielsweise mit dem originalen Nvida-Treiber experimentiert hat. Der nvidia-installer hinterlässt unter Umständen unter /etc/modprobe.d/ eine Konfiguration, die eine entpsrechende Zeile enthält. Die muss also dekativiert werden.

Mit einer Zeile in /etc/rc.local kann man nun wunderbar die eingebaute Grafikkarte deaktivieren, worauf die Grafik durch die CPU dargestellt wird.

Die Ausgabe von

cat /sys/kernel/debug/vgaswitcheroo/switch

ist dann

0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

Man sieht, dass die integrierte Grafik aktiv ist, die Grafikkarte aber ausgeschaltet ist.

Dummerweise entsteht dadurch ein Problem beim Herunterfahren.

Der Rechner hängt und lässt sich nur noch gewsaltsam ausschalten.

Wir müssen also vor dem halt oder reboot die Grafik wieder einschalten.

Wie das geht, verrät die Lieblingssuchmaschine.