!!LAMP (Linux Apache2 MySQL PHP)
{{{
UNIX Linux Grundlagen
ls -la // listet alle Dateien auf auch "versteckte" und zeigt Sym-Links an
}}}
wir installieren ein normales Debian (testing)
die Netinstall CD findet man auf ::
[[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)
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
>$ 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 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
}}}