Erstellen einer LAMP-Server mit dem Raspberry Pi

Erstellen einer LAMP-Server (Web-Server – Linux Apache MySQL PHP) mit dem Raspberry Pi

Hier sehen Sie Details, wie man einen Raspberry Pi als Webserver konfigurieren. Dies ist vergleichbar mit der Anleitung zur Verwendung von Xubuntu als LAMP Webserver , fügt aber hinzu, einige der Dinge, die für den Raspberry Pi anders behandelt werden müssen.

Es ist ein LAMP-Server, die eine der häufigsten Konfiguration für Webserver die Standard für ist genannt:
L inux – Betriebssystem
Ein pache – Software Webserver (http)
M ysql – Datenbankserver
P HP oder Perl – Programmiersprachen

Diese Einstellung ist wahrscheinlich übertrieben für die meisten Anwendungen der Raspberry Pi, aber es ist das Setup, das die meisten Benutzer kennen und ist ein guter Weg, um über das Einrichten eines Webservers zu lernen. Ich werde mich auf die Einrichtung einer leichten Setup in der Zukunft.

All diese Konfiguration in der Befehlszeile erfolgen. Das ist zwar nicht ganz so einfach wie das Klicken auf ein paar Symbole, aber es hat viele Vorteile, einschließlich der Fähigkeit zur Remote-Verwaltung und installieren Sie den Server neu. Es bedeutet auch, dass der Computer von mehr ausgeben, es ist Zeit-Server auf Web-Seiten und weniger Prozessorzeit Zeichnen einer GUI, die ja der ganze Sinn eines Webservers ist.

Warum wird die Pi?

Die Vermeidung der geeking Antwort “weil ich” Ich denke, es gibt einige gute Gründe dafür.

Lernen Linux Das Hauptziel dieser Website ist es, Linux-Kenntnisse zu vermitteln. Der beste Weg, dies zu tun ist, um tatsächlich etwas zu tun. Dies ist so gut wie jeder einen Platz, um zu starten.

Lernen Web-Programmierung Das Ziel der Raspberry Pi Foundation ist auf die Programmierung, um Kinder zu unterrichten. Programmieren lernen Web-basierte Anwendungen können eine nützliche Fähigkeit zu lernen. Es ist fraglich, ob es besser ist, zu lernen, um eine Desktop-Anwendung, bevor Web-Programmierung oder umgekehrt zu programmieren, aber es ist sicherlich etwas, das eine nützliche Fähigkeit zu erlernen ist.

Als Schnittstelle Die Himbeer Pi ist nützlich als eine Einrichtung zum Sammeln von Information von verschiedenen Sensoren. Ein Web-Server kann eine gute Möglichkeit für den Zugriff auf diese Informationen ist.

Dedizierte Netzwerkgerät Man könnte es als Netzwerkdienst für zu Hause verwenden. Vielleicht Streaming-Videos / Medien usw..

Als Test- oder Entwicklungsserver Bei der Erstellung einer Web-Anwendung es sinnvoll, einen dedizierten Server, um die Anwendung zu testen ist. Im Idealfall sollten die gleiche Hardware und Software, um die Produktion zu sein, aber wenn das nicht möglich ist, die Raspberry Pi könnte eine kostengünstige Alternative sein.

Als echter Webserver Auf den ersten, ich würde setzen, es wäre dumm, um diese als Produktions Webserver ausgeführt werden. Dann dachte ich an den Server zurück Ich lief meine persönliche Blog-Website , vor zu gehen im Jahr 2007 veranstaltet, war nicht viel mächtiger als die Raspberry Pi ist. Es hatte ein wenig mehr Speicher, aber mein Server wurde eine vollständige WordPress-Seite sowie einige CGI-Skripte ausgeführt werden. In diesen Tagen Websites neigen dazu, mehr dynamische Inhalte und größere Dateien enthalten, aber wenn Sie verwenden es für persönlichen Website dann kann es ausreichend sein.

Debian Linux

Dies basiert auf der Debian Raspberry Pi Bild von der Basis Raspberry Pi-Download -Seite.

Dazu folgen Sie dann wird der Raspberry Pi müssen eine Internetverbindung verfügen. Diese Anleitung setzt voraus, dass es physisch mit einem Heim-Router verbunden.

Sicherheit

Die erste Priorität ist es, die Raspberry Pi ein wenig sicherer zu machen. Das Bild enthält ein Standard-Benutzernamen und Passwort, die einmal mit dem Internet verbunden wäre niemandem gestatten, um sich anzumelden und haben freien roam des Gerätes.

Um das Passwort für die pi Benutzer nach der Anmeldung in Frage ändern

passwd

und folgen Sie den Anweisungen zum Ändern des Passworts.

Vielleicht möchten Sie auch auf Ihren eigenen Benutzernamen hinzuzufügen. Ich habe user1 als Benutzername verwendet wird, aber in der Regel wird dies ein Personenname sein. Sie können dies überspringen und direkt auf die Leistung / Vernetzung vor, wenn dies nicht erforderlich ist.

Dies wird einen neuen Benutzer hinzufügen und ändern ihr Passwort.

 sudo useradd -m user1 sudo passwd user1

Hier sehen Sie die ersten Benutzung des sudo-Befehl, die wir verwenden werden eine Menge in diesem. Wie bereits der Befehl sudo verwendet, kann der Benutzer einen Befehl als Superuser zu erteilen. Ohne den sudo-Befehl würde dies nicht als normale Benutzer dürfen nicht an andere Benutzer erstellen. Dies ist eine Sicherheitsfunktion, die das System von anderen Benutzern schützt, sondern begrenzt auch die Höhe der Schäden, die ein Benutzer versehentlich tun können (obwohl, wenn mit dem Befehl sudo voran es wird nicht vor Unfällen zu helfen).

Der neue Benutzer benötigen, um bestimmte Gruppen hinzugefügt werden, um die gleichen Privilegien, die der Benutzer hatte pi ermöglichen.
Sie können den neuen Benutzer zu den Gruppen hinzufügen, mit dem Befehl usermod oder können Sie die Datei direkt zu bearbeiten. Ich habe die folgende durch Editieren der Datei, so dass Sie die Datei finden kann getan (es ist auch wohl ein wenig schneller als Sie können mehrere Änderungen während der Bearbeitung der Datei machen). Bitte beachten Sie, dass bei der Bearbeitung von Dateien, wie diese ein Fehler kann nicht in der Lage sich anmelden führen.

Es gibt zwei Kommandozeilen-Texteditoren. Die Nano-Editor ist die einfachste für neue Benutzer (so das ist, was ich habe, um genannt), aber ich empfehle das Erlernen der Texteditor vi , wie es ist nützliches Werkzeug, das auf allen Linux-Systemen installiert ist. Wenn Sie mit vi kennen dann ersetzen nano mit vi für den Rest dieses Handbuchs.

sudo nano /etc/group
Gehen Sie durch die Datei hinzufügen, user1 bis zum Ende alle Gruppen, dass pi ist.
zB
adm:x:4:pi,user1

Mit STRG-O, um zu speichern und die STRG-X, um nach der Bearbeitung der Datei zu beenden.

Das wichtigste ist das Admin-Eintrag als ohne, dass der Benutzer nicht in der Lage, sudo und daher führen Sie keine System-Administration sein. Natürlich, wenn Sie einen anderen Benutzer hinzufügen möchten, und wollen nicht, sie zu Admin-Zugang dann brauchen Sie nicht, um alle Updates der Datei / etc / group machen zu geben.

Art

exit
abmelden und nun unter dem neuen Benutzernamen anmelden, um zu überprüfen, dass es korrekt funktioniert.

Standardmäßig ist die Schale für den neuen Benutzer ist der Bourne-Shell. Die bash-Shell ist eine Verbesserung, dass es dem Benutzer ermöglicht der Pfeiltasten auf der Kommandozeile und Auto-Vervollständigung.

Um die Standard-Shell gesetzt neues Konto (wenn in unter diesem Konto angemeldet) verwenden:

chsh -s /bin/bash

Sie könnten nun den Benutzernamen pi entfernen, wenn sie nicht mehr benötigt wird.

userdel pi
Obwohl zum Zeitpunkt der Erstellung des aktuellen Bildes hatte einen Fehler in der passwd-Datei – die müssen mit zunächst den Befehl pwck befestigt werden.

Dies ist nur die Anfangsphase bei der Herstellung der Pi sicherer. Es gibt noch andere Aspekte, um die Sicherheit von Linux mit dafür sorgen, dass angemessene Sicherheitskorrekturen angewendet werden sobald sie verfügbar sind (z. Apt-get update).

Leistungsoptimierung des Betriebssystems

Performance-Tuning ist etwas, das Sie normalerweise erst später verlassen, aber im Fall der Raspberry Pi gibt es eine einzige Option, die getan werden kann, um die Leistung für Server zu verbessern. Von hier konfigurieren, dass wir lassen Sie es von der Neustart später spart uns mit, um den Server neu zu starten abgeholt.

Der Raspberry Pi hat 256 MB (512 MB oder höhere Versionen) RAM. Dieser RAM wird jedoch zwischen den Grafiken und der Hauptsystemspeicher genutzt. Standardmäßig werden 64 MB an Grafiken zugeordnet. Das ist übertrieben, wenn Sie nicht vorhaben, die grafische Oberfläche, wie im Fall von einem Server ausgeführt werden (oder selten). Um die Größe des Speichers für Grafiken zu 32 MB zu reduzieren geben Sie den folgenden Befehl ein.

sudo cp /boot/arm224_start.elf /boot/start.elf oder Verwendung sudo raspi-config , um diese mit dem Konfigurationsmenü zu tun

(Sie können die vorherige Konfiguration sudo cp /boot/arm192_start.elf /boot/start.elf wiederherzustellen)

Dies erfordert einen Neustart wirksam werden, aber wir werden später werden Neustart, so ist es nicht erforderlich, an dieser Stelle neu zu starten.

Einrichten von Netzwerk

Der nächste Schritt ist es, dem Raspberry Pi geben eine statische IP-Adresse. Dies ist ein wenig komplexer als es auf Ihrem eigenen Setup und welche Router Sie, wie Sie dieses Ziel zu erreichen, hängt.

Standardmäßig ist der Raspberry Pi wird eine dynamische IP-Adresse, die von Ihrem Router nach Bedarf ausgegeben wird beantragen. Dies kann jedoch in Zukunft, die machen es schwer, auf den Webserver zu verbinden ändern. Stattdessen bieten wir es mit einer Adresse, die sich nicht ändert, wie 192.168.1.4.
Beachten Sie, dass diese Adresse im lokalen Netzwerk über das Internet verwendet werden, aber nicht – später werden wir, die den Zugang durch Ihren Router / Firewall aus dem Internet suchen.

Zuerst herausfinden, welche DHCP-Adresse mit dem Befehl ifconfig zugewiesen worden – siehe untenstehende Extrakt

 ... eth0 Link encap:Ethernet HWaddr b8:27:eb:8a:71:a0 inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0 ...

Dieses sagt, dass der Ethernet-Anschluss 0 – eine IP-Adresse von 192.168.1.110

Sie müssen auch herausfinden, welche Adresse der Router mit dem Befehl Route

 $ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

Dies zeigt, dass die Router-IP-Adresse (Gateway) 192.168.1.1 ist und der gesamte Verkehr wird über diese Router gesendet.

An diesem Punkt werden Sie auch brauchen, auf welcher Adressbereich vom Router ausgegeben wird zu prüfen. Dies hängt von der einzelnen Router. In meinem Fall habe ich eine Belkin Wireless Router , die mit dem Hinweis einen Web-Browser auf die IP-Adresse des Routers 192.168.1.1 zu erreichen ist

Die LAN-Einstellungen sind wie folgt:

bc24-lansettings

In diesem Fall wird im lokalen Netzwerk gültige Adressen von 192.168.1.1 bis 192.168.1.254. Der Router ist mit der Adresse 192.168.1.1 und alle DHCP-Anforderungen in Einträge zwischen 192.168.1.100 und 192.168.1.150 (Sie können den Bereich der DHCP-Adressen bei Bedarf ändern) angegeben werden. Ich habe 192.168.1.4 für diesen Server verwendet.

Um statische IP-Adresse ändern

 cd /etc/network sudo nano interfaces

ersetzen Sie die Zeile “iface eth0 inet #dhcp” mit

 iface eth0 inet static address 192.168.1.4 netmask 255.255.255.0 gateway 192.168.1.1

Sie sollten auch einen Blick in die Datei /etc/resolv.conf nehmen

und überprüfen Sie es ein Nameserver eingetragen hat (wahrscheinlich zeigte auf den Standard-Gateway)
nameserver 192.168.1.1

Alternativ können Sie direkt in Ihrem Internet-Anbieter DNS-Server nicht zeigen konnte.

Während Sie können dynamisch laden Sie die Netzwerkschnitt Ich schlage vor, ein Neustart in dieser Phase um sicherzustellen, dass die Konfiguration korrekt ist.

sudo reboot

Nach der Anmeldung Prüfung mit ifconfig, um zu bestätigen, dass wir eine statische IP-Adresse

 ... eth0 Link encap:Ethernet HWaddr b8:27:eb:8a:71:a0 inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0 ...

Aktivieren ssh

SSH (Secure Shell) ist ein Netzwerkprotokoll, mit dem Sie sich anmelden und den Computer remote steuern über die Befehlszeile ermöglicht. Wie der Name sagt es ist sicher, da es verschlüsselt die Kommunikation über das Netzwerk (so dass andere nicht sehen können Ihr Passwort etc.). Es hat auch einige tolle Features wie Tunneln, die wir hier nicht eingehen.

Der SSH-Server auf dem Standard-Image installiert und wird standardmäßig gestartet. Sie können aktivieren / deaktivieren Sie den SSH-Server mit sudo raspi-config .

Sie können nun mit dem Raspberry Pi-Remote-Verbindung (im selben Netzwerk) über ssh.
Wenn Sie eine andere Linux-Rechner im Netzwerk haben, dann von einem Terminal laufen

ssh 192.168.1.4
was wird mit demselben Benutzernamen anmelden. Wenn Sie einen anderen Benutzernamen verwenden möchten, dann vorangestellt, dass vor der IP-Adresse mit einem @ -Zeichen.
zB
ssh user1@192.168.1.4

Ich glaube, dass ssh wird auch auf einem Mac installiert, so dass Sie wie oben die gleichen Befehle verwenden können.

Wenn Sie unter Windows eine Verbindung herstellen möchten, dann gibt es mehrere Optionen, aber ich schlage vor, die Open-Source-Software Putty .

Erstellen der Server im Internet

Weiter werden wir den Router mit ssh-Logins und Web-Verkehre durch seine Firewall, um den Raspberry Pi ermöglichen konfigurieren.

Sie haben vergessen, das Standardpasswort für den pi Benutzernamen Sie ändern nicht! Wenn Sie noch nicht das Standardkennwort geändert, dann tun Sie es jetzt sonst jemand in der Lage, um Ihre Raspberry Pi einloggen.

Als Privatanwender die IP-Adresse im lokalen Netzwerk verwendet wird, ist ein privater Adressbereich, der nicht über das Internet funktioniert. Statt Ihr ISP wird eine einzelne dynamische IP-Adresse, die vom Router verwendet wird. Damit Besucher auf das Internet, um Ihre Raspberry Pi fließen muss die IP-Adresse des Pi vorgenommen werden, um als ob es vom Router zu suchen. Dies ist ein Prozess, der Network Address Translation (NAT).

Die Ports, die durchgelassen werden müssen, sind Port 80 (#http) und wenn Sie möchten in der Lage sein, um den Computer aus dem Internet dann Port 22 (#ssh) anmelden können.

Um dies zu tun, müssen Sie die Anweisungen auf dem Router zu konsultieren. Im Fall von meinem Belkin Router dies durch die Firewall> Virtuelle Server-Einstellungen (siehe unten), aber das ist Netgear Erweitert> Sicherheit> IP-Weiterleitung.

bc24-virtual-server1

DNS

Der letzte Schritt ist, um einen DNS-Eintrag Punkt, an die IP-Adresse des Routers zu haben. In meinem Fall habe ich Kabel Internet über Virgin Media. Obwohl es hat eine dynamische IP-Adresse die Adresse normalerweise nicht ändern. Ich habe eine statische DNS-Eintrag auf einem Internet-DNS-Server. Der Eintrag muss nur etwa einmal im Jahr oder bei Virgin Media führen Bedeutung Wartungsarbeiten am Internet-Verbindung geändert werden.

Wenn Sie eine dynamische IP-Adresse, die auf eine aktuellere Grundlage verändert haben, dann müssen Sie für einen dynamischen DNS-Dienst registrieren.

#Installieren Sie #Apache #Webserver

Der Apache-Webserver ist von den Debian-Repositories herunterladen. Dies kann durch die apt-Tools durchgeführt werden.

Zuerst müssen Sie die Software-Repositories aktualisiert? Wenn nicht ausführen sudo apt-get update , um sicherzustellen, dass sie über neue Pakete / Versionen kennt.

Apache wird durch Eingabe des folgenden installiert
sudo apt-get install apache2

Installieren Sie MySQL

Die MySQL-Datenbank-Server ist auch durch die Debian-Repositories verfügbar und wie installiert

sudo apt-get install mysql-server

Während der Installation gibt es eine schnelle Anfrage nach einem Passwort.
Das Passwort ist für den MySQL-Benutzer root.

Installieren Sie #PHP

Perl ist als Teil des Betriebssystems, damit ich nur das Hinzufügen PHP installiert.

Die folgenden Befehle PHP Version 5 und die #MySQL-Bibliotheken installieren, damit PHP den Zugriff auf die MySQL-Datenbank.

 sudo apt-get install php5 sudo apt-get install php5-mysql

Installation abgeschlossen

Nach Beendigung der Einstellung ist, dass Sie die Web-Seite indem Sie in Ihrem Browser, um die Router-IP-Adresse oder den DNS-Eintrag zugreifen können.

Sie sollten eine Seite zurück besagt, dass es funktioniert, aber das noch keine Inhalte geladen.

Um zu testen, dass der Webserver und PHP richtig funktionieren, dann löschen Sie die Datei /var/www/index.html und erstellen Sie eine Datei /var/www/index.php mit dem Inhalt:

<? Php
<! Doctype html>
<Html lang = "de">
<Head>
<Meta charset = "UTF-8">
<Title> Test erfolgreich </ title>
</ Head>
<Body>
<H1> Test erfolgreich </ h1>
<P> Herzlichen Glückwunsch. </ P>
<P> Ihr Webserver und PHP arbeiten. </ P>
</ Body>
</ Html>
?>

Beachten Sie, dass der Dateiname des Verbindungsenden in .txt in meinem Webserver ausgeführt dies zu verhindern, sollten Sie die Datei mit der Endung .php, so dass die Datei als PHP-Skript ausführen.

 

Kommentar verfassen