Installieren von LAMP

JSF 2.0 mit Glassfish
10. Dezember 2009
XenServer mit Debian Gast
4. Januar 2010

Installieren von LAMP

Grundlegendes

Um einen Server um Internet oder Intranet über das HTTP-Protokoll erreichbar zu machen, sollten einige Web-Services installiert sein.

In diesem Tutorial möchte ich beschreiben, wie man auf einem Server die Datenbank MySQL, den Webserver Apache und die Websprache PHP unter Debian 4.0 installiert.

Um den Überblick zu behalten kennzeichne ich die Code-Schnippsel wie folgt:

Datei: /etc/sample.conf

suchen (Zeile2):

#Test-Config
config = 1

ersetzten durch:

#Test-Config
config = 2

Console:

server:/pfad# befehl

Ich habe es mir angewöhnt MySQL,Apache und PHP unter /usr/local zu installieren und in den jeweiligen Ordnern (z.B. /usr/local/apache) die einzelnen Versionen zu speichern. So fällt einem ein Update wesentlich leichter.

Zusätzlich lege ich noch einen SymLink der aktuellen Version auf current an, damit ich die Config-Dateien nicht ständig ändern muss (z.B. /usr/local/apache/current -> /usr/local/apache/2.2.8).

Kommen wir zum eigentlichen Tutorial.

Vorarbeit

Um diese Dienste kompilieren zu können, muss ein Compiler auf dem System installiert sein.

server:~# apt-get install g++ libncurses5-dev make autoconf

MySQL-Datenbank installieren

Um die Software zu kompilieren ist es hilfreich diese erst mal runter zu laden. Es sollte die aktuelle Software von MySQL werden. Bei mir ist es zur Zeit 5.1.23-rc. Wir geht in das Verzeichnis /usr/local/src.

Console:

server:~# cd /usr/local/src
server:/usr/local/src# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.25-rc.tar.gz/from/http://sunsite.informatik.rwth-aachen.de/mysql/

Sind alle Packe erfolgreich heruntergeladen sollten diese entpackt werden.

server:/usr/local/src# tar xvzf mysql-5.1.25-rc.tar.gz

Nach dem entpacken wechseln wir in das Verzeichnis /usr/local/src/mysql-5.1.23-rc und fangen dort an MySQL zu konfigurieren.

server:/usr/local/src# cd mysql-5.1.25-rc
server:/usr/local/src/mysql-5.1.25-rc# ./configure –enable-assembler –with-common –with-charset=latin1 –with-extracharsets=all –with-mysqld-user=mysql –with-unix-socket-path=/var/run/mysqld/mysqld.sock –with-innodb –without-debug –without-bench –without-extra-tools –without-docs –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –prefix=/usr/local/mysql/5.1.25 –sysconfdir=/etc –enable-thread-safe-client –localstatedir=/var/mysql

Wenn die Konfiguration erfolgreich durchgelaufen ist kann kompiliert werden.

server:/usr/local/src/mysql-5.1.25-rc# make
server:/usr/local/src/mysql-5.1.25-rc# make install

Nun wurde MySQL nach /usr/local/mysql installiert. Um den Dienst in Betrieb zu nehmen muss nun noch die MySQL-Datenbank eingefügt und ein root Passwort festgelegt werden, damit kein anderer Zugriff auf den MySQL-Server bekommt. Zusätzlich sollte das Start- und Stopscript in /etc/init.d kopiert werden.

server:/usr/local/src/mysql-5.1.25-rc# addgroup mysql
server:/usr/local/src/mysql-5.1.25-rc# useradd -g mysql mysql
server:/usr/local/src/mysql-5.1.25-rc# ln -s /usr/local/mysql/5.1.25 /usr/local/mysql/current
server:/usr/local/src/mysql-5.1.25-rc# ./scripts/mysql_install_db
server:/usr/local/src/mysql-5.1.25-rc# cp support-files/mysql.server /etc/init.d/mysql
server:/usr/local/src/mysql-5.1.25-rc# chown -R mysql:mysql /usr/local/mysql
server:/usr/local/src/mysql-5.1.25-rc# /usr/local/mysql/current/bin/mysqld_safe &
server:/usr/local/src/mysql-5.1.25-rc# /usr/local/mysql/current/bin/mysqladmin -u root password ‚geheim‘

Ist hierbei kein Fehler aufgetreten wurde MySQL erfolgreich installiert.

zurück nach Oben

Apache

Auch bei dem Apache gilt es die Software zu erst herunter zuladen, zu entpacken und in das entpackte Verzeichnis zu wechseln.

server:~# cd /usr/local/src
server:/usr/local/src# wget http://apache.lauf-forum.at/httpd/httpd-2.2.8.tar.gz
server:/usr/local/src# tar xvzf httpd-2.2.8.tar.gz
server:/usr/local/src# cd httpd-2.2.8

Sobald das geschehen ist, fangen wir an die erforderlichen Bibliotheken nach zu installieren.

server:/usr/local/src/httpd-2.2.8# apt-get install

Nun können wir anfangen zu konfigurieren.

server:/usr/local/src/httpd-2.2.8# ./configure –with-mpm-worker –enable-modules=“so http“ –enable-mods-shared=“info status cern_meta usertrack asis include autoindex cgid imap default alias auth auth_anon auth_digest access cache mem_cache cgi dir env ext_filter expires headers file_cache log_config mime mime_magic negotiation rewrite spelling actions userdir setenvif python apr perl“ –prefix=/usr/local/apache/2.2.8 –sysconfdir=/etc/apache2

Nach dem konfigurieren kompilieren wir Apache noch.

server:/usr/local/src/httpd-2.2.8# make && make install

Nun passen wir noch die Ordnerrechte an und erstellen einen SymLink.

server:/usr/local/src/httpd-2.2.8# ln -s /usr/local/apache/2.2.8 /usr/local/apache/current
server:/usr/local/src/httpd-2.2.8# addgroup www
server:/usr/local/src/httpd-2.2.8# useradd -g www www
server:/usr/local/src/httpd-2.2.8# mkdir /var/www
server:/usr/local/src/httpd-2.2.8# chown -R www:www /var/www
server:/usr/local/src/httpd-2.2.8# ln -s /usr/local/apache/current/bin/apachectl /etc/init.d/apache

zurück nach Oben

PHP

Ebenfalls sollte die aktuelle PHP-Version heruntergeladen und entpackt werden.

server:~# cd /usr/local/src
server:/usr/local/src# wget http://de.php.net/get/php-5.2.6.tar.gz/from/this/mirror
server:/usr/local/src# tar xvzf php-5.2.6.tar.gz
server:/usr/local/src# cd php-5.2.6

Vor der Konfiguration müssen noch einige Bibliotheken installiert werde.

server:/usr/local/src# apt-get install libjpeg62-dev libpng12-dev libxpm-dev libxml2-dev libttf-dev libfreetype6-dev libt1-dev libmcrypt-dev

Nach der Installation der Bibliotheken muss PHP konfiguriert werden.

server:/usr/local/src/php-5.2.6# ./configure –enable-sysvshm –enable-sysvsem –enable-sysvmsg –enable-sockets –with-mysql-sock=/var/run/mysqld/mysqld.sock –with-mysql=/usr/local/mysql/current/ –with-zlib-dir=/usr/local –disable-ipv6 –disable-debug –with-apxs2=/usr/local/apache/current/bin/apxs –with-config-file-path=/etc –prefix=/usr/local/php/5.2.6 –sysconfdir=/etc –with-gd –with-gettext –with-mcrypt –with-mime-magic –with-pear=/usr/local/php/5.2.6/ –enable-calendar –enable-zip –with-libxml-dir=/usr/local –enable-mbstring –enable-exif –with-jpeg-dir=/usr/local –with-xpm-dir=/usr/local –with-t1lib –with-xpm-dir=/usr/local –with-png-dir=/usr/local –with-ttf –with-pdo-mysql=/usr/local/mysql/current/ –with-freetype-dir=/usr/local –enable-bcmath

Nun fangen wir an zu kompilieren

server:/usr/local/src/php-5.2.6# make && make install

zurück nach Oben

httpd.conf anpassen

Abschließend muss die httpd.conf dahin gehend angepasst werden, dass der Apache auch PHP interpretiert und die index.php automatisch anzeigt.

Datei: /etc/apache2/httpd.conf

suchen (Zeile 29):

ServerRoot „/usr/local/apache/2.2.8“

ersetzten durch:

ServerRoot „/usr/local/apache/current“

suchen (Zeile 93 – 94):

User daemon
Group daemon

ersetzten durch:

User www
Group www

suchen (Zeile 116):

ServerAdmin you@example.com

ersetzten durch:

ServerAdmin deineEmail

suchen (Zeile 132):

DocumentRoot /usr/local/apache/2.2.8/htdocs

ersetzten durch:

DocumentRoot /var/www

suchen (Zeile 159):

<Directory „/usr/local/apache/2.2.8/htdocs“>

ersetzten durch:

<Directory „/var/www“>

suchen (Zeile 194):

DirectoryIndex index.html

ersetzten durch:

DirectoryIndex index.php index.html

suchen (Zeile 214):

ErrorLog „logs/error_log“

ersetzten durch:

ErrorLog „/var/log/apache2/error.log“

suchen (Zeile 243):

CustomLog „logs/access_log“

ersetzten durch:

CustomLog „/var/log/apache2/access.log“

suchen (Zeile 279):

ScriptAlias /cgi-bin/ „/usr/local/apache/2.2.8/cgi-bin“

ersetzten durch:

ScriptAlias /cgi-bin/ „/usr/local/apache/current/cgi-bin/“

suchen (Zeile 295):

<Directory „/usr/local/apache/2.2.8/cgi-bin/“>

ersetzten durch:

<Directory „/usr/local/apache/current/cgi-bin/“>

suchen (Zeile 336):

AddType application/x-gzip .gz .tgz

ergänzen:

AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .php4 .phps

Nun muss der Apache nur noch neu gestartet werden und es können PHP-Script aufgerufen.

/etc/init.d/apache restart

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *