Browsing all articles in linux
23
Jan
2012

Da ich es immer wieder vergesse:

$ pacman -Rdd package
read more
8
Jan
2012

Kurz und schmerzlos:

$ pacman -Qe
read more
27
Dez
2011
sabayon

Durch eine kleine Diskussion auf G+ wurde ich wieder daran erinnert, dass ich seit einigen Wochen schon einen Blick in die Sabayon Linux Distribution werfen möchte. Ich nutze die ruhige Phase zwischen den Jahren um das System mal auf in einer VBox zu installieren.

Was ist Sabayon? Sabayon ist eine auf Gentoo basierende Linux Distribution. Die Philosophie hinter dem Projekt ist, dass alles out of the box funktioniert und die best mögliche UserExperience bietet.
Klingt für mich im ersten Moment nach einer Distribution, welche die Vorteile von Gentoo und Ubuntu vereint. Und damit schonmal sehr interessant. Ich hatte lange Zeit Ubuntu und Gentoo verwendet und bin nun seit knapp 2 Jahren ein Arch Linux User. Mal sehen, ob mich Sabayon begeistern kann ;)

(weiterlesen …)

read more
24
Sep
2011

Im Zuge meiner Umstellung von Apache auf Nginx mussten auch vier WordPress-Installationen migriert werden. Interessant dabei waren in erster Linie die Permalinks zu erhalten (und damit die RewriteRules zu portieren).

Da es sich um vier voneinander unabhängige WordPress-Installationen handelt und ich die Server Config DRY halten möchte, gibt es für die WordPress-spezifischen Sachen mal wieder eine include Datei:

# vim /etc/nginx/wordpress.inc
rewrite ^(/[^/]+/)?files/(.+) /wp-includes/ms-files.php?file=$2 last;

rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php) $2 last;

rewrite ^/(.*)$ /index.php?q=$1 last;

if (!-e $request_filename) {
        rewrite ^(.+)$ /index.php?q=$1 last;
}

 

Nun müssen die VHost-Konfigurationen noch entsprechend um ein Include erweitern werden:

# blog.itws.de
server {
        server_name blog.itws.de;
        root /var/www/itws.de/blog;

        include defaults.inc;
        include enable_php.inc;
        include wordpress.inc;
}

Fertig. Wie ihr sehen könnt, an sich also kein Hexenwerk.

read more
23
Sep
2011

Übersicht

 

Wie im ersten Teil beschrieben, muss ich ein paar meiner VHosts per Basic Authentication schützen. Hier zeige ich euch noch kurz, wie ich das mit nginx angestellt habe.

In meinem Fall möchte ich die Subdomain ci.itws.de schützen. Dazu lege ich mir erstmal ein Verzeichnis auth an, in dem ich die htpasswd-Dateien speichere:

# mkdir /etc/nginx/auth

 

Und ich lege mir einen Benutzer an:

# htpasswd -c /etc/nginx/auth/ci ghost

 

Danach muss ich nur noch den server-Block in der Datei /etc/nginx/sites-available/itws.de anpassen:

server {
    server_name ci.itws.de;
    root /var/www/itws.de/ci;

    include defaults.inc;
    include enable_php.inc;

    auth_basic  "ITWS CI";
    auth_basic_user_file auth/ci;
}

Fertig. Nach einem schnellen Restart von Nginx ist ci.itws.de per BA geschützt.

read more
22
Sep
2011

Übersicht

 

Ich möchte den Nginx auch auf meinem Notebook verwenden um dort die gleiche Umgebung wie auf dem Server zu haben. Und auch die gleiche Performance.

Da ich aber in der Firma mit dem Tomcat arbeite (den ich zur Zeit über mod_proxy an den Apachen angeklingt habe), muss ich meinen Nginx auch entsprechen konfigurieren. Da die Proxy-Funktionen im Nginx kein Modul sind, sondern der Nginx selbst ein Proxy-Server ist, ist das spielend einfach:

server {
    server_name ci.itws.de;
    root /var/www/itws.de/ci;

    index index.jsp index.html index.htm;

    proxy_pass http://localhost:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
}
read more
19
Sep
2011

Übersicht

 

Installation

Um eine aktuelle Version (1.0.6) auch unter Debian zu bekommen, kann man einfach das dotdeb Repository in die sources.list aufnehmen:
dotdeb.org bietet ein umfangreiches Repository um Debian Systeme in perfekte LAMP Server zu verwandeln. Hier ist nicht nur die aktuelle Version von PHP 5.3 mit dem FPM, den ich später noch brauchen werde, sondern auch die aktuelle Version des nginx zu finden. Außerdem ist die Default-Konfiguration des Nginx aus dem dotdeb Repo etwas sauberer als die aus dem offiziellen Debian Nginx Repo …
(weiterlesen …)

read more
18
Sep
2011

Übersicht

 

In diesem und den folgenden Beiträgen (es gibt jeden Tag einen) berichte ich euch ein wenig über meine Migration von Apache zu Nginx. Es war eigentlich nicht beabsichtigt, dass da ganze fünf Beiträge draus werden, aber irgendwie wurde es doch ziemlich viel Text und das war dann für einen einzelnen Artikel etwas zu viel. Da könnte man ja fast den Eindruck bekommen, ich würde gerne schreiben … Keine Angst, das einzige was ich gerne in großen Mengen schreibe ist Programmcode ;)

However, ich hatte meinen VPS (Debian 6) bisher immer mit dem apache2 betrieben und auch meine Entwicklungsumgebung auf meinem Desktop und dem Notebook ebenfalls. Das hatte mehrere Gründe. Zum Einen bin ich mit dem Apache aufgewachsen und hatte eigentlich nie etwas anderes verwendet. Ich war auch immer sehr zufrieden mit dem Apachen. Es ist ein guter Webserver mit einer großen Auswahl an mächtigen Modulen und er ist sehr leicht zu konfigurieren. Da ich aber ab und an gerne etwas Neues ausprobiere und immer Spaß daran habe, an meinem Server zu schrauben (auf Software-Ebene), wollte ich mal einen anderen Webserver ausprobieren. Genaugenommen war das Projekt yaana.de einer der Auslöser. Ich möchte da noch etwas Performance aus dem Server quetschen. Und dafür sollte ich mich zu allererst vom Apachen verabschieden.

Zur Auswahl stehen also – neben dem Apachen – Lighttpd und Nginx (ausgesprochen: engine-x).

(weiterlesen …)

read more
13
Sep
2011

Auf Github findet ihr im Projekt itws/dotfiles meine Linux config Dateien. Im Moment liegen dort nur die configs für die ZSH und git, wird aber  noch mehr ;)

read more
11
Jul
2011

Hier meine fertige .zshrc. Habe dabei zusätzlich noch die grml-zsh-config installiert (aus dem ArchLinux Repository)

# autoload modules
autoload -U colors && colors
autoload -U compinit && compinit
autoload -U zsh-mime-setup

# the terminal
export TERM=rxvt

# prompt
export PS1="%{$bold_color%}[%{$fg[grey]%}%* %{$fg[green]%}%n@%m %{$reset_color%}%{$fg[blue]%}%c%{$reset_color%}%{$bold_color%}]%#%{$reset_color%} "

# options for zsh
setopt auto_pushd
setopt pushd_ignore_dups
setopt correct
setopt glob_complete
setopt rm_star_wait
setopt no_flow_control
setopt no_beep
setopt histignorespace
setopt auto_cd

# key bindings
#bindkey "\e[1~" beginning-of-line # Home
#bindkey "\e[4~" end-of-line # End
#bindkey "\e[5~" beginning-of-history # PageUp
#bindkey "\e[6~" end-of-history # PageDown
#bindkey "\e[2~" quoted-insert # Ins
#bindkey "\e[3~" delete-char # Del
#bindkey "\e[5C" forward-word
#bindkey "\eOc" emacs-forward-word
#bindkey "\e[5D" backward-word
#bindkey "\eOd" emacs-backward-word
#bindkey "\e\e[C" forward-word
#bindkey "\e\e[D" backward-word
#bindkey "\e[Z" reverse-menu-complete # Shift+Tab

case "$TERM" in
    cons25*|linux) # plain BSD/Linux console
      bindkey 'e[H'    beginning-of-line   # home
      bindkey 'e[F'    end-of-line         # end
      bindkey 'e[5~'   delete-char         # delete
      bindkey '[D'     emacs-backward-word # esc left
      bindkey '[C'     emacs-forward-word  # esc right
      ;;
    *rxvt*) # rxvt derivatives
      bindkey 'e[3~'   delete-char         # delete
      bindkey 'eOc'    forward-word        # ctrl right
      bindkey 'eOd'    backward-word       # ctrl left
      # workaround for screen + urxvt
      bindkey 'e[7~'   beginning-of-line   # home
      bindkey 'e[8~'   end-of-line         # end
      bindkey '^[[1~'  beginning-of-line   # home
      bindkey '^[[4~'  end-of-line         # end
      ;;
    *xterm*) # xterm derivatives
      bindkey 'e[H'    beginning-of-line   # home
      bindkey 'e[F'    end-of-line         # end
      bindkey 'e[3~'   delete-char         # delete
      bindkey 'e[1;5C' forward-word        # ctrl right
      bindkey 'e[1;5D' backward-word       # ctrl left
      # workaround for screen + xterm
      bindkey 'e[1~'   beginning-of-line   # home
      bindkey 'e[4~'   end-of-line         # end
      ;;
    screen)
      bindkey '^[[1~'   beginning-of-line  # home
      bindkey '^[[4~'   end-of-line        # end
      bindkey 'e[3~'    delete-char        # delete
      bindkey 'eOc'     forward-word       # ctrl right
      bindkey 'eOd'     backward-word      # ctrl left
      bindkey '^[[1;5C' forward-word       # ctrl right
      bindkey '^[[1;5D' backward-word      # ctrl left
      ;;
  esac

zsh-mime-setup

# aliases
alias l='ls -lAh --color'
alias g='grep -i --color'
alias lg='l | g'
alias gf='grep -nriH'
alias vg='grep -iv'
alias cd..='cd ..'
alias cdd='cd ~/Desktop'
alias p='pwd'
alias c='clear'
alias cc='cd ~; c; source .bashrc'
alias pacman='pacman-color'
alias install='yaourt -S'
alias search='yaourt -Ss'
alias update='yaourt -Suya'
alias edit='gedit'
alias tl='translate -l de-en -i'
alias keys='setxkbmap'

# uncompress depending on extension...
e() {
      if [ -f "$1" ] ; then
              case "$1" in
                        *.tar.bz2) tar xvjf "$1"   ;;
                        *.tar.gz)  tar xvzf "$1"   ;;
                        *.bz2)     bunzip2 "$1"    ;;
                        *.rar)     unrar x "$1"    ;;
                        *.gz)      gunzip "$1"     ;;
                        *.tar)     tar xvf "$1"    ;;
                        *.tbz2)    tar xvjf "$1"   ;;
                        *.tgz)     tar xvzf "$1"   ;;
                        *.zip)     unzip "$1"      ;;
                        *.Z)       uncompress "$1" ;;
                        *.7z)      7z x "$1"       ;;
                        *)
                                   echo "'$1' cannot be extracted"
                                   return 1
                        ;;
              esac
      else
              echo "'$1' is not a valid file"
              return 1
      fi
      return 0
}

# the editor is vim
export EDITOR="/usr/bin/vim"

# midnight commander color config
export MC_COLOR_TABLE="$MC_COLOR_TABLE: editnormal=lightgray,black: editbold=yellow,black: editmarked=black,cyan"

# less config
export LESS_TERMCAP_mb=$'\E[01;31m'       # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m'  # begin bold
export LESS_TERMCAP_me=$'\E[0m'           # end mode
export LESS_TERMCAP_se=$'\E[0m'           # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;246m'    # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m'           # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline

# alt+s inserts sudo at the beginning of the line
insert_sudo () { zle beginning-of-line; zle -U "sudo " }
zle -N insert-sudo insert_sudo
bindkey "^[s" insert-sudo
read more