[{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}]