Arch Linux blockt jeglichen Zugriff aus dem Netzwerk
Ich hab gestern einige Zeit damit verbracht heraus zu finden, warum mein Tomcat sich nicht mit dem MySQL-Server (beides localhost) verbinden kann. Ich hatte das System gerade frisch installiert und der sshd lief irgendwie auch nicht.
Schließlich lag es an der /etc/hosts.deny, die bei Arch Linux per default alles blockt. Nachdem ich die Zeile auskommentiert hatte, lief mein Tomcat, mein mysqld und mein sshd …
Darauf muss man erstmal kommen
[linux] meine .bashrc
Nur kurz damit ich das mal irgendwo liegen habe:
Prompt
if [ "$USER" == "root" ]; then PS1='\n\[\033[01;31m\][\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\W\[\033[01;31m\]]#\[\033[00m\] ' else PS1='\n\[\033[01;37m\][\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\W\[\033[01;37m\]]\$\[\033[00m\] ' fi
Aliase
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 ...='cd ../../' alias ..='cd ..' alias cdd='cd ~/Desktop' alias p='pwd' alias c='clear' alias cc='cd ~; c; source .bashrc' alias install='sudo aptitude install' alias search='aptitude search' alias update='sudo aptitude update' alias upgrade='sudo aptitude full-upgrade'
Uncompress function
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
}
Umgebungs-Variablen
export EDITOR="/usr/bin/vim" export MC_COLOR_TABLE="$MC_COLOR_TABLE: editnormal=lightgray,black: editbold=yellow,black: editmarked=black,cyan"
Sonstiges
# Keine Doppelten Zeilen in die History aufnehmen export HISTCONTROL=ignoredups # ... und aufeinanderfolgende Einträge ignorieren export HISTCONTROL=ignoreboth
[PHP] Der include path
Oft liest man, dass man bestimmte Verzeichnisse in den sog. include path aufnehmen soll oder im include path irgendwelche scripts ablegen soll und das meist ohne weitere Erklärung. Der Include Path und das Administrieren des Selbigen gehört also mehr oder weniger zu den Grundkenntnissen. Dennoch ist es für viele ein Mysterium.
Da ich gestern ein wenig damit gearbeitet habe, dachte ich, ich blogge mal ein wenig drüber. Warum? Weil ichs kann. Und weil ich eine kleine Hilfestellung zum Thema path im Allgemeinen und dem PHP include path im Speziellen zur Verfügung stellen möchte.
Continous Integration – Erfahrungsbericht Teil 1
Da ich für ein kommendes Projekt mal ein Continous Integration System ausprobieren wollte, habe ich mich diese Woche mal bemüht ein geeignetes System zu finden und dieses zu installieren.
Angefangen habe ich mit Cruise Control, da mich phpUnderControl doch schon sehr angesprochen hat und Cruise Control auch einfach zu installieren war.
Dennoch lief es nicht. Die 380 MB RAM meines VServers waren zu wenig für Jetty und Cruise Control.
Nach einigen Einstellungs-Änderungen an CC und der JVM war ich dann schließlich soweit, dass die JVM immerhin mal angelaufen ist. Für CC jedoch war dann kein Platz mehr im Speicher. Schade. rm -rf. Danke. Der Nächste, bitte.
Weiter ging es mit einem Blick auf Hudson, aber das war eigentlich unnötig, da ich ja wusste, dass ich keinen Servlet-Container auf dem Server installieren brauche, da der RAM sowieso nicht ausreicht.
Also habe ich mir Xinc angesehen, was allerdings nicht funktioniert hat. Im Anschluss an meinen Versuch, Xinc zu Installieren, habe ich dann auch festgestellt, dass das Projekt tot ist. Schade.
Gestern Abend dann den letzten Versuch mit Arbit gestartet, welches mich mit seiner Funktionsvielfalt begeistern konnte.
Zudem ist es in PHP geschrieben, was mir den Servlet-Container erspart.
Installiert war das Teil recht fix, jedoch wirft es noch Exceptions. Ich vermute mal, dass der Nightly Build buggy ist und habe mir daher nun mal die Stable geladen. Aber noch nicht installiert. Das werde ich heute Abend mal angehen.
Also einfach mal schnell Continous Integratin ausprobieren is nich
Ich halte euch auf dem aktuellen Stand was CI und Arbit angeht
[Linux] MySQL-Datenbanken per Filesystem kopieren
Sollte jemand von euch Wahnsinnigen es jemals nötig haben, eine MySQL-Datenbank per Filesystem kopieren zu müssen, hat er A etwas falsch gemacht und B findet er hier ein kleines How-To
[yii] Globale Installation unter Linux
Jaaa, richtig, ich arbeite zur Zeit mit dem yii-Framework. Und ich finde es toll
1. Die Installation
ghost@spacebox:~$ sudo -s root@spacebox:~$ cd /var/www/lib root@spacebox:/var/www/lib$ svn co http://yii.googlecode.com/svn/trunk/framework yii
2. Updaten des Frameworks
ghost@spacebox:~$ sudo -s root@spacebox:~$ cd /var/www/lib root@spacebox:/var/www/lib$ svn up
3. Das Kommandozeilen-Tool im PATH ablegen:
ghost@spacebox:~$ sudo ln -s /var/www/lib/yii/yiic /usr/bin/yii
Absofort steht der Befehl "yii" in der bash zur Verfügung.
4. Anpassen der Applications
Die index.php jeder Application musst angepasst werden, damit das Framework gefunden wird:
<?php
set_include_path('/var/www/lib/yii');
define('DIR', dirname(__FILE__));
define('YII_DEBUG', true);
define('YII_TRACE_LEVEL', 3);
$config = DIR . '/app/config/main.php';
require_once('yii.php');
Yii::createWebApplication($config)->run();
[Linux] Apache/MySQL/Eclipse PDT unter Ubuntu einrichten
Hier eine kurze Anleitung wie man sich unter einem aktuellen Ubuntu eine Entwicklungsumgebung mit Apache, MySQL und PDT einrichtet.
Schritt 1: Das Arbeitsverzeichnis
Zuerst legen wir uns ein Arbeitsverzeichnis an, der Eclipse-Workspace. Hier werden später die Projekte abgelegt. Außerdem dient das Verzeichnis als DocumentRoot für den Apache:
ghost@spacebox:~$ mkdir workspace
Fertig. Langweilig, ich weiß
Schritt 2: Der Apache
Installieren des Apachen mit mod_php5:
ghost@spacebox:~$ sudo aptitude install apache2 libapache2-mod-php5
Einrichten der DocumentRoot:
ghost@spacebox:~$ sudo vim /etc/apache2/sites-avilable/default
Es öffnet sich der vim mit der default site, welche wir wie folgt anpassen ([i] zum Bearbeiten):
<VirtualHost *:80>
DocumentRoot /home/ghost/workspace
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/ghost/workspace>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
(...)
</VirtualHost>
[esc], ":wq", [enter] speichert und schließt die Datei.
Anschließend muss der Apache reloaded werden, das funktioniert wie folgt:
ghost@spacebox:~$ sudo /etc/init.d/apache reload
Zum Testen legen wir innerhalb des workspace-Verzeichnisses eine index.php an:
ghost@spacebox:~$ cd workspace ghost@spacebox:~/workspace$ echo 'Hallo Welt!' > index.php
Im Anschluss dazu rufen wir im Browser die URL "http://localhost/index.php" auf.
Wir erhalten eine weiße Seite und ein "Hallo Welt!".
Schritt 3: Der MySQL-Server
Zuerst den MySQL-Server und den Client installieren:
ghost@spacebox:~$sudo aptitude install mysql-client-5.1 mysql-server-5.1
Während der Installation wird man dazu aufgefordert ein root-Passwort für den MySQL-Server festzulegen, dort ein beliebiges Passwort eingeben und selbiges bitte merken
anschließend ein Verbindungstest zum Server:
ghost@spacebox:~$ mysql -h localhost -u root -p
Nach der Eingabe des korrekten Passworts, welches wir eben bei der Installation festgelegt haben, startet die mysql-Shell:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 34 Server version: 5.1.41-3ubuntu12 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Schritt 4: Die PDT
Die PHP Development Tools ist eine auf Eclipse basierende Entwicklungsumgebung für PHP.
Zuerst laden wir uns das tar.gz-Archiv, welches wir auf der offiziellen Website finden und entpacken dieses anschließend nach /opt/eclpse:
ghost@spacebox:~/Desktop$ sudo tar xvzf eclipse.tar.gz -C /opt/
Über einen Rechtsklick auf das Gnome bzw KDE-Menü kann mit Hilfe des "Menü bearbeiten"-Tools ein Menü-Eintrag für Eclipse angelegt werden. Der Befehl zum starten von Eclipse lautet:
/opt/eclipse/eclipse
Nun stehen Apache und MySQL zusammen mit PDT zur Verfügung. Der Apache und der MySQL-Server starten bei jedem Booten des Systems automatisch und müssen daher nicht manuell gestartet werden.
[bash] mcedit Farben anpassen
$ vim ~/.mc/ini
[Colors]
base_color=normal=lightgray,default:marked=yellow,default:viewunderline=brightred,default:helpslink=yellow,default:directory=white,default:executable=brightgreen,default:link=lightgray,default:stalelink=brightred,default:device=brightmagenta,default:core=red,default:special=magenta,default:editnormal=lightgray,default:editbold=yellow,default:
Mozilla empfiehlt …
NEIN! Mir egal, was Mozilla emfiehlt und wenn sie Kopfstand machen … Ich war ja noch nie ein großer Firefox-Fan, aber das was sich die Jungs von Mozilla sich jetzt geleistet haben, ist ja noch peinlicher als der Internet Explorer 6! Was soll der Schwachsinn eigentlich?
Fixt endlich die Bugs, dann update ich. Vorher nicht. Solange der FF 3.5 die Seiten so darstellt werde ich nicht umsteigen.
Hier mal ein Screenshot des ITWS Developer Blogs im tollen neuen, super schnellen Firefox 3.5:
(Wer jetzt sagt, das liegt am Blog: Ich kann von fast jeder Website mit Bildern einen solchen Screenshot mit Darstellungsfehlern liefern und im FF 3.0.x gibts absolut keine Probleme).
Das konnte ich bisher auf allen Linux-Systemen, die ich finden konnte, nachstellen. Unter Windows scheint es keine Probleme zu geben.
[Linux] Saubere LAMPP Installation

LAMPP: Linux Apache, MySQL, Perl and PHP stellt schnell und einfach eine Entwicklungsumgebung für Webentwickler zur Verfügung. Enthalten ist ein Webserver (Apache 2), ein FTP-Server (ProFTP), ein MySQL-Server, PHP & PEAR, phpMyAdmin, Perl, und vieles vieles mehr.
In diesem Beitrag möchte ich euch zeigen, wie man den LAMPP sauber und sicher auf einerm Linux-System aufsetzt und ihn in das System integriert.
Schrit 0: Download
Bevor wir loslegen müssen wir erstmal dar tar-Archiv runterladen. Die aktuelle LAMPP-Version gibts immer auf apache-friends.org
Schritt 1: Entpacken der Dateien
Zuerst entpacken wir das Archiv in der Verzeichnis /opt:/
$ sudo tar xfz xampp-linux-1.7.1.tar.gz -C /opt/
Schritt 2: Der lampp-Befehl
Damit wir LAMPP nicht immer über /opt/lampp/lampp ansprechen müssen, stellen wir eine Verknüpfung her, die den lampp-Befehl zur Verfügung stellt:
$ sudo ln -s /opt/lampp/lampp /usr/bin/lampp
Anschließend kann LAMPP über den Befehl “lampp” gesteuert werden.
Schritt 3: Autostart einrichten
Damit LAMPP bei jedem System-Start ausgeführt wird, müssen wir noch eine Verknüpfung im /etc/init.d/-Verzeichnis anlegen:
$ sudo ln -s /opt/lampp/lampp /etc/rc3.d/S99lampp
Schritt 4: MySQL-Socket verlinken
Nach der Installation von LAMPP haben wir das Problem, dass der Socket, welcher von Symfony und dem mysql-client verwendet wird, nicht dort liegt, wo er erwartet wird. Das Problem lässt sich wie folgt beheben:
$ sudo mkdir -p /var/run/mysqld/ $ sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
Schritt 5: Security
Nach der Installation müssen noch ein paar Security-Anpassungen durchgeführt werden. LAMPP bietet dazu den security-Modus, der dem User eine Reihe von Optionen zur Sicherheits-Optimierung zur Verfügung stellen.
Die Konfiguration ist sehr trivial: Einfach den Befehl
$ sudo lampp security
ausführen und den Anweisungen folgen.
Fertig. Nun kann LAMPP gestartet werden:
$ sudo lampp start

