[{TableOfContents title='Inhaltsverzeichnis'}] 

!!!LAMP (Linux Apache2 MySQL PHP)


!![UNIX Linux Grundlagen|Linuxcore]
* ls -la // listet alle Dateien auf auch "versteckte" und zeigt Sym-Links an


![Linux Debian Installation| debiannetinstall]
* wir installieren ein normales Debian (testing)
* [Netinstall Image | http://cdimage.debian.org/cdimage/etch_di_beta3/i386/iso-cd/debian-testing-i386-netinst.iso]

''Selbst ein Huhn kann Debian installieren wenn man genug körner auf die Enter Taste legt! '' 
(ka.: von wo ich das mal wieder habe)

;:Von ThomasBayen, der aus dem [Debian Installations Manual|http://www.debian.org/releases/woody/i386/ch-rescue-boot.en.html#s-dbootstrap-title] und letztlich erfunden hat es das [Linux Journal|http://www.linuxjournal.com/article/0172].

die Dienste installieren 
{{{

>#phpmyadmin wir zu verwaltung von mysql verwendet

>$ apt-get install apache2 php5 libapache2-mod-php5 php-pear libapache2-mod-perl2 mysql-server phpmyadmin

}}}

{{{
in der schule brauche ich einen proxy für apt 
das geht so 

http_proxy=http://username:password@host:port/
export http_proxy

}}}

module des apache2 aktivieren // linken von /etc/apache2/mods-available/ nach /etc/apache2/mods-enabled/

>$ a2enmod userdir && a2enmod perl && a2enmod cgi && a2enmod php5 && a2enmod ssl


>$ cd /etc/apache2/


!!userdir
{{{

#nano mods-enabled/userdir.conf

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        </Directory>
        #für CGI
         <Directory /home/*/public_html/cgi-bin>
                #cgi ausführen in cgi-bin
                AddHandler cgi-script .cgi .sh .pl
                 Options +ExecCGI
        </Directory>


</IfModule>

## nun ist cgi im Apache von jedem user gestatet im cgi-bin ordner seines webauftrittes


}}}

>$ apache2ctl restart


>$  adduser webtest

>$ su - webtest
>$ mkdir -p public_html/cgi-bin
>$ cd public_html/cgi-bin


{{{
ein kleines Test script
# -- > Premature end of script headers <<--- wer das bekommt in seiner /var/log/apache2/error.log
# der hat 1. sein script nicht ausfürbar gemacht 2. den cgi handler nicht richtig configuriert 3. Content-type: text/plain bsp. ist nicht #gesetzt in perl 2x \n\n in der shell echo && echo sowie 2 leerstellen   um Body vom Header zu trennen 

## /home/webtest/public_html/cgi-bin/test.pl

#!/usr/bin/perl -w   
#  ^ dies ist wichtig für alle Scripte
print "Content-type: text/plain\n\n";

$a = 1;
$b = 4;
$c = $a + $b;
$d = $a . $b;

print "$c\n";
print "$d\n";

}}}

und es geht --> einfach http://localhost/~webtest/cgi-bin/test.pl eingeben und kucken

!!phpMyAdmin

>$ dpkg-reconfigure phpmyadmin
# apache2 neustarten 

{{{

## php geht von hause aus 

und um den phpmyadmin zu konfigurieren tippen wir im browser http://localhost/phpmyadmin/scripts/setup.php
## und einstellen

http://localhost/phpmyadmin/ kann dann die datenbank angesehen werden 

}}}

!!MySQL

{{{
# mysql konfigurieren

##/etc/mysql/my.cnf

von old_passwords  = 1 nach #old_passwords  = 1

alles was mit log anfängt auskommentieren -> wir brauchen kein LOG 

## angeben wo gespeichert werden soll
datadir         = /var/lib/mysql
## wenn geändert muss man 
## >$ mysql_install_db
## aufrufen

}}}


!!SSL unter dem Apache2


{{{
>$aptitude install openssl 

# generieren eines privaten Serverschlüssels.
openssl genrsa -out server.key -des3 1024

#generieren einer Zertifikatsanfrage mit dem privaten Schlüssel
openssl req -new -key server.key -out server.csr

#erstelle ein server.key
openssl req -new -x509 -days 1460 -key server.key -out server.crt

## da wir faul sind immer ein  pw einzutippen einfach einbauen
openssl rsa -in server.key -out server_neu.key

<< in die default tragen wir nun ein >>
 SSLEngine on
 SSLCertificateFile /etc/apache2/ssl2/server.crt
 SSLCertificateKeyFile /etc/apache2/ssl2/server_neu.key
<< ENDE >>
-- nun geht ssl über localhost
-- *


}}}

----
__Links:__

[Apache Infos |http://www.jfranken.de/homepages/johannes/vortraege/apache_inhalt.de.html]
[Apache Infos2|http://www.html-world.de/program/apache_9.php]

Author: [JensKapitza]


[{Tag Apache Datenbank}]