View previous topic :: View next topic |
Author |
Message |
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Sat Apr 09, 2005 9:34 am Post subject: kleine "GAMP"-Howto |
|
|
Es soll ein Gentoosystem mit Apache, Mysql und PHP (GAMP ) aufgesetzt werden. Die beschriebene Vorgehensweise ist geeignet für die Installationen auf kleineren Webserver die keine besonderen Anforderungen an die Sicherheit stellen. Einige kleine Hinweise zu Thema Sicherheit werden jedoch erwähnt. Auf die weitere Konfiguration der Dienste wird nicht eingegangen.
Zuerst mergen wir Apache. In dem Fall wird automatisch Apache2 installiert. Dabei ist nicht viel zu beachten. Wer benötigt sollte die USE-Flags ssl und threads setzen.
Als nächstes kommt die Mysql-Datenbank. Das Useflag berkdb sollte bei Bedarf genutzt werden.
Falls nicht schon während des emergens geschehen müssen wir die mysql erstmal initialisieren. Hierbei wird die Systemdatenbank mysql sowie ein Account für root angelegt.
Code: | /usr/bin/mysql_install_db |
Als nächstes legen wir ein Passwort für root fest (in diesem Fall new-password). Dazu müssen wir mysql starten.
Code: | /etc/init.d/mysql start
/usr/bin/mysqladmin -u root -h `hostname` password 'new-password'
/usr/bin/mysqladmin -u root password 'new-password' |
[OPTIONAL]
Aus Sicherheitsgründen wird die Umbennung des root-Accounts empfohlen. In diesem Beispiel auf den User dummy. Das Passwort bleibt hierbei das Gleiche wie zuvor gesetzt.
Code: | mysql -u root -p -B --execute="update user set user='dummy' where user='root'; flush privileges;" mysql |
Zum Verständnis sei hierbei erwähnt das der Nutzer nicht im System existieren muss, da die mysql-Benutzerverwaltung unabhängig von der Benutzerverwaltung des System arbeitet. Durch das umbenennen von root wird nur erreicht das einem potenziellen Einbrechner nicht schon der Name des root-Accounts (nämlich standartmäßig root) bekannt ist. Man sollte nur zukünftig darauf achten statt root immer den gewählten Benutzernamen zu verwenden.
[/OPTIONAL]
Nun Php. Dazu benötigen wir die Pakete php und mod_php. Da Php und mod_php viele Useflags ermöglichen empfiehlt sich das eintragen der Useflags in /etc/portage/package.use. Die Useflag mysql muß für beide, das Useflag apache2 für mod_php gesetzt werden. Es wird empfohlen ebenso die Useflags hardenedphp und memlimit für die Sicherheit zu setzen. Alle anderen Useflags sollten je nach Bedarf gesetzt werden.
Auszug /etc/portage/package.use
Code: | dev-php/php mysql hardenedphp memlimit
dev-php/mod_php apache2 mysql hardenedphp memlimit |
Jetzt mergen wir Php
Nach der Installation von Php sollte man prüfen ob der Eintrag mysql.default_socket in der Datei /etc/php/apache2-php4/php.ini bzw. /etc/php/cli-php4/php.ini gleich dem Eintrag in socket im Abschnitt [mysqld] in /etc/mysql/my.cnf ist. Ggf. müssen die beiden php.ini entsprechend editiert werden.
Code: | cat /etc/mysql/my.cnf | grep -E "^\[|^socket"
cat /etc/php/apache2-php4/php.ini | grep mysql\.default_socket
cat /etc/php/cli-php4/php.ini | grep mysql\.default_socket |
Als nächstes sorgen wir dafür das Php mit Apache geladen wird. Dies wird erreicht durch das ergänzen des Eintrages APACHE2_OPTS um -D PHP4 in /etc/conf.d/apache. Wurde Apache mit dem Useflag ssl kompiliert muss hier auch ein -D SSL stehen.
Auszug /etc/conf.d/apache2
Code: | APACHE2_OPTS="-D SSL -D PHP4" |
So, das wars. Apache noch starten und alles sollte soweit funktionieren.
Feedback welcome.
Verwendete Versionen: apache-2.0.52-r1, mysql-4.0.24, php-4.3.10, mod_php-4.3.10
Last edited by slick on Wed Apr 13, 2005 7:51 am; edited 3 times in total |
|
Back to top |
|
|
hds Advocate
Joined: 21 Aug 2004 Posts: 2629 Location: Sprockhoevel [GER]
|
Posted: Sat Apr 09, 2005 11:05 am Post subject: |
|
|
speziell bei php wuerde ich noch das USEflag "session" erwaehnen.. denn ohne session support ist php eher sinnfrei |
|
Back to top |
|
|
Neo_0815 l33t
Joined: 24 Feb 2003 Posts: 815 Location: Leipzig
|
|
Back to top |
|
|
hds Advocate
Joined: 21 Aug 2004 Posts: 2629 Location: Sprockhoevel [GER]
|
Posted: Sat Apr 09, 2005 11:57 am Post subject: |
|
|
Neo_0815 wrote: |
SessionHandler gibts auch mit Database Backend ohne das man PHP dazu braucht |
darum gings mir nicht.
wer sich PHP installiert, der will auch sessions haben. sorum wird ein schuh draus
mediawiki, nuke, phpBB, usw usw.. all diese dinge laufen ohne php sessions nicht. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Sat Apr 09, 2005 12:01 pm Post subject: |
|
|
Sessions? Evt. sprichst Du ja von PHP5...
Code: | # emerge -pv php mod_php
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] dev-php/php-4.3.10 -X +berkdb +crypt +curl* -debug -doc -fdftk -firebird -flash -freetds +gd -gd-external -gdbm -gmp +hardenedphp -imap -informix -ipv6 -java +jpeg -kerberos -ldap -mcal +memlimit -mssql +mysql +ncurses +nls -oci8 -odbc +pam +pdflib +png -postgres -qt +readline +snmp -spell +ssl -tiff +truetype +xml2 -yaz 0 kB
[ebuild R ] dev-php/mod_php-4.3.10 -X +apache2 +berkdb +crypt +curl* -debug -doc -fdftk -firebird -flash -freetds +gd -gd-external -gdbm-gmp +hardenedphp -imap -informix -ipv6 -java +jpeg -kerberos -ldap -mcal +memlimit -mssql +mysql +nls -oci8 -odbc +pam +pdflib +png -postgres -qt +snmp -spell +ssl -tiff +truetype +xml2 -yaz 0 kB
Total size of downloads: 0 kB |
|
|
Back to top |
|
|
hds Advocate
Joined: 21 Aug 2004 Posts: 2629 Location: Sprockhoevel [GER]
|
Posted: Sat Apr 09, 2005 12:24 pm Post subject: |
|
|
oops, sorry |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Sat Apr 09, 2005 12:26 pm Post subject: |
|
|
hds wrote: | oops, sorry |
Kein Problem ~hds , passiert
Ich ergänze mal oben die Versionen.. |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
|
Back to top |
|
|
Neo_0815 l33t
Joined: 24 Feb 2003 Posts: 815 Location: Leipzig
|
Posted: Sat Apr 09, 2005 3:43 pm Post subject: |
|
|
hds wrote: | Neo_0815 wrote: |
SessionHandler gibts auch mit Database Backend ohne das man PHP dazu braucht |
darum gings mir nicht.
wer sich PHP installiert, der will auch sessions haben. sorum wird ein schuh draus
mediawiki, nuke, phpBB, usw usw.. all diese dinge laufen ohne php sessions nicht. |
Ich hab PHP installiert weil ich die Sprache brauch - die Sessionfähigkeit aber nicht, je nach Nutzen also, PHP ohne Sessionhandling ist also sinnvoll! .
Gruß _________________ [img:76661e22b8]http://www.biersekte.de/biersektebanner.gif[/img:76661e22b8] |
|
Back to top |
|
|
hds Advocate
Joined: 21 Aug 2004 Posts: 2629 Location: Sprockhoevel [GER]
|
Posted: Sat Apr 09, 2005 3:53 pm Post subject: |
|
|
Neo_0815 wrote: |
Ich hab PHP installiert weil ich die Sprache brauch - die Sessionfähigkeit aber nicht, je nach Nutzen also, PHP ohne Sessionhandling ist also sinnvoll! .
|
da kann man auch ueber des kaisers bart diskutieren, echt <sorry>
fuer die meisten nutzer duerfte php ohne sessions kaum sinnvoll sein. und die nutzen auch nicht HORDE
SCNR |
|
Back to top |
|
|
the-pugnacity Apprentice
Joined: 20 Dec 2004 Posts: 236 Location: Germany//Berlin
|
Posted: Sun Apr 10, 2005 12:53 pm Post subject: |
|
|
was die sicherheit noch steigern könnte ware die option Open_basedir in der Apache2.conf
damit kann man php zu bringen nur noch auf bestimmte verzeichnisse zu zugreifen. _________________ Gentoo 2.6.12-gentoo // Pentium4 2800 || Aopen XC Cube || TwinMOS 1024 MB PC 3200 || 250GB Hitachi 7k250 || Aopen Aeolus FX5900XT || MX500 |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Sun Apr 10, 2005 1:44 pm Post subject: |
|
|
Wenn wir schonmal beim Thema sind, ein
Code: | <IfModule mod_mime.c>
AddType application/x-httpd-php .inc
</IfModule> |
sorgt dafür das die weit verbreiteten *.inc als PHP-Files behandelt werden und somit nicht einfach als Text ausgelesen werden können. |
|
Back to top |
|
|
|