Bygg en Raspberry Pi LAMP Stack-webbserver med PHPMyAdmin och Filezilla

VARNING Vi rekommenderar inte att någon försöker köra en webbplats som vänder sig till allmänheten på en Raspberry Pi, eller på någon annan server som är baserad på hemmet eller kontoret. Vi har inte gjort något försök att göra webbservern säker eftersom det inte var ett problem för vårt projekt. Det skulle krävas ytterligare forskning för att härda LAMP-stacken innan servern kan exponeras på Internet.

Installera Linux

  • Installera operativsystemet Raspbian (baserat på Debian Linux)
  • Använd användargränssnittet för att ställa in ett inloggningslösenord och inaktivera automatisk inloggning
  • Använd användargränssnittet för att ställa in en fast IP-adress och ett anpassat värdnamn
  • Reboota och logga in med det nya lösenordet
  • Uppdatera med sudo apt-get update och sudo apt-get dist-upgrade (en bra tid att gå och göra en kopp te eftersom det tar ett tag)
  • En sista omstart eftersom en eller flera av uppgraderingarna kommer att kräva det

Installera Apache

sudo apt-get install apache2 -y

Testa lokalt genom att öppna Pis webbläsare och besöka http://localhost/ och eventuellt testa via en nätverksdator genom att besöka http://your-pi’s-ip-address

Filerna kommer att lagras i /var/www/html/ – för att göra livet enkelt gav jag alla användare skrivbehörighet till denna mapp:

sudo chmod -R 777 /var/www/html

Vi kommer att veta om detta har fungerat när vi testar PHP i nästa steg.

Installera PHP

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

Du kan testa PHP genom att ersätta standardfilen index.html med en index.php-fil (föreslå att den innehåller phpinfo();) i /var/www/html – om du upptäcker att du inte kan ta bort, skapa eller ändra filer i den här katalogen, dubbelkolla då att du har ställt in behörigheterna i steget ovan

TIP Än så länge har processen varit idiotsäker, men jag tyckte att det var lite av en trial and error-process att konfigurera MySQL och dess användare korrekt. Det tog flera försök att komma fram till systemet nedan – som kanske inte är rätt för dig eller fortfarande är korrekt när du läser detta. Detta kan vara ett bra tillfälle att göra en avbildning av din Pis SD-kort så att du kan experimentera och snabbt hoppa tillbaka till detta steg om det behövs.

Installera MySQL Server

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

Installationen frågar inte längre efter ett lösenord för root, istället måste du köra

sudo mysql_secure_installation

och svara på ett par frågor. Kom ihåg att vi här har att göra med MySQL:s rotanvändare, INTE Linux:s rotanvändare, så du kan använda olika lösenord om du vill – det är bara att föra bra register.

Starta om Apache:

sudo service apache2 restart

Försök nu att logga in på MySQL som den nya rotanvändaren genom att ange lösenordet som du just har ställt in när du blir tillfrågad:

mysql -u root -p

Om din åtkomst nekas så måste du utföra följande ytterligare steg.

Använd först sudo för att logga in i MySQL:

sudo mysql -u root

Access the MySQL table:

 USE mysql;

Och nu den magiska delen:

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

then

FLUSH PRIVILEGES;

now

quit

and

service mysql restart

försök sedan att logga in igen som ovan – dvs. utan att använda sudo. Om du inte kan komma in börjar du googla – gå inte vidare förrän du har knäckt det här steget.

Installera PHPMyAdmin (valfritt)

Du kanske inte behöver detta, men för mitt projekt bestämde jag mig för att installera det grafiska användargränssnitt för MySQL-administration som jag är mest bekant med – PHPMyAdmin.

sudo apt-get install phpmyadmin

(Bekräfta att du vill fortsätta, välj apache2-servern, klicka på yes för paketkonfiguration, PROVIDE A PASSWORD och registrera det. Om du lämnar lösenordet tomt skapar den ett slumpmässigt lösenord åt dig men, såvitt jag kan se, berättar den aldrig vad det är!

Redigera filen /etc/apache2/apache2.conf genom att lägga till raden

include /etc/phpmyadmin/apache.conf

i slutet av filen.

Starta om Apache:

sudo /etc/init.d/apache2 restart

Testar genom att gå till http://localhost/phpmyadmin och logga in med användarnamnet phpmyadmin och lösenordet som du angav under installationen.

Installera Filezilla FTP-klient (valfritt)

Det finns många sätt att hantera FTP, men jag väljer att hålla mig till det jag känner till och installerar Filezilla:

sudo apt-get install filezilla

Det viktigaste steget!

När du är nöjd med att allt fungerar, se till att avbilda SD-kortet så att du snabbt kan återställa eventuella problem. SD-kort är inte särskilt robusta eller långlivade så räkna med att det kan gå sönder och planera därefter. Du kommer att tacka dig själv för det!

Slutsats

Med undantag för installationen av MySQL är processen otroligt snabb och enkel. Den resulterande servern är tillförlitlig och mer än kapabel att köra det WordPress-baserade administrationsverktyg som vi ville ta in i huset. Den Pi-baserade webbservern står nu bredvid vår Pi-baserade NAS-enhet och vi undrar vad vi kan bygga härnäst!

Lämna ett svar

Din e-postadress kommer inte publiceras.