LordLamer
  • Home
  • About Me
  • Familie
  • Knowledgeroot
  • Impressum
KEEP IN TOUCH

Posts in category Linux

SUSE Certified Administrator

Jul12
2018
Written by lordlamer

So, ab jetzt darf ich mich auch SUSE Certified Administrator für SLES 12 schimpfen.

Die Prüfung war diesmal was ganz neues. Es wurden nur praktischen Aufgaben abgearbeitet. Nichts mit Multiple-Choice. Das gefiel mir ganz gut.

Hab dann auch mit 90% bestanden 😀

Posted in Company, sap

log2mail nicht mehr in Debian Stable

Sep11
2013
Written by lordlamer

Log2mail ist ein kleines Programm welches Log-Dateien mittels Regulären Ausdrücken überwacht und dann E-Mails versenden kann.

Leider ist dieses wunderbare kleine Programm aus Debian Wheezy geflogen und wird es wohl auch in Zukunft nicht weiter in den Stable Zweig schaffen.
Darum habe ich mich nach kurzer Recherche nach Alternativen(die leider einige Probleme hatten – tenshi)dazu entschlossen mit einem Kollegen die aktuelle Version zu nehmen und sie auf Debian Wheezy lauffähig zu machen. Das Ergebnis gibt es auf Github:
https://github.com/lordlamer/log2mail

Damit könnt ihr sofort loslegen und euer Paket für Wheezy selber bauen.

 

Posted in Company, Debian

MySQL vs. PostgreSQL (Trigger/Stored Precedures)

Oct07
2012
Written by lordlamer

Ich bin gerade dabei für Knowledgeroot2 die Datenbank Dumps zu erstellen. Für PostgreSQL hab ich dies nun schon fast fertig. Über MySQL musste ich mich gestern mal wieder richtig ärgern.

In Knowledgeroot2 soll diesmal automatisch für Inhalte, Seiten und Dateien eine Historie mit geführt werden. Dies hab ich in PostgreSQL mittels Trigger und Stored Procedures gelöst. Es funktioniert und kann sicherlich noch optimiert werden. Nun wollte ich das gleiche in MySQL machen und musste feststellen, dass dies nun überhaupt nicht so geht wie ich dachte.

Für PostgreSQL habe ich folgendes Dump: https://github.com/lordlamer/knowledgeroot/blob/master/data/dumps/postgresql.sql
Anhand des Dumps kann man auch meine Idee sehen. Wenn ich einen Datensatz in die content/page/file Tabelle einfüge oder ändere wird mittels eines Triggers eine Funktion aufgerufen die dann auch einen Eintrag in die entsprechende Historie-Tabelle tätigt.

Soweit sogut. Jetzt kommt MySQL mit seinen Fesseln. Es sollte ja schon bekannt sein, dass ich in MySQL nur einen Trigger je event an eine Tabelle hängen kann. Dies ist für mich zum Glück kein Problem. Aber ein Problem ist, dass ich nicht in einem Rutsch einen Trigger für mehrere Events anlegen kann. Nein, hier muss ich für jedes Event dann einen Trigger anlegen. OK. Etwas mehr schreibarbeit. Damit kann man auch noch leben wenn man dann NEW und OLD an eine Funktion in MySQL durchreichen könnte. Aber falsch gedacht. Auch dies geht nicht…
Willkommen und schon müssen wir Code duplizieren.

Für mich zeigt dieser Umstand leider nur, dass man MySQL leider nicht in Umgebungen einsetzen kann und sollte wo viel mit Triggern und Stored Procedures gearbeitet wird.
Klar, es geht irgendwie auch in MySQL aber Spass macht das nicht! Hier besteht wirklich noch Nachholbedarf!

PS: Hier noch mein aktuelles Dump dann in MySQL: https://github.com/lordlamer/knowledgeroot/blob/master/data/dumps/mysql.sql – Verbesserungen nehme ich gerne entgegen

Posted in Knowledgeroot, misc, mysql, postgresql

VIM und XML mit auto indent

Dec02
2011
Written by lordlamer

Da bin ich doch letzten über ein Blog gestoßen und hab einen Tollen Tipp gefunden wie man XML automatisch einrücken lassen kann.

Zum einen benötigt man xmlindent welches schnell installiert ist:

aptitude install xmlindent

Zum zweiten kann man sich in seiner vim Konfiguration ein Tastenkürzel anlegen:

map <F2> <Esc>:1,$!xmllint --format -<CR>

Damit kann man dann ab jetzt mit F2 eine XML Datei automatisch einrücken lassen.

Danke für diesen tollen Tipp!!!

Quelle: http://blog.pregos.info/2011/08/26/vim-xml-automatisch-einruecken-xml-indent/

Posted in vim

Erste Schritte mit Apache Solr und Apache Tomcat

Aug31
2011
Written by lordlamer

Irgendwann kommt der Zeitpunkt da ist einem die Suche seines Programmes über die Datenbank zu langsam oder gewisse Features sind nur schwer über die Datenbank zu realisieren oder die Suche skaliert einfach zu schlecht. Gründe gibt es viele sich mal umzuschauen nach Alternativen. Aber was gibt es da? Eine Lösung könnte Apache Solr sein.

Apache Solr ist eine Enterprise Plattform für Suchen. Solr baut auf dem Apache Lucene Projekt auf und bietet Features wie Highlighting, Faceting, Clustering, Volltextsuche, REST-Schnittstelle und andere tolle Sachen die man auch von Google her kennt.

In diesem Artikel möchte ich euch bei den ersten Schritten mit Apache Solr unterstützen. Vielleicht gibt es zu dem Thema in Zukunft auch noch weitere Artikel.

Also, was haben wir vor. Ich möchte eine Multicore-Installation von Solr mit Tomcat zeigen. Dazu muss man wissen, dass man mit Solr nicht nur eine “Datenbank” zum dursuchen haben kann sondern mehrere parallel(Multicore) und das auch mit unterschiedlichen Konfigurationen. Aber dazu später mehr.

OK. Was brauchen wir?! Apache Solr und Apache Tomcat. Beides können wir als tar.gz herunterladen:
http://tomcat.apache.org/
http://lucene.apache.org/solr/

Weiterhin benötigt ihr Java. Das heißt, ihr solltet euch entweder Java herunterladen oder über eure Distribution installieren.

Kommen wir zu unserem Arbeitsbereich. Hierfür nutze ich den Ordner /www/solr bei mir. Ihr könnt auch irgend ein Ordner eurer Wahl nehmen. In diesem Ordner entpackt ihr dann das Solr.tar.gz und das Tomcat.tar.gz. Danach benennt ihr noch das Solar Verzeichnis direkt in “solr” und das Tomcat Verzeichnis direkt in “tomcat” um. Fertig wäre Step 1.

Und weiter geht es mit Step 2. Jetzt legen wir den Ordner “solr-multicore” in /www/solr an. Danach kopieren wir alles aus solr/examples/multicore nach /www/solr/solr-multicore:

cp -a /www/solr/solr/examples/multicore/* /www/solr/solr-multicore/

Im Step 3 kümmern wir uns endlich um Tomcat. Wir müssen Tomcat zum einen mitteilen wo er unsere Multicore Installation findet und zum anderen müssen wir Solr im Tomcat veröffentlichen. Wir öffnen also tomcat/conf/catalina.properties und fügen folgende Zeile hinzu:

solr.solr.home=/www/solr/solr-multicore

Jetzt legen wir noch einen Benutzer für die Verwaltung von Tomcat an. Dazu öffnen wir tomcat/conf/tomcat-users.xml und legen die Datei so an:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
</tomcat-users>

Jetzt sind wir auf der Zielgeraden. Wir müssen jetzt noch Solr im Tomcat veröffentlichen. Dazu kopieren wir die WAR-Datei aus Solr in das Tomcat webapps Verzeichnis.

cp /www/solr/solr/dist/apache-solr-3.3.0.war /www/solr/tomcat/webapps/solr.war

Jetzt brauchen wir nur noch Tomcat starten. Dazu gehen wir in das Verzeichnis tomcat/bin und führen startup.sh aus. Nach dem starten öffnen wir unseren Browser und öffnen folgender URL:
http://localhost:8080/solr/

Damit sollten wir einen Überblick über alle konfigurierten Cores in Solr sehen und können jetzt anfangen mit Solr zu spielen. Dazu kommen wir aber in einem neuen Artikel. Zum Schluss noch kurz erwähnt. In solr-multicore/solr.xml könnt ihr weitere Cores konfigurieren und in jedem Core Ordner gibt es einen conf Ordner mit einer schema.xml über welche ihr den Core konfigurieren könnt. Dazu dann aber mehr in einem neuen Artikel.

Posted in Company, Debian, misc, solr

Vim und ^M

Aug23
2011
Written by lordlamer

Wer kennt nicht dieses hässliche ^M am Zeilenende einer Datei?!

Dies wird leider durch einige Editoren verursacht. In Vim erzeugt man das Zeichen mit folgender Tastenkombination:
STRG+v und STRG+m

Und ersetzen kann man es mit:
:%s/^M//g

Mehr dazu gibt es hier:
http://vim.wikia.com/wiki/%5EM

Posted in Debian, vim

Ich lese: High Performance LAMP

Jul27
2011
Written by lordlamer

Ich lese zur Zeit gerade High Performance LAMP von Mirko Giese.

Ich konnte mir ein gebrauchtes Buch bei Amazon für 14 Euro besorgen. Ich muss sagen die 14 Euro war es auch Wert. Ich weiß nicht ob ich die vollen 34,90 Euro dafür zahlen würde aber 14 Euro sind schon OK.

Auf den Knapp 200 Seiten geht es eigentlich nur um das Thema Performance. Dabei werden Einstellungen des Apaches behandelt, Best Practices zu PHP, MySQL Tuning und Query Optimizing gefolgt vom Load Balancing und noch ein paar Kleinigkeiten.

Es geht also auf den 200 Seiten gut zur Sache. Vor allem sehr schön wird immer mit Praktischen Beispielen gearbeitet und verglichen. Der Autor zeigt hier schön was sich bei ihm in der Praxis bewährt hat und was nicht.

Für mich gab es den oder anderen “AHA”-Effekt in diesem Buch. Ich kann damit dieses Buch nur wärmstens Empfehlen.

Hier auch noch der Link zu Amazon:
http://www.amazon.de/High-Performance-LAMP-Lastsituationen-PHP-Webseiten/dp/3868020047/

Posted in misc

Interessantes aus dem Netz

Jul21
2011
Written by lordlamer

Hier eine kurze Zusammenfassung über Dinge aus dem Netz die Interessant sein könnten:

1. Meine Frau hat jetzt auch noch ein Bücherblog
http://book.sabrina.lordlamer.de

2. Myflower Webinar (Video + PDF) zum Thema Mysql Performance
http://www.mayflower.de/de/ressourcen/webinare/archiv/mysql-performance

3. 2 Artikel zum Thema Passwortmythen und bcrypt:
http://www.phpgangsta.de/passwortmythen-oder-%E2%80%9Ewas-du-schon-immer-uber-passworter-wusstest-aber-nie-zu-sagen-wagtest%E2%80%9C
http://www.phpgangsta.de/schoener-hashen-mit-bcrypt

Posted in misc

Ferm mit aktiviertem Log

Jul21
2011
Written by lordlamer

In meinen bisherigen BlogPosts zu Ferm fehlt noch das Logging. Dies möchte ich heute kurz nachholen. Denn manchmal möchte man einfach wissen was eine Regel macht bzw. nicht macht.

Ausgehend von folgender Regel welche SSH erlaubt:

proto tcp dport ssh ACCEPT;

Um jetzt das Logging für diese Regel zu aktivieren wandeln wir die Regel wie folgt um:

proto tcp dport ssh {
  LOG;
  ACCEPT;
}

Mit dieser aktiven Regel sollten wir nun Logeinträge in unserem System finden wenn die Regel greift. Dies könnte unter anderem in /var/log/syslog sein. Je nach Konfiguration.

Jetzt noch eine kleine Ergänzung. Es ist ausserdem möglich einen Prefix für die Logeinträge zu vergeben. Unsere Regel von eben schaut dann jetzt wie folgt aus:

proto tcp dport ssh {
  LOG log-prefix 'SSH:';
  ACCEPT;
}

Dies sorgt nun dafür, dass vor jedem Logeintrag ein “SSH:” gesetzt wird.

Dann fehlt jetzt eigentlich nur nochmal ein Artikel zu Portforwarding mit Ferm oder?!

Posted in Debian

Aktuelle Vim Konfiguration – Die Zweite

May21
2011
Written by lordlamer

Anbei nochmal meine aktuelle Vim Konfiguration. Hier habe ich noch ein kleines Skript mit dabei welches Überflüssige Leerzeichen entfernt. Aufzurufen über die Taste F7.
Desweiteren wird im Binären Modus gearbeitet und es wird keine Leerzeile am Ende der Datei mehr eingefügt.

Hier die Konfiguration:
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below.  If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed.  It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.

" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
 au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
 \| exe "normal g'\"" | endif
endif

" Uncomment the following to have Vim load indentation rules according to the
" detected filetype. Per default Debian Vim only load filetype specific
" plugins.
if has("autocmd")
 filetype indent on
endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
" set showcmd        " Show (partial) command in status line.
set showmatch        " Show matching brackets.
set ignorecase        " Do case insensitive matching
set smartcase        " Do smart case matching
set incsearch        " Incremental search
set autowrite        " Automatically save before commands like :next and :make
"set hidden             " Hide buffers when they are abandoned
"set mouse=a        " Enable mouse usage (all modes) in terminals

set paste
set nu
set smartindent
set ruler
set laststatus=2
set listchars=tab:>-,trail:-,eol:$,extends:>,precedes:<,nbsp:%

" folding
"set fdm=marker
"set fmr={,}

" set noeol
set bin
set noeol

" highlight all not useable whitespaced at end of line
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/

set enc=utf-8

"map <F10> :set nu<cr>
"map <F9> :set nonu<cr>
"map <TAB> :set nu<cr>
"map <F12> :only<cr>
"inset hallo
"map <F2> ihallo

" set global vars
let g:numbers=1
let g:wordwrap=0
let g:lists=0

" functions
" function to show linenumbers or to hide
function Showlinenumbers()
if g:numbers == 1
 set nonu
 let g:numbers=0
else
 set nu
 let g:numbers=1
endif
endfunction

" function for wordwrap
function Showwordwrap()
if g:wordwrap == 1
 set nowrap
 let g:wordwrap=0
else
 set wrap
 let g:wordwrap=1
endif
endfunction

" function for list special chars
function Showlists()
if g:lists == 1
 set nolist
 let g:lists=0
else
 set list
 let g:lists=1
endif
endfunction

" function for switching background
function SwitchBackground()
if g:background == 1
 set background=dark
 let g:background=0
else
 set background=light
 let g:background=1
endif
endfunction

" make key mapings
map <F10> :call Showlinenumbers()<cr>
map <F9> :call Showwordwrap()<cr>
map <F8> :call Showlists()<cr>

" open/close folding
map <F5> za
map <F6> zA

" remove unused whitespaces
map <F7> :%s/\s\+$//<cr>

" switching background
map <F4> :call SwitchBackground()<cr>

" indent with mark text again after indent
vmap > >gv
vmap < <gv

" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
if filereadable("/etc/vim/vimrc.local")
 source /etc/vim/vimrc.local
endif


« Older Entries

Community

  • Forum
  • GitHub
  • Knowledgeroot
  • YouTube

#lordlamer

@phpmagazin Kann man einzelne Magazine auch online irgendwo einkaufen ohne das man gleich ein ABO abschließen muss? - 2 years ago

RT @DanShappir: Anything that can be done in HTML and CSS (without JavaScript) should be done in HTML and CSS (without JavaScript) - 2 years ago

@mauricerenck Bin auch kein Freund davon.... - 2 years ago

@jcagundlach @DB_Bahn Willkommen in Schwarzenbek ;) Dann hab ich dich gestern da stehen sehen... - 2 years ago

das nervt mich auch tierisch... zu viel Sicherheit das es schon fast unfreundlich ist es zu benutzen. Mach daraus m… https://t.co/VDTvD12q8c - 2 years ago

Visit My Profile

Categories

  • bsd (1)
  • citrix (3)
  • Company (24)
  • Debian (11)
  • Familie (75)
  • Geocaching (2)
  • Hausbau (41)
  • IPv6 (5)
  • Java (3)
  • klettern (10)
  • Knowledgeroot (15)
  • Linux (12)
  • LUG Balista (1)
  • misc (21)
  • mysql (1)
  • netscreen (2)
  • postgresql (1)
  • sap (4)
  • solr (2)
  • vim (2)

EvoLve theme by Theme4Press  •  Powered by WordPress LordLamer
Frank Habermann