Bouw een Raspberry Pi LAMP Stack Web Server met PHPMyAdmin en Filezilla

WAARSCHUWING We raden niemand aan om te proberen een publieke website op een Raspberry Pi te draaien, of op een server thuis of op kantoor. We hebben geen poging ondernomen om de webserver te beveiligen, aangezien dit geen probleem was voor ons project. Verder onderzoek zou nodig zijn om de LAMP-stack te harden voordat de server op het internet zou kunnen worden getoond.

Installeer Linux

  • Installeer het Raspbian besturingssysteem (gebaseerd op Debian Linux)
  • Gebruik de UI om een login wachtwoord in te stellen en schakel Automatisch inloggen uit
  • Gebruik de UI om een vast IP adres en een aangepaste host naam in te stellen
  • Reboot en login met uw nieuwe wachtwoord
  • Update met sudo apt-get update en sudo apt-get dist-upgrade (een goed moment om een kopje thee te gaan zetten, want het duurt even)
  • Een laatste reboot omdat een of meer van de upgrades dat vast en zeker vereisen

Installeer Apache

sudo apt-get install apache2 -y

Test het lokaal door de webbrowser van de Pi te openen en http://localhost/ te bezoeken en eventueel ook via een netwerkcomputer te testen door http://your-pi’s-ip-address

Bestanden worden opgeslagen in /var/www/html/ – om het makkelijk te maken heb ik alle gebruikers schrijftoegang gegeven tot deze map:

sudo chmod -R 777 /var/www/html

We zullen weten of dit heeft gewerkt wanneer we PHP testen in de volgende stap.

Installeer PHP

sudo apt-get install php libapache2-mod-php -y

U kunt PHP testen door het standaard index.html bestand te vervangen door een index.php bestand (stel voor dat het phpinfo(); bevat) in /var/www/html – als u merkt dat u geen bestanden in deze map kunt verwijderen, aanmaken of wijzigen, controleer dan of u de permissies in de stap hierboven hebt ingesteld

TIP Tot nu toe is het proces fool proof, maar ik vond het correct configureren van MySQL en zijn gebruikers een beetje een trial-and-error proces. Het kostte verscheidene pogingen om tot het onderstaande systeem te komen – dat misschien niet goed is voor jou of nog steeds correct is tegen de tijd dat je dit leest. Dit is misschien een goed moment om een image te maken van de SD-kaart van uw Pi, zodat u kunt experimenteren en snel naar deze stap kunt terugkeren als dat nodig is.

Installeer MySQL Server

sudo apt-get install mysql-server php-mysql -y

De installatie vraagt niet langer om een wachtwoord voor root, in plaats daarvan moet u

sudo mysql_secure_installation

uitvoeren en een paar vragen beantwoorden. Onthoud dat we hier te maken hebben met de MySQL root gebruiker en niet de Linux root gebruiker, dus u kunt verschillende wachtwoorden gebruiken als u dat wilt – houd het gewoon goed bij.

Herstart Apache:

sudo service apache2 restart

Probeer nu in te loggen op MySQL als de nieuwe root gebruiker en voer het wachtwoord in dat u zojuist hebt ingesteld als daarom wordt gevraagd:

mysql -u root -p

Als uw toegang wordt geweigerd, dan moet u de volgende extra stappen uitvoeren.

Gebruik eerst sudo om in MySQL in te loggen:

sudo mysql -u root

Toegang tot de MySQL tabel:

 USE mysql;

En nu het magische gedeelte:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

dan

FLUSH PRIVILEGES;

nu

quit

en

service mysql restart

probeer dan opnieuw in te loggen zoals hierboven – dus zonder sudo te gebruiken. Als je er niet in komt begin dan met Googlen – ga niet verder totdat je deze stap hebt gekraakt.

Installeer PHPMyAdmin (optioneel)

Het kan zijn dat je dit niet nodig hebt, maar voor mijn project heb ik besloten om de MySQL administratie GUI te installeren waar ik het meest vertrouwd mee ben – PHPMyAdmin.

sudo apt-get install phpmyadmin

(bevestig dat je door wilt gaan, selecteer de apache2 server, klik op ja voor package configuratie, geef een wachtwoord op en noteer het. Als u het wachtwoord leeg laat, maakt hij een willekeurig wachtwoord voor u aan, maar voor zover ik kan zien, vertelt hij u nooit wat het is!

Bewerk het bestand /etc/apache2/apache2.conf door de regel

include /etc/phpmyadmin/apache.conf

aan het eind van het bestand toe te voegen.

Herstart Apache:

sudo /etc/init.d/apache2 restart

Test door http://localhost/phpmyadmin te bezoeken en in te loggen met de gebruikersnaam phpmyadmin en het wachtwoord dat u tijdens de installatie hebt opgegeven.

Installeer Filezilla FTP Client (optioneel)

Er zijn veel manieren om met FTP om te gaan, maar ik kies ervoor om het bij mijn kennis te houden en Filezilla te installeren:

sudo apt-get install filezilla

De belangrijkste stap!

Als u tevreden bent dat alles werkt, moet u een image van de SD-kaart maken, zodat u eventuele problemen snel kunt oplossen. SD-kaarten zijn niet erg robuust en hebben geen lange levensduur, dus verwacht dat ze het zullen begeven en plan dienovereenkomstig. U zult uzelf er dankbaar voor zijn!

Conclusie

Met uitzondering van de installatie van MySQL is het proces ongelooflijk snel en eenvoudig. De resulterende server is betrouwbaar en meer dan geschikt voor het draaien van de op WordPress gebaseerde beheertool die we in huis wilden halen. De Pi webserver staat nu naast onze Pi NAS drive en we zijn benieuwd wat we hierna kunnen bouwen!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.