Naxiz
Android freak
- Lid geworden
- 18 apr 2009
- Berichten
- 19.551
- Waarderingsscore
- 0
In deze tutorial ga ik uitleggen hoe je een snelle webserver kan installeren op je Raspberry Pi. Voor de tests is een Raspberry Pi model B revision 2 gebruikt (met Raspbian en data op een externe HD, de SD-kaart wordt alleen gebruikt voor boot).
Natuurlijk kan je deze tutorial ook gebruiken om een webserver te installeren op een gewone versie van Debian of Ubuntu.
Na veel testen ben ik voor de combinatie van Nginx, PHP-FastCGI, MySQL (MyISAM) en XCache gegaan omdat dit de snelste combinatie is. Ook heb ik het geprobeerd met Apache2, maar de laadtijd van Apache2 met een schone Wordpress installatie was ongeveer 4,5 seconden tegenover een kleine 1,2 seconden voor Nginx met een schone Wordpress installatie.
Alle tests met de Raspberry Pi zijn mogelijk gemaakt door Silver Will aka Wilko343!
[INFO]De installatie van Apache2 was wel zonder XCache, maar zonder XCache was Nginx ook al een stuk sneller.[/INFO]
[WARNING]Ik ga er vanuit dat je een schone installatie van Raspbian hebt. Heb je dit niet en heb je al een andere webserver draaien, verwijder deze dan eerst![/WARNING]
De webserver is nu genstalleerd en klaar voor gebruik.
Ik ga nog 2 tutorials maken die op deze tutorial aansluiten:
Heb je een vraag of opmerking, stel deze dan hier.
Het kan zijn dat iets niet helemaal klopt, als je dit opmerkt zou ik het fijn vinden als je dit meldt zodat het aangepast kan worden.
Veel plezier met je webserver!
Natuurlijk kan je deze tutorial ook gebruiken om een webserver te installeren op een gewone versie van Debian of Ubuntu.
Na veel testen ben ik voor de combinatie van Nginx, PHP-FastCGI, MySQL (MyISAM) en XCache gegaan omdat dit de snelste combinatie is. Ook heb ik het geprobeerd met Apache2, maar de laadtijd van Apache2 met een schone Wordpress installatie was ongeveer 4,5 seconden tegenover een kleine 1,2 seconden voor Nginx met een schone Wordpress installatie.
Alle tests met de Raspberry Pi zijn mogelijk gemaakt door Silver Will aka Wilko343!
[INFO]De installatie van Apache2 was wel zonder XCache, maar zonder XCache was Nginx ook al een stuk sneller.[/INFO]
[WARNING]Ik ga er vanuit dat je een schone installatie van Raspbian hebt. Heb je dit niet en heb je al een andere webserver draaien, verwijder deze dan eerst![/WARNING]
- Log als root in op je Raspberry Pi met bijvoorbeeld Putty (de normale terminal kan natuurlijk ook).
Als je als root bent ingelogd zie je een # staan (hieronder rood aangegeven). Zie je een $ staan, typ dan su en voer je wachtwoord in.
Code:Linux home 3.2.0-4-686-pae #1 SMP Debian 3.2.39-2 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Mar 24 18:40:19 2013 from 192.168.1.172 root@home:~<span style="color: #FF0000;">#</span> _
- Update eerst je hele systeem:
Code:apt-get update && apt-get upgrade
- Installeer nu alle pakketten die je nodig hebt:
Code:apt-get install nginx php5-cgi php5-mysql php5-xcache mysql-server mysql-client psmisc
- Nu maken we een script om PHP automatisch te laten starten. Open eerst de editor:
Code:nano /etc/init.d/php-cgi
- Plak nu de volgende code in de editor (in Putty kan je gekopieerde tekst plakken door met rechts in het venster te klikken):
Code:#!/bin/bash ### BEGIN INIT INFO # Provides: php-fcgi # Required-Start: $nginx # Required-Stop: $nginx # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts php over fcgi # Description: starts php over fcgi ### END INIT INFO (( EUID )) && echo ‘You need to have root priviliges.’ && exit 1 BIND=127.0.0.1:9000 USER=www-data PHP_FCGI_CHILDREN=15 PHP_FCGI_MAX_REQUESTS=1000 PHP_CGI=/usr/bin/php-cgi PHP_CGI_NAME=`basename $PHP_CGI` PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND" RETVAL=0 start() { echo -n "Starting PHP-FastCGI: " start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS RETVAL=$? echo "$PHP_CGI_NAME." } stop() { echo -n "Stopping PHP-FastCGI: " killall -q -w -u $USER $PHP_CGI RETVAL=$? echo "$PHP_CGI_NAME." } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: php-cgi {start|stop|restart}" exit 1 ;; esac exit $RETVAL
- Sla het bestand op door op CTRL + X te drukken. Er wordt om een bevestiging gevraagd: druk op Y.
- Voeg nu de Executable Bit toe aan het bestand zodat het als programma kan worden uitgevoerd:
Code:chmod +x /etc/init.d/php-cgi
- Registreer het script nu zodat PHP automatisch gestart wordt na een reboot:
Code:update-rc.d php-cgi defaults
- Nu gaan we de webserver, Nginx, configureren. Maak eerst het bestand leeg en open het daarna in de editor:
Code:touch /etc/nginx/sites-available/default nano /etc/nginx/sites-available/default
- Plak de volgende configuratie in de editor:
Code:server { listen 80; listen [::]:80 default ipv6only=on; <span style="color: red;">server_name example.com;</span> access_log /var/log/nginx/localhost.access.log; root /var/www; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Code:server_name_in_redirect off;
- Sla het bestand op.
- Er moet nog een regel toegevoegd worden aan de configuratie van PHP:
Code:echo 'fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/fastcgi_params
- Maak nu een map aan waar alle bestanden voor de webserver in moeten:
Code:mkdir /var/www
- Open nu de configuratie van XCache in de editor:
Code:nano /etc/php5/conf.d/20-xcache.ini
- Haal de ; weg bij xcache.admin.user en xcache.admin.pass en plaats een gebruikersnaam en wachtwoord erachter.
LET OP! Het wachtwoord moet in MD5-formaat zijn. Een converter van normale tekst naar MD5 kan je hier vinden.
De gebruikersnaam en het wachtwoord moeten tussen aanhalingstekens geplaatst worden (VOORBEELD):
Code:xcache.admin.user = "gebruiker" xcache.admin.pass = "701f33b8d1366cde9cb3822256a62c01"
- Sla het bestand op.
- Maak nu een symlink naar de administratiepagina van XCache zodat je deze via je browser kan bereiken:
Code:ln -s /usr/share/xcache/admin /var/www/xcache
- Herstart Nginx en PHP:
Code:/etc/init.d/nginx restart /etc/init.d/php-cgi restart
De webserver is nu genstalleerd en klaar voor gebruik.
- Alle bestanden voor je webserver plaats je in de map /var/www.
- Je kan de administratiepagina van XCache bereiken via http://domein.tld/xcache
Ik ga nog 2 tutorials maken die op deze tutorial aansluiten:
- phpMyAdmin installeren en configureren
- WordPress installeren en configureren
Heb je een vraag of opmerking, stel deze dan hier.
Het kan zijn dat iets niet helemaal klopt, als je dit opmerkt zou ik het fijn vinden als je dit meldt zodat het aangepast kan worden.
Veel plezier met je webserver!
Laatst bewerkt door een moderator: