Sådan installeres en webserver på Raspberry Pi (Apache + PHP + MySQL)

aug 18, 2021
admin

ⓘ Denne artikel kan være blevet helt eller delvist oversat ved hjælp af automatiske værktøjer. Vi undskylder for eventuelle fejl, som dette kan forårsage.

Når du har oprettet dit SD-kort, og efter du har startet din Raspberry Pi for første gang, er der store chancer for, at du ønsker at bruge som webserver.

Hvorfor en Raspberry Pi som webserver ?

Men hvorfor bruge en Raspberry som webserver, i stedet for at bruge tjenesteudbydere specialiseret i webhosting?

Først, fra et økonomisk synspunkt, skal du vide, at webhosting-tjenester ikke er gratis, og at du skal betale hver måned / år. I modsætning til hindbær, der bare har brug for at en forbindelse.
Dertil kommer, at ved at vælge hindbær, har du mulighed for at ændre dine tjenester som du ønsker (eksempler: størrelsen af disken, hosting af Database, osv.), hvilket generelt ikke er tilfældet med specialiserede værter , Som ofte sælger delt hosting med lav konfiguration kapacitet.
Hvorimod, for at understøtte flere brugere, bør du bruge en Raspberry Pi 3 (Pi 3 kan findes her), Raspberry Pi med 1 GB RAM, snarere end Raspberry type B + (512 MB RAM)

Det spørgsmål, der nu opstår, er, hvordan man laver en webserver på Raspeberry Pi ?Installation du serveur Apache avec Raspbian

Hvad er Apache?

Først skal vi installere Apache, som er webserveren som sådan.
Når vi taler om en webserver, tænker vi ofte på maskinen, men denne betegnelse henviser også til den software, der gør det muligt for maskinen at analysere brugernes forespørgsler (i http-form) og returnere den fil, der svarer til forespørgslen (Eller en fejl, hvis filen ikke er fundet, eller forespørgslen er forkert formuleret).
Som en del af Apache er det software, vi taler om.

På nuværende tidspunkt er Apache den mest anvendte webserver, med ca. 60 % markedsandel. Apache har sin egen licens, som bruges af mange andre projekter. Desuden har den massive brug af Apache (som er blevet standard for webservere), kombineret med dens store popularitet, ført til en enorm overflod af dokumentation, kurser og andre bøger, der omhandler brugen af Apache, og hans sikkerhed, som denne bog.

Hvad enten det er til Raspberry Pi og Raspbian, eller til en mere generel maskine, er Apache derfor et sikkert valg, og de færdigheder, du vil kunne tilegne dig om emnet, vil altid være nyttige.

Apache-installation

Hvor du installerer serveren, skal du sikre dig, at vi har en opdateret maskine. For at gøre dette skal vi have administratorrettigheder, enten på grund af kommandoen sudo.

sudo apt updatesudo apt upgradesudo apt update

Når Raspberry Pi er opdateret, vil vi installere Apache-serveren.

sudo apt install apache2

I øvrigt vil vi benytte os af det til at give rettigheder til apache-filen, så du nemt kan administrere dine websteder. For at gøre dette skal du køre følgende kommandoer:

sudo chown -R pi:www-data /var/www/html/sudo chmod -R 770 /var/www/html/

Tjek om Apache fungerer

Når installationen er afsluttet, kan vi teste, at Apache fungerer korrekt ved at gå til hindbæradressen.
For at gøre dette er det nødvendigt at forsøge at få adgang til hindbæret fra port 80 (denne port bliver ikke åbnet udefra, det bliver nødt til at gøre, da hindbæret selv). Bare rolig, det er meget nemt. Du skal blot åbne Raspberry web browser, og gå til “http://127.0.0.1”. Du skulle så få en side med en besked som “Det virker! ” og masser af anden tekst.
Hvis du ikke allerede har en GUI på din Raspbian, eller hvis du bruger SSH til at oprette forbindelse til din Hindbær, kan du bruge følgende kommando:

wget -O check_apache.html http://127.0.0.1

Denne kommando gemmer HTML-koden for siden i filen “check_apache.html” i den aktuelle mappe.
Så du behøver kun at læse filen med kommandoen

cat ./check_apache.html

Hvis du ser markeret på et sted i koden “Det virker! ” er det, at Apache virker.

Apache bruger mappen “/var/www/html” som rod for dit websted. Det betyder, at når du kalder din hindbær på port 80 (http), leder Apache efter filen i “/var/www/html”.
Til eksempel, hvis du kalder adressen “http://127.0.0.1/eksempel”, vil Apache lede efter filen “eksempel” i mappen “/var/www/html”.
For at tilføje nye filer, websteder osv, skal du tilføje dem til denne mappe.

Du kan nu bruge din hindbær til at lave et websted i HTML, CSS og JavaScript, internt.
Det kan dog være, at du hurtigt vil tillade interaktioner mellem webstedet og brugeren. For eksempel for at give brugeren mulighed for at registrere sig osv. Til dette skal du bruge PHP.

PHP-installation på din Raspberry Pi

Hvad er PHP?

Først og fremmest skal du vide, at PHP er et fortolket sprog. Og som det er tilfældet med servere, kan akronymet PHP have flere betydninger. Når vi taler om PHP, kan vi nemlig tale om enten sproget eller fortolkeren.
Her, når vi taler om at installere PHP, betyder det, at vi skal installere fortolkeren, for at kunne bruge sproget.

PHP (sproget denne gang) bruges primært til at gøre et websted dynamisk, dvs. at brugeren sender oplysninger til serveren, som returnerer de ændrede resultater i henhold til disse oplysninger. Omvendt tilpasser et statisk websted sig ikke til de oplysninger, som en bruger giver. Det er gemt som en fil én gang for alle og vil altid levere det samme indhold.

PHP er gratis og vedligeholdes af PHP Foundation samt Zend Enterprise og forskellige andre virksomheder (det skal bemærkes, at Zend også er ophavsmand til den berømte Zend PHP framework, der er meget anvendt og anerkendt i ” forretningsverdenen).

Det er et af de mest udbredte programmeringssprog, og det er endda det mest anvendte til webprogrammering, med ca. 79% markedsandel.

Og alle de færdigheder du kan tilegne dig, om sproget, eller om installation og konfiguration af fortolkeren, vil altid være nyttige. Så vi kan kun råde dig til at lære PHP, som virkelig er et vidunderligt sprog og alt for ofte undervurderet.

Sådan installerer du PHP

Vi vil igen bruge administratoren til at installere PHP med kommandolinjen.

sudo apt install php php-mbstring

Kontrol om PHP virker

For at vide, om PHP virker korrekt, er det ikke særlig kompliceret, og metoden er ret lig den, der bruges til Apache.

Du skal først slette filen “index.html” i mappen “/var/www/html”.

sudo rm /var/www/html/index.html

Dernæst opretter du en “index.php”-fil i denne mappe med denne kommandolinje

echo "<?php phpinfo ();?>" > /var/www/html/index.php

Derfra er operationen den samme som ved Apache-kontrollen. Du forsøger at få adgang til din side, og du bør få et resultat tæt på dette billede (hvis du ikke har en grænseflade, skal du bruge samme metode som før, og kigge efter ordene “PHP Version”).

Optagelse af en phpinfo fra en server under Raspbian.

Tabel genereret af phpinfo kommandoen på en Raspbian.

En MySQL database til din server

En DBMS hvad er det ? Hvorfor MySQL?

Nu, hvor vi har sat PHP op, vil du sikkert gerne gemme oplysninger til brug på dine websteder. Til dette formål anvendes oftest databaser.
Vi vil derfor opsætte et DBMS (Database Management System), nemlig MySQL.

MySQL er et gratis, kraftfuldt og massivt anvendt DBMS (ca. 56% markedsandel af gratis DBMS). Også her er MySQL så afgørende for udvikling, uanset sprog, at du absolut skal lære og beherske det, f.eks. med denne bog.

Sådan installerer du MySQL

For at gøre dette vil vi installere mariadb-server og php-mysql (som vil fungere som et link mellem php og mysql)

sudo apt install mariadb-server php-mysql

Kontrollér, at MySQL fungerer korrekt

For at kontrollere, at MySQL fungerer korrekt, vil vi denne gang kun bruge kommandolinjen. For at gøre dette, vil vi blot forbinde via kommandoen:

sudo mysql --user=root

Vi vil ikke slette standard mysql root brugeren og oprette en ny mysql root bruger, fordi standard brugeren kun kan bruges med Linux root konto, og derfor ikke er tilgængelig for webserveren og php scripts.

For at gøre dette, når du har forbindelse til MySQL, skal du blot køre disse kommandoer (erstat password med den ønskede adgangskode) :

DROP USER 'root'@'localhost';CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

Så du har nu en webserver, der er forbundet til PHP og MySQL. Det er alt, hvad der skal til.

(På dine næste forbindelser vil du kunne oprette forbindelse til mysql uden at bruge sudo, med kommandoen mysql --user=root --password=yourmysqlpassword).

Add PHPMyAdmin

Installationen af PHPMyAdmin er absolut ikke nødvendig. I denne installation vil vi ikke tage os af nogen specielle sikkerhedsindstillinger !

Den PHPMyAdmin installation er ret hurtig og nem, vi skal blot bruge pakkehåndteringsprogrammet med denne kommando :

sudo apt install phpmyadmin

PHPMyAdmin installationsprogrammet vil stille dig nogle få spørgsmål. Om dbconfig-common-delen skal du vælge ikke at bruge den (da vi allerede har konfigureret vores database). Vedrørende den server, som PHPMyAdmin skal konfigureres til, skal du vælge Apache. Og root-adgangskoden er den, du har indstillet til MySQL.

Du skal også aktivere mysqli-udvidelsen ved hjælp af ovenstående kommando :

sudo phpenmod mysqlisudo /etc/init.d/apache2 restart

Tjek, at PHPMyAdmin fungerer korrekt

For at tjekke, at PHPMyAdmin fungerer, skal du blot prøve at få adgang til den ved at bruge adressen på din hindbær efterfulgt af /phpmyadmin. Lokalt vil det f.eks. være http://127.0.0.1/phpmyadmin

Hvis du stadig får en fejl, kan det være fordi PHPMyAdmin er flyttet til en anden mappe. I dette tilfælde skal du prøve kommandoen

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Nu kan vi få adgang til PHPMyAdmin fra Raspberry Pi’s browser med url’en : http://127.0.0.1/phpmyadmin

Makke en server tilgængelig fra nettet

Din webserver er klar. Men du kan sandsynligvis ikke få adgang til den fra internettet. Det ville nemlig være nødvendigt for at dit modem omdirigerer forespørgslerne til din Hindbær, de gode porte.
For at sætte disse omdirigeringer på plads, og endda få en URL, bør du se på DynDNS og port forwarding !

4.8 / 5 ( 18 stemmer )

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.