• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Wie konfiguriere ich Apache mit php richtig?

cabriofahrer

Well-Known Member
Themenstarter #1
Ich möchte Apache mit php haben, um php-Skripte zu erstellen und im Browser schnell testen zu können. Unter Windows hat man es da ganz einfach, man braucht nur Xampp zu installieren und schon kann man quasi loslegen.

Die Anleitungen hier im WIKI sind total veraltet, ich habe im Internet noch folgende Anleitungen gefunden, jedoch bin ich mir bei einigen Dingen nicht ganz sicher:

https://www.iceflatline.com/2011/11/how-to-install-apache-mysql-php-and-phpmyadmin-on-freebsd/

https://www.tecmint.com/install-apache-mariadb-and-php-famp-stack-on-freebsd/

Also Apache24 habe ich erfolgreich installiert, es funktioniert auch (http://localhost -> "It works!"), ebenso php71, php71-extensions und mod_php71.

Also ich nehme an, ich muss jetzt in /usr/local/etc/apache24/httpd.conf noch "DirectoryIndex index.html index.php" eintragen. Soweit, so gut.

Doch muss ich jetzt

cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini (sagt die eine Anleitung)

oder

/usr/local/etc/apache24/Includes/php.conf erstellen mit dem Inhalt

Code:
<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

oder beides?

Andererseits meldet mod_php71 bei der Installation

Code:
Message from mod_php71-7.1.22:

***************************************************************

Make sure index.php is part of your DirectoryIndex.

You should add the following to your Apache configuration file:

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

*********************************************************************

If you are building PHP-based ports in poudriere(8) with ZTS enabled,
add WITH_MPM=event to /etc/make.conf to prevent build failures.
Demnach soll dieser Inhalt also in die httpd.conf?

Also was nun genau?
 

Andy_m4

Well-Known Member
#5
Ich möchte Apache mit php haben, um php-Skripte zu erstellen und im Browser schnell testen zu können.
Apache einrichten und PHP ist eigentlich keine große Sache als das man da jetzt großartig auf irgendwelche Tutorials oder Howtos angewiesen ist.

Also ich nehme an, ich muss jetzt in /usr/local/etc/apache24/httpd.conf noch "DirectoryIndex index.html index.php" eintragen.
Nur wenn die index.php als Indexfile fungieren soll. Ich hab so das Gefühl, Du tippst blind was ein ohne eigentlich zu wissen, was Du da genau machst.
 

cabriofahrer

Well-Known Member
Themenstarter #6
Ich hatte ja oben bereits erwähnt, wozu ich das brauche:

Ich möchte Apache mit php haben, um php-Skripte zu erstellen und im Browser schnell testen zu können. Unter Windows hat man es da ganz einfach, man braucht nur Xampp zu installieren und schon kann man quasi loslegen.
Deshalb wusste ich am Anfang leider tatsächlich nicht, was ich genau machen musste. Welche Indexfile angezeigt werden soll, ist mir eigentlich egal. index.php ist jedefalls informativer als ein "It works!".

Was ich gerne noch gewusst hätte, ist ob für meine Zwecke

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

nun nötig war oder nicht und warum.
 

gadean

Well-Known Member
#8
cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini (sagt die eine Anleitung)

oder

/usr/local/etc/apache24/Includes/php.conf erstellen mit dem Inhalt
Das eine hat mit dem anderen nichts zu tun.
Die php.ini steuert wie sich PHP verhält, das andere ist die Einbindung von PHP in Apache.
Man kann zwar in der Config vom Apache, Parameter für PHP setzten empfehlenswert ist das jedoch nicht.

Da du den Server fürs testen benutzten willst würde ich nicht die "php.ini-production" benutzten, sondern die "php.ini-development", damit ist PHP im Fehlerfall gesprächiger, ABER das solltest du wirklich nur machen wenn der Server nicht öffentlich ist/produktiv eingesetzt wird!
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#9
Und ganz ohne php.ini landet man auf den sehr konservativen Standardeinstellungen, in denen viele PHP-Anwendungen schon am Speicherlimit scheitern. Außer sie überschreiben es selbst.
 

cabriofahrer

Well-Known Member
Themenstarter #10
Vielen Dank, ich erfreue mich immerwieder in Ehrfurcht über die hoch qualifizierten Antworten, die man hier bekommt!
Und was stellt XAMPP unter Windows dann eigentlich genau zur Verfügung? Ist es denkbar, das es Personen oder gar Unternehmen gibt, die mit Windows, XAMPP und zwei Mausklicks einen Apache Server betreiben?

Und wo kann man sich besser zum Thema Sicherheit unter Apache einlesen?
 

gadean

Well-Known Member
#11
Xampp stellt ein vorkonfigurierten Apache mit PHP und Perl, sowie einer Datenbank (MariaDB) zur Verfügung. Das Angebot richtet sich primär an Entwickler + soll bei dem Einstieg helfen (da eben alles vorkonfiguriert ist und einfach läuft).
Theoretisch könnte man das Zeug auch produktiv einsetzten, immerhin ist es nur ein Apache, PHP, Perl und Datenbank, jedoch müsste man die Konfiguration ändern, da die eben aufs entwickeln ausgelegt ist und das System im Fehlerfall sehr gesprächig ist (zumindest habe ich es so in Erinnerung).

Generell gilt (meiner Meinung nach): Man sollte nichts einfach ins öffentliche Netz hängen, ohne die Settings vorher verstanden zu haben. Gerade default Settings können gefährlich werden, wenn man zb. ein Update macht und der/die Entwickler auf die Idee kamen die Defaults so zu ändern das das Stück Software mehr von sich preisgibt als nötig oder andere tolle Sachen.

Am besten geeignet sind wohl die Docs der jeweiligen Software und dann sollte man überlegen "brauch ich das wirklich?". Apache zb. hat sehr viele Module die geladen werden, aber die meisten brauch man gar nicht wenn man nur einen einfachen Webserver betreiben will.