LAMP ist die Abkürzung für L inux, A pache, M ySQL, P PS. Dieses Tutorial zeigt, wie Sie einen Apache2-Webserver auf einem Fedora 20-Server mit PHP5-Unterstützung (mod_php) und MySQL-Unterstützung installieren können.
Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.
2 Installation von MySQL/MariaDB 5
Um MySQL zu installieren, gehen wir wie folgt vor:
yum install mysql mysql-server
Dann erstellen wir die Systemstart-Links für MySQL (damit MySQL automatisch startet, wenn das System hochfährt) und starten den MySQL-Server:
systemctl enable mysqld.service
Hinweis:Wenn Sie diesen Fehler erhalten
Failed to issue method call: No such file or directory
Verwenden Sie dann
systemctl enable mariadb.service
Starten Sie weiterhin den Dienst von mysql
systemctl start mysqld.service
Ausführen
mysql_secure_installation
um ein Passwort für den Benutzer root festzulegen (ansonsten kann jeder auf Ihre MySQL-Datenbank zugreifen!):
[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
HINWEIS:DAS AUSFÜHREN ALLER TEILE DIESES SKRIPTS WIRD FÜR ALLE MariaDB EMPFOHLEN
SERVER IM PRODUKTIONSEINSATZ! BITTE JEDEN SCHRITT SORGFÄLTIG DURCHLESEN!
Um sich bei MariaDB anzumelden, um sie zu sichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade installiert und
das Root-Passwort noch nicht festgelegt haben, ist das Passwort leer,
sollten Sie hier einfach die Eingabetaste drücken.
Enter Aktuelles Passwort für Root (Eingabe für keine): <-- ENTER
OK, erfolgreich verwendetes Passwort, weiter ...
Das Festlegen des Root-Passworts stellt sicher, dass sich niemand bei der MariaDB anmelden kann
Root-Benutzer ohne die entsprechende Berechtigung.
Root-Passwort festlegen? [Y/n] <-- ENTER
Neues Passwort: <-- yourrootsqlpassword
Neues Passwort erneut eingeben: <-- yourrootsqlpassword
Passwort erfolgreich aktualisiert!
Berechtigungstabellen werden neu geladen. .
... Erfolg!
Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer, sodass jeder
sich bei MariaDB anmelden kann, ohne ein Benutzerkonto haben zu müssen für
sie erstellt. Dies ist nur zum Testen sollte und damit die Installation
etwas flüssiger läuft. Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.
Anonyme Nutzer entfernen? [Y/n] <-- ENTER
... Erfolgreich!
Normalerweise sollte root nur erlaubt werden, sich von 'localhost' aus zu verbinden. Dies
stellt sicher, dass niemand das Root-Passwort aus dem Netzwerk erraten kann.
Root-Anmeldung aus der Ferne nicht zulassen? [Y/n] <-- EINGABE
... Erfolg!
MariaDB wird standardmäßig mit einer Datenbank namens "test" geliefert, auf die jeder
zugreifen kann. Dies ist auch nur zum Testen vorgesehen und sollte entfernt werden
bevor in eine Produktionsumgebung umgezogen wird.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <-- ENTER
- Testdatenbank wird gelöscht...
... Erfolg!
- Berechtigungen für Testdatenbank entfernen...
... Erfolg !
Durch das Neuladen der Berechtigungstabellen wird sichergestellt, dass alle bisher vorgenommenen Änderungen
sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] <-- EINGABE
... Erfolgreich!
Aufräumen ...
Alle fertig! Wenn Sie alle oben genannten Schritte ausgeführt haben, sollte Ihre MariaDB-Installation
jetzt sicher sein.
Vielen Dank, dass Sie MariaDB verwenden!
[[email protected] ~]#
3 Installieren von Apache2
Apache2 ist als Fedora-Paket verfügbar, daher können wir es wie folgt installieren:
yum install httpd
Konfigurieren Sie nun Ihr System so, dass Apache beim Booten gestartet wird...
systemctl enable httpd.service
... und Apache starten:
systemctl start httpd.service
Leiten Sie nun Ihren Browser zu http://192.168.0.100, und Sie sollten die Apache2-Platzhalterseite sehen:
Apaches Standard-Dokumentenstammverzeichnis ist /var/www/html auf Fedora, und die Konfigurationsdatei ist /etc/httpd/conf/httpd.conf. Zusätzliche Konfigurationen werden im Verzeichnis /etc/httpd/conf.d/ gespeichert.
4 Installation von PHP5
Wir können PHP5 und das Apache PHP5-Modul wie folgt installieren:
yum install php
Danach müssen wir Apache neu starten:
systemctl restart httpd.service
5 Testen von PHP5 / Abrufen von Details zu Ihrer PHP5-Installation
Das Dokumentenstammverzeichnis der Standardwebsite ist /var/www/html. In diesem Verzeichnis erstellen wir nun eine kleine PHP-Datei (info.php) und rufen sie in einem Browser auf. Die Datei zeigt viele nützliche Details über unsere PHP-Installation an, wie z. B. die installierte PHP-Version.
vi /var/www/html/info.php
<?php phpinfo(); ?> |
Nun nennen wir diese Datei in einem Browser (z. B. http://192.168.0.100/info.php):
Wie Sie sehen, funktioniert PHP5 und es funktioniert über den Apache 2.0 Handler, wie in der Server-API-Zeile gezeigt. Wenn Sie weiter nach unten scrollen, sehen Sie alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgeführt, was bedeutet, dass wir noch keine MySQL-Unterstützung in PHP5 haben.
6 MySQL-Unterstützung in PHP5 erhalten
Um MySQL-Unterstützung in PHP zu erhalten, können wir das Paket php-mysql installieren. Es ist eine gute Idee, einige andere PHP5-Module zu installieren, die Sie möglicherweise für Ihre Anwendungen benötigen. Sie können wie folgt nach verfügbaren PHP5-Modulen suchen:
yum search php
Wählen Sie die benötigten aus und installieren Sie sie wie folgt:
yum install php-mysqlnd php-mssql php-opcache
Starten Sie nun Apache2 neu:
systemctl restart httpd.service
Laden Sie nun http://192.168.0.100/info.php in Ihrem Browser neu und scrollen Sie erneut nach unten zum Modulbereich. Dort sollten Sie jetzt viele neue Module finden, einschließlich des MySQL-Moduls:
7 phpMyAdmin
phpMyAdmin ist eine Webschnittstelle, über die Sie Ihre MySQL-Datenbanken verwalten können.
phpMyAdmin kann wie folgt installiert werden:
yum install phpmyadmin
Jetzt konfigurieren wir phpMyAdmin. Wir ändern die Apache-Konfiguration so, dass phpMyAdmin Verbindungen nicht nur von localhost zulässt (indem wir alles in der Zeilengruppe
vi /etc/httpd/conf.d/phpMyAdmin.conf
# phpMyAdmin - Web based MySQL browser written in php # # Allows only localhost by default # # But allowing phpMyAdmin to anyone other than localhost should be considered # dangerous unless properly secured by SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <Directory /usr/share/phpMyAdmin/> # <IfModule mod_authz_core.c> # # Apache 2.4 # <RequireAny> # Require ip 127.0.0.1 # Require ip ::1 # </RequireAny> # </IfModule> # <IfModule !mod_authz_core.c> # # Apache 2.2 # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 # </IfModule> Require all granted </Directory> <Directory /usr/share/phpMyAdmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require ip 127.0.0.1 Require ip ::1 </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 </IfModule> </Directory> # These directories do not require access over HTTP - taken from the original # phpMyAdmin upstream tarball # <Directory /usr/share/phpMyAdmin/libraries/> Order Deny,Allow Deny from All Allow from None </Directory> <Directory /usr/share/phpMyAdmin/setup/lib/> Order Deny,Allow Deny from All Allow from None </Directory> <Directory /usr/share/phpMyAdmin/setup/frames/> Order Deny,Allow Deny from All Allow from None </Directory> # This configuration prevents mod_security at phpMyAdmin directories from # filtering SQL etc. This may break your mod_security implementation. # #<IfModule mod_security.c> # <Directory /usr/share/phpMyAdmin/> # SecRuleInheritance Off # </Directory> #</IfModule> |
Starten Sie Apache neu:
systemctl restart httpd.service
Danach erreichen Sie phpMyAdmin unter http://192.168.0.100/phpmyadmin/:
8 Links
- Apache:http://httpd.apache.org/
- PHP:http://www.php.net/
- MySQL:http://www.mysql.com/
- Fedora:http://fedoraproject.org/
- phpMyAdmin:http://www.phpmyadmin.net/