Kanboard – Größe der Installation reduzieren

Kanboard ist eine nette Software um kleine Projekte oder im Ernstfall sich selbst per Kanban (angeblich spricht der Japaner das als „Kamban“ aus) zu managen. Ich nutze das für kleinere Projekte in- und abseits der Arbeit mit mehr oder weniger Erfolg. Ich habe eine Instanz auf Uberspace installiert weil das Hosting da schmerzfrei über die Bühne geht und ich keinen Server betreuen muß. Einzig der Webspace ist mit 10GB schmal bemessen. Installiert ist Kanboard über git clone – wenn ich mal Lust auf Features habe pull ich einfach den Masterbranch. Bei dieser Taktik wird leider auch jeder einzelne Commit auf die Platte gezogen.

Abhilfe schafft das abschneiden der History:

git clone --depth=1 --branch master https://github.com/fguillot/kanboard

Bei composer das Flag –no-dev nicht vergessen

composer install --no-dev

und die Installation ist um ~ 70% geschrumpft

40M kanboard.de
141M kanboard.de.xxl

 

WordPress, Uberspace, Https

Ich habe heute eine Stunde investiert, un diesen Blog auf SSL umzustellen. Dank Let’s encrypt kriegt man diesen Spaß nun auch kostenlos.

Im ersten Augenblick mag es sinnlos erscheinen einen öffentlichen Blog über Https auszuliefern. Diese Mentalität kommt aus der Zeit in der man jahrlich irgendeiner obskuren Zertifikatsbude eine bestimmte Summe Geld (wenig bei einer Domain bis verdammt viel für ein Wildcard Zertifikat) in den Rachen schmeißen mußte um an ein Zertifikat zu kommen, damit der normale User ein grünes Schloss in seinem Browser sieht. Dank Let’s encrypt können wir mit diesem Denkansatz brechen und alles über SSL liefern. Dank Https wird es schwieriger Malware in die Verbindung zu schleusen und das Lauschen gestaltet sich schwieriger. Manche Stimmen meinen, daß wir diversen Geheimdiensten das Leben schwerer machen, wenn die Masse an verschlüsselten Übertragungen ansteigt.  Angeblich bekommen Https Seiten in der Google Suche auch einen Bonus.

Hier schreibe ich grob nieder was ich machen mußte. Wenn ich was vergessen habe werde ich den Post anpassen. Über Tipps und Verbesserungsvorschläge freue ich mich natürlich

Der Blog läuft seit geraumer Zeit stressfrei auf uberspace.de wobei stressfrei für mich das wohl höchste Lob an einen Hoster ist, welches ich vergeben kann. Das Zertifikat wird auf dem Terminal erzeugt und aktiviert. Eine nette Anleitung gibt es im Blog. Der Apache wird per Rewrite Rule gezwugen Http Requests immer auf Https umzubiegen.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Im Anschluss müssen noch ein Paar WordPress spezifische Sachen angepasst werden. Ich habe das in der Datenbank getan (vorher unbedingt ein Backup machen!).
Die Queries fand ich bei „Webongo“. Vor der Ausführung das sollte das ihreseite.de durch was sinnvolles ersetzt werden:

s/ihreseite.de/meineseite.de/g
#blog urls
UPDATE wp_options SET option_value = replace(option_value, 'http://www.ihreseite.de', 'https://www.ihreseite.de') WHERE option_name = 'home' OR option_name = 'siteurl';
#permalinks
UPDATE wp_posts SET guid = replace(guid, 'http://www.ihreseite.de','https://www.ihreseite.de');
#links, img src's
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.ihreseite.de', 'https://www.ihreseite.de');
#Meta values
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.ihreseite.de','https://www.ihreseite.de');

In manchen Artikeln habe ich Bilder von anderen Domains referenziert und das auch noch über http!
Solch Unfug läßt sich leicht mit LIKE finden:

select id, post_title, post_content from wp_posts where post_content like "<img%src=\"http://%" AND post_status="publish";

Einfach die ID an die Post.php Url dranhängen https://www.radikalblogger.de/wp-admin/post.php?post=[HIER REIN MIT DER ID]&action=edit und das Bild anpassen.

Node.js Notizen & Mongodb – Konfiguration + Tools

Im Moment schaue ich mir Node.js und Mongodb. Hier sammle ich für mich nützliche Informationen bzgl. der Einrichtung und Konfiguration.
Der Webspace kommt von Uberspace, entsprechend sind ein Paar Links in das ordentlich geschriebene Wiki von denen drin.

1. Einrichtung Uberspace

Anweisungen im Wiki folgen

Subdomain

Node Applikation auf Port 80 weiterleiten:

[schmimi@ara node.radikalblogger.de]$ cat .htaccess
RewriteEngine On
RewriteRule (.*) http://localhost:61667/$1 [P]

2. NPM konfigurieren

cat >  ~/.npmrc >> __EOF__
prefix = $HOME
umask = 077
__EOF__

 

3. Watch for Filechanges

Sehr praktisch zum entwickeln ist Supervisor

npm install supervisor -g
#Nun das Script mit dem Befehl supervisor starten.
[schmimi@ara ~]$ supervisor node/example.js

4. Node.js Tutorials

5. Mongo DB konfigurieren

Anleitung im Uberspace Wiki
Mongodb Handbuch

User und Datenbank anlegen

[schmimi4@octans nodejs]$ mongo admin --port 20522 -u schmimi4_mongoadmin -p
MongoDB shell version: 2.4.8
Enter password: 
connecting to: 127.0.0.1:20522/admin
> use node-mongo-blog
switched to db node-mongo-blog
use products
db.addUser( { user: "Alice",
              pwd: "Moon1234",
              roles: [ "readWrite", "dbAdmin" ]
            } )
> quit

Verbindung testen

mongo node-mongo-blog --port 20522 -u mongoblog -p

Datenbank löschen

> use mydb; 
> db.dropDatabase();

Ein (aus Anfängersicht) brauchbares Webinterface um mit der Datenbank rumzumachen scheint RockMongo zu sein. Konfiguration problemlos.

6. Auf Produktivbetriebumstellen

Interessanter Blogartikel

[schm@bla blog]export NODE_ENV=production