SQL Server localdb – Mehrere Versionen verwalten

Vor einiger Zeit habe ich HIER schon mal etwas über SQLServer 2012 localdb geschrieben.
Mittlerweile gibt es von der localdb installation mehrere Versionen (Aktuell: 2012 / 2014 / 2016).

Um Herauszufinden welche Versionen auf dem System installiert sind, kann der Befehl „sqllocaldb versions“ genutzt werden:

1
2
3
4
5
E:\Programme\cmder>sqllocaldb versions
Microsoft SQL Server 2012 (11.0.5058.0)
Microsoft SQL Server 2014 (12.0.4100.1)
Microsoft SQL Server 2016 (13.0.1601.5)
Microsoft SQL Server 2017 (14.0.1000.169)

Standardmäßig wird eine neue Datenbank-Instanz über den „Create“-Befehl mit der aktuelleren Version angelegt.
Möchte man eine Instanz mit der 2012er Version anlegen, geht dies so:

1
2
E:\Programme\cmder>sqllocaldb create SQL2012 11.0.5058.0
LocalDB instance "SQL2012" created with version 11.0.5058.0.

Und für die 2014er Version so:

1
2
E:\Programme\cmder>sqllocaldb create SQL2014 12.0.4100.1
LocalDB instance "SQL2014" created with version 12.0.4100.1.

Ebenfalls kann so auch explizit eine 2016er Instanz angelegt werden:

1
2
E:\Programme\cmder>sqllocaldb create SQL2016 13.0.1601.5
LocalDB instance "SQL2016" created with version 13.0.1601.5.

Oder für eine 2017er Instanz:

1
2
E:\Programme\cmder>sqllocaldb create SQL2017 14.0.1000.169
LocalDB instance "SQL2017" created with version 14.0.1000.169.

Read more »

0  

Vorstellung: RDLViewer

Hier möchte ich mal den RDLViewer vorstellen.
Im Prinzip macht er nichts anderes als Lokale SQL Server Reports mit integrierter Datenquelle im XML Format anzuzeigen.
Entwickelt wurde das ganze ursprünglich mal als Kostenfreie Reporting-Alternative für diverse interne Tools.
Ziel des ganzen war dabei möglichst einfach Berichtsdaten ausgeben – und aus diesen einen Bericht erstellen und anzeigen zu können.

Das ganze sieht dann z.B. mit dem Beispiel-Bericht (einer kleinen Rechnung) wie folgt aus:
1_testbericht

Read more »

0  

MarkdownEditor

Heutzutage scheint jeder seinen eigenen Markdown-Editor zu bauen..
Naja, das Projekt liegt schon länger auf meiner Platte rum – damals wusste ich noch nichts davon das es mittlerweile so viele Editoren für Markdown gibt.

Jedenfalls habe ich auch einen gebaut.
Hauptaugenmerkt dabei war:
– einfache Bedienung
– HTML-Vorschau
– Syntax Highlighting
– Halbwegs ansehnlich

Momentan ist dies eine WinForms anwendung, welche das MetroFramework nutzt.
Die HTML Vorschau wird durch MarkDig gerendert, welcher ein wirklich phänomenaler MD2HTML Konverter darstellt – und für die Eingabe und das Syntax Highlighting habe ich die FastColoredTextBox genutzt, welche ein paar RegEx´s von SlimDown nutzt.

Das ganze sieht dann so im „Bearbeitungs-Modus“ aus:
markdownEditor1
Read more »

0  

LDAP – 8. SSL und TLS in OpenLDAP

​Da wir unser LDAP nicht nur unverschlüsselt, sondern auch verschlüsselt nutzen wollen, hier eine Anleitung wie wir SSL/TLS mit OpenLDAP zum laufen bekommen.

SSL/TLS Zertifikat erstellen
Dies muss in einem Debian (Hostsystem oder Buildroot) erfolgen:

# apt-get install gnutls-bin
# certtool --generate-privkey --outfile /etc/ssl/private/ldap-ca-key.pem
# certtool --generate-self-signed --load-privkey /etc/ssl/private/ldap-ca-key.pem --outfile /etc/ssl/certs/ldap-ca-cert.pem

Die Fragen sollten nach Möglichkeit gewissenhaft beantwortet werden.
Die Schlüssel kopieren wir anschließend in die Openldap Chroot:

cp -a /etc/ssl /chroots/openldap/etc/ssl

Read more »

0  

LDAP – 7. TestSystem & Beispiele

Hier nun ein paar Beispiele für Gogs, Redmine und Dokuwiki zur verwendung von OpenLDAP als User-Backend.

​Gogs
Benutzer: gogstest (befindet sich in der Gruppe „gogs“)
Passwort: test
Einrichtung:

Authentication Type: LDAP (via BindDN)
Authentication Name: LDAP
Host: server.ip
Port: 389
Bind DN: cn=admin,dc=freifunk,dc=net
Bind Password: password
User DN: ou=users;dc=freifunk,dc=net
User Filter: (&(objectClass=posixAccount)(uid=%s)(memberof=cn=gogs,ou=groups,dc=freifunk,dc=net))
First name attribute: givenName
Surname attribute: sn
E-mail attribute: mail

Kein Enable TLS Encryption
kein Skip TLS Verify

Read more »

0  

LDAP – 6. Freifunk-Template für LDAPAdmin

Um im LDAPAdmin (http://ldapadmin.org) die Attribute der LDAP-Benutzer leichter bearbeiten zu können, bietet es sich an ein Template für die eigenen Wünsche zu erstellen.
Dieses Template erweitert das normale „User“ Template um einen Neuen Tab „Freifunk-Account“, der wiederum 3 Tabs beinhaltet: „Benutzer“, „Linux“, und „SSH Key“.
Dieses Template speichert man z.b. in den Eigenen Dateien und teilt LDAPAdmin über „Tools“ → „Options“ → Karteireiter „Templates“ mit, dass es im Verzeichnis für die Eigenen Dateien nach evtl. Vorhandenen Templates suchen soll.
Danach (und nach jeder Änderung an den Templates) muss man LDAPAdmin neu starten, da die Templates nur beim Start geladen werden.
Nach dem Neustart sollte in der „normalen User-Form“ die Erweiterten Eigenschaften unseres Freifunk-Accounts drin stehen:

LDAPAdmin-1LDAPAdmin-2LDAPAdmin-3
Read more »

0  

LDAP – 5. Einrichtung Openssh mit Public Key

Hier eine Anleitung zur Verwendung von Public/Private-Key Authentifizierung an OpenSSH über LDAP.

​OpenLDAP
Als erstes brauchen wir ein Schema im LDAP.
Dieses definiert die Objektklasse „ldapPublicKey“ welche uns erlaubt das Attribut „sshPublicKey“ nutzen zu können.
Read more »

0  

LDAP – 4. PAM mit OpenLDAP

Hier nun eine Anleitung für Debian zur Benutzer-Authentifizierung mit libpam über LDAP.

Zuerst die benötigten Debian-Pakete installieren:

apt-get install libnss-ldap libpam-ldap

Read more »

0  

LDAP – 3. OpenLDAP Suchfilter

Nach dem einrichten des LDAP-Servers können wir nun anfangen diesen zu benutzen.
Um Einträge im LDAP-Verzeichnis wieder zu finden gibt es das Programm „ldapsearch“ mit welchem man LDAP-Intern als LDAP-Client suchen kann.
Möchte man LDAP-Einträge von externen Programmen finden, fungiert dieses als LDAP-Client und man muss in diesem diverse „Suchfilter“ angeben um die gesuchten Einträge zu finden.
Read more »

0  

LDAP – 2. OpenLDAP Einrichtung

Nach dem erfolgreichen kompilieren von OpenLDAP muss dies noch eingerichtet werden.
Hierzu gehören das eintragen der unterstützten Schema, anlegen der LDAP Datenbank und einrichten des Admin Benutzers.

SLAPD-Konfiguration
In der Konfigurations-Datei /srv/openldap/etc/openldap/slapd.conf fügen wir benötigte Schema hinzu und geben die Informationen zur LDAP-DB an:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
include         /srv/openldap/etc/openldap/schema/core.schema
include         /srv/openldap/etc/openldap/schema/misc.schema
include         /srv/openldap/etc/openldap/schema/cosine.schema
include         /srv/openldap/etc/openldap/schema/dyngroup.schema
include         /srv/openldap/etc/openldap/schema/inetorgperson.schema
include         /srv/openldap/etc/openldap/schema/collective.schema
include         /srv/openldap/etc/openldap/schema/corba.schema
include         /srv/openldap/etc/openldap/schema/duaconf.schema
include         /srv/openldap/etc/openldap/schema/java.schema
include         /srv/openldap/etc/openldap/schema/nis.schema
include         /srv/openldap/etc/openldap/schema/openldap.schema
include         /srv/openldap/etc/openldap/schema/pmi.schema
include         /srv/openldap/etc/openldap/schema/ppolicy.schema
 
pidfile         /srv/openldap/var/run/slapd.pid
argsfile        /srv/openldap/var/run/slapd.args
 
database        hdb
suffix          "dc=freifunk,dc=net"
rootdn          "cn=admin,dc=freifunk,dc=net"
rootpw          asdf
directory       /srv/openldap/data
index   objectClass     eq
# overlays
overlay memberof

Hier legen wir auch fest das unser LDAP Suffix „dc=freifunk,dc=net“ ist und der DN des Admin-Benutzers „cn=admin,dc=freifunk,dc=net“ mit dem Passwort „asdf“ ist.
Die LDAP-DB an sich wird im Format „hdb“ im Verzeichnis „/srv/openldap/data“ gespeichert.
Interessant ist hier auch der letzte Abschnitt „Overlays“, in dem Spezielle Suchfilter (wie hier das Overlay „memberof“) hinzugefügt werden können.

​Admin-User Einrichten

Am Anfang steht ein komplett leeres LDAP-Verzeichnis.
Die Zugangsdaten für den „admin“ gibt es schon aus der slapd.conf, aber der Admin muss noch im LDAP-Verzeichnis selbst angelegt werden.
Hierzu erstellen wir eine ldif Datei (/srv/openldap/init.ldif) mit folgendem Inhalt:

1
2
3
4
5
6
7
8
9
dn: dc=freifunk,dc=net
objectclass: dcObject
objectclass: organization
o: Freifunk
dc: freifunk
 
dn: cn=admin,dc=freifunk,dc=net
objectclass: organizationalRole
cn: admin

Mit ldapadd wird der Inhalt der init.ldif in das LDAP-Verzeichnis hinzugefügt:

/srv/openldap/bin/ldapadd -x -h 127.0.0.1  -D "cn=admin,dc=freifunk,dc=net" -w Passwort -f /srv/openldap/init.ldif

Als Bestätigung kommt die folgende Ausgabe:

adding new entry "dc=freifunk,dc=net"
adding new entry "cn=admin,dc=freifunk,dc=net"

Nun haben wir das Verzeichnis „dc=freifunk,dc=net“ und den Admin-Benutzer „cn=admin,dc=freifunk,dc=net“ in der LDAP-DB angelegt.

Hier die Übersicht der einzelnen Teile:

1. OpenLDAP Kompilieren
2. OpenLDAP Einrichtung
3. OpenLDAP Suchfilter
4. PAM mit LDAP
5. Einrichtung Openssh mit Public Key
6. Beispiel-Template für LDAPAdmin
7. TestSystem & Beispiele
8. SSL und TLS in OpenLDAP

0  
Unterstütze den Frickelblog!