VARNING Vi anbefaler ikke, at nogen forsøger at køre et offentligt vendende websted på en Raspberry Pi, eller faktisk på enhver hjemme-/kontorbaseret server. Vi har ikke gjort noget forsøg på at gøre webserveren sikker, da det ikke var et problem for vores projekt. Der ville være behov for yderligere forskning for at hærde LAMP-stakken, før serveren kunne eksponeres på internettet.
Installer Linux
- Installer operativsystemet Raspbian (baseret på Debian Linux)
- Brug brugergrænsefladen til at indstille en loginadgangskode og deaktivere automatisk login
- Brug brugergrænsefladen til at indstille en fast IP-adresse og et brugerdefineret værtsnavn
- Reboot og log ind med din nye adgangskode
- opdatér med sudo apt-get update og sudo apt-get dist-upgrade (et godt tidspunkt at gå ud og lave en kop te, da det tager et stykke tid)
- En sidste genstart, da en eller flere af opgraderingerne nødvendigvis vil kræve det
Installer Apache
sudo apt-get install apache2 -y
Test lokalt ved at åbne Pi’ens webbrowser og besøge http://localhost/ og eventuelt også teste via en netværkscomputer ved at besøge http://your-pi’s-ip-address
Filer vil blive gemt i /var/www/html/ – for at gøre livet nemt har jeg givet alle brugere skriveadgang til denne mappe:
sudo chmod -R 777 /var/www/html
Vi vil vide, om dette har virket, når vi tester PHP i næste trin.
Installer PHP
sudo apt-get install php libapache2-mod-php -y
Du kan teste PHP ved at erstatte standardfilen index.html med en index.php-fil (foreslå, at den indeholder phpinfo();) i /var/www/html – hvis du finder ud af, at du ikke kan slette, oprette eller ændre filer i denne mappe, skal du kontrollere, at du har indstillet tilladelserne i ovenstående trin
TIP Indtil videre har processen været idiotsikker, men jeg fandt, at korrekt konfiguration af MySQL og dets brugere var noget af en trial and error-proces. Det tog flere forsøg at finde frem til nedenstående system – som måske ikke er rigtigt for dig eller stadig er korrekt, når du læser dette. Dette kan være et godt tidspunkt at lave et image af din Pi’s SD-kort, så du kan eksperimentere og hurtigt hoppe tilbage til dette trin, hvis det er nødvendigt.
Installer MySQL Server
sudo apt-get install mysql-server php-mysql -y
Installationen spørger ikke længere efter et password til root, i stedet skal du køre
sudo mysql_secure_installation
og besvare et par spørgsmål. Husk, at vi her har at gøre med MySQL-rootbrugeren IKKE Linux-rootbrugeren, så du kan bruge forskellige passwords, hvis du vil – du skal bare holde gode optegnelser.
Genstart Apache:
sudo service apache2 restart
Forsøg nu at logge ind på MySQL som den nye root-bruger ved at indtaste det password, du lige har oprettet, når du bliver bedt om det:
mysql -u root -p
Hvis din adgang bliver nægtet, skal du udføre følgende yderligere trin.
Brug først sudo til at logge på MySQL:
sudo mysql -u root
Access the MySQL table:
USE mysql;
Og nu den magiske del:
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
then
FLUSH PRIVILEGES;
then
FLUSH PRIVILEGES;
now
quit
and
service mysql restart
og prøv derefter at logge på igen som ovenfor – dvs. uden at bruge sudo. Hvis du ikke kan komme på begynder du at google – gå ikke videre før du har knækket dette trin.
Installer PHPMyAdmin (valgfrit)
Du behøver måske ikke dette, men til mit projekt besluttede jeg at installere den MySQL administrations-GUI, som jeg er mest fortrolig med – PHPMyAdmin.
sudo apt-get install phpmyadmin
(bekræft, at du vil fortsætte, vælg apache2-serveren, klik på ja til pakkekonfiguration, giv et kodeord og registrer det. Hvis du lader adgangskoden stå tom, opretter den en tilfældig adgangskode til dig, men fortæller dig så vidt jeg kan se aldrig, hvad den er!
Rediger filen /etc/apache2/apache2.conf-filen ved at tilføje linjen
include /etc/phpmyadmin/apache.conf
til slutningen af filen.
Start Apache igen:
sudo /etc/init.d/apache2 restart
Test ved at besøge http://localhost/phpmyadmin og logge på med brugernavnet phpmyadmin og den adgangskode, du opgav under opsætningen.
Installer Filezilla FTP Client (valgfrit)
Der er mange måder at håndtere FTP på, men jeg vælger at holde mig til det, jeg kender, og installerer Filezilla:
sudo apt-get install filezilla
Det vigtigste trin!
Når du er tilfreds med, at alt fungerer, skal du sørge for at afbilde SD-kortet, så du hurtigt kan genoprette eventuelle problemer. SD-kort er ikke særlig robuste eller langtidsholdbare, så forvent, at det vil fejle, og planlæg i overensstemmelse hermed. Du vil takke dig selv for det!
Konklusion
Med undtagelse af installationen af MySQL er processen utrolig hurtig og nem. Den resulterende server er pålidelig og mere end i stand til at køre det WordPress-baserede administrationsværktøj, som vi ønskede at bringe i hus. Den Pi-baserede webserver står nu ved siden af vores Pi-baserede NAS-drev, og vi spekulerer på, hvad vi kan bygge næste gang!