Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
kleine "GAMP"-Howto
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3489

PostPosted: Sat Apr 09, 2005 9:34 am    Post subject: kleine "GAMP"-Howto Reply with quote

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.
Code:
emerge apache

Als nächstes kommt die Mysql-Datenbank. Das Useflag berkdb sollte bei Bedarf genutzt werden.
Code:
emerge mysql

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
Code:
emerge php mod_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
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Apr 09, 2005 11:05 am    Post subject: Reply with quote

speziell bei php wuerde ich noch das USEflag "session" erwaehnen.. denn ohne session support ist php eher sinnfrei ;)
Back to top
View user's profile Send private message
Neo_0815
l33t
l33t


Joined: 24 Feb 2003
Posts: 815
Location: Leipzig

PostPosted: Sat Apr 09, 2005 11:53 am    Post subject: Reply with quote

Warum?
SessionHandler gibts auch mit Database Backend ohne das man PHP dazu braucht, siehe Horde Framework.

MfG

PS: Warum nehmen eigentlich alle mysql, postgresql ist doch sone schöne DB.
_________________
[img:76661e22b8]http://www.biersekte.de/biersektebanner.gif[/img:76661e22b8]
Back to top
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Apr 09, 2005 11:57 am    Post subject: Reply with quote

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
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3489

PostPosted: Sat Apr 09, 2005 12:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Apr 09, 2005 12:24 pm    Post subject: Reply with quote

oops, sorry :oops: :lol:
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3489

PostPosted: Sat Apr 09, 2005 12:26 pm    Post subject: Reply with quote

hds wrote:
oops, sorry :oops: :lol:


Kein Problem ~hds ;-), passiert

Ich ergänze mal oben die Versionen..
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3489

PostPosted: Sat Apr 09, 2005 2:57 pm    Post subject: Reply with quote

Post "neues ebuild-format" hierhin herausgelöst -> http://forums.gentoo.org/viewtopic-t-321551.html
Back to top
View user's profile Send private message
Neo_0815
l33t
l33t


Joined: 24 Feb 2003
Posts: 815
Location: Leipzig

PostPosted: Sat Apr 09, 2005 3:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
hds
Advocate
Advocate


Joined: 21 Aug 2004
Posts: 2629
Location: Sprockhoevel [GER]

PostPosted: Sat Apr 09, 2005 3:53 pm    Post subject: Reply with quote

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 :lol:
SCNR
Back to top
View user's profile Send private message
the-pugnacity
Apprentice
Apprentice


Joined: 20 Dec 2004
Posts: 236
Location: Germany//Berlin

PostPosted: Sun Apr 10, 2005 12:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3489

PostPosted: Sun Apr 10, 2005 1:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum