Stel een Ubuntu 20.04-server in met Lighttpd, MySQL en PHP-FPM
Lighttpd is een snelle en flexibele open-source webserver die qua prestaties vergelijkbaar is met Nginx. Voor het hosten van PHP-applicaties zoals WordPress, Magento, etc. op een Lighttpd-server, moet u een LLMP-stack op uw server instellen. LLMP staat voor Linux, Lighttpd, MySQL en PHP.
Dankzij de prestaties van Lighttpd presteert een LLMP-stack gemakkelijk beter dan een LAMP (Apache) die is ingesteld op een bepaald verkeersvolume. Wat LLMP versus LEMP (Nginx) betreft, zijn de prestaties grotendeels vergelijkbaar. Maar omdat Nginx een populairdere keuze is onder de massa, is er uitstekende community-ondersteuning voor LEMP-configuraties.
Als u op zoek bent naar een server die veel verkeer kan verwerken met minimaal geheugenverbruik, dan is een LLMP-configuratie een goede keuze. In deze handleiding zullen we bekijken hoe we de LLMP-stack op een Ubuntu 20.04 LTS-machine kunnen installeren.
Vereisten
U hebt een Ubuntu 20.04 LTS-server nodig en bent ingelogd als een sudo
ingeschakelde gebruiker. Je moet ook een basiskennis hebben van Linux-commando's.
Voordat we beginnen, moet u de pakketten op uw Ubuntu 20.04-server bijwerken en upgraden door de onderstaande opdracht uit te voeren:
sudo apt-get update && apt-get upgrade
Installeer de Lighttpd-webserver
Om de Lighttpd-webserver op uw Ubuntu 20.04-machine te installeren, voert u gewoon de volgende opdracht in uw terminal in.
sudo apt-install lighttpd
Nadat het installatieproces is voltooid, typt u de volgende opdrachten om de Lighttpd-webserver te starten en in te schakelen.
systemctl start lighttpd systemctl activeer lighttpd
Typ de onderstaande opdracht om de status van de Lighttpd-server te controleren.
systemctl status lighttpd
💡Tip: Om de laatste regel met (END) erop te verwijderen, drukt u op ESC
en Q
om verdere commando's te kunnen invoeren.
Nu zullen we de HTTP-, HTTPS- en SSH-service instellen in de UFW-firewall. UFW is de standaard firewallconfiguratietool voor Ubuntu, ook wel Uncomplicated Firewall genoemd. Typ de volgende opdrachten en druk één voor één op enter.
sudo ufw ssh toestaan sudo ufw http toestaan sudo ufw https toestaan
Schakel de UFW-firewall in door de volgende opdracht uit te voeren:
sudo ufw inschakelen
Als u een prompt krijgt voor 'Opdracht kan bestaande ssh-verbindingen verstoren', typt u ja
en raak binnenkomen
.
Om de Lighttpd-installatie te verifiëren, toegang tot de server via het IP-adres in een webbrowser. Als het volgende scherm wordt weergegeven, betekent dit dat uw Lighttpd-webserver met succes is geïnstalleerd op uw Ubuntu 20.04-machine.
MySQL-server installeren en configureren
MySQL is een relationeel databasebeheersysteem op basis van gestructureerde querytaal. Om de MySQL-server en -client op Ubuntu 20.04 te installeren, kopieert/plakt u de volgende opdracht en drukt u op binnenkomen
.
sudo apt-get install mysql-server mysql-client
Het zal u vragen met een bericht dat deze operatie 247 MB extra schijfruimte in beslag zal nemen na installatie. Dus typ ja
en raak binnenkomen
.
Zodra het installatieproces is voltooid, start en schakelt u de MySQL-server in en voegt u deze toe aan de systeemstart door de volgende opdrachten één voor één uit te voeren.
systemctl start mysql systemctl activeer mysql
U ziet het volgende bericht op uw scherm:
Typ de volgende opdracht in de terminal om de status van uw MySQL-service te controleren. De mysql.service
status moet worden weergegeven als "actief (actief).
systemctl-status mysql
Om MySQL-beveiligingsinstellingen te configureren, we zullen een beveiligingsscript uitvoeren dat bij het MySQL-pakket wordt geleverd. Typ de volgende opdracht en druk op enter om het script uit te voeren.
mysql_secure_installation
De bovenstaande opdracht zal u enkele vragen stellen om de MySQL-server te configureren.
Het zal u vragen om uw wachtwoord in te stellen met VALIDEER WACHTWOORD COMPONENT
. Deze plug-in helpt u een sterk wachtwoord in te stellen voor uw MySQL-databases. druk op ja
en druk op enter om deze plug-in in te schakelen. Type 0
, 1
, of 2
om het wachtwoordvalidatiebeleid te kiezen dat de sterkte van uw wachtwoord bepaalt.
Voer een sterk wachtwoord in, de VALIDEER WACHTWOORD
plugin zal u vertellen over de geschatte sterkte van uw wachtwoord. druk op ja
en raak binnenkomen
.
Nadat u een veilig wachtwoord heeft ingesteld, configureert u de rest van de installatie zoals hieronder wordt uitgelegd.
- Anonieme gebruikers verwijderen - Binnenkomen
y|Y
Omdat MySQL standaard een anonieme gebruiker bevat waarmee iedereen verbinding kan maken met de MySQL-server zonder een gebruikersaccount te hebben. Verwijder het daarom.
- Root login op afstand niet toestaan - Binnenkomen
y|Y
Omdat root alleen mag worden toegestaan vanaf de 'localhost'. Het zorgt ervoor dat iemand buiten uw netwerk niet als root kan inloggen.
- Testdatabase verwijderen en er toegang toe krijgen? - Binnenkomen
y|Y
Omdat MySQL wordt geleverd met een testdatabase waartoe iedereen toegang heeft. Verwijder het dus voordat u naar de productieomgeving gaat.
- Bevoorrechte tabellen nu opnieuw laden? Binnenkomen
y|Y
Want dit zorgt ervoor dat de wijzigingen die je tot nu toe hebt aangebracht direct van kracht worden.
Om alle gebruikers te controleren die toegang hebben tot de MySQL-server, logt u eerst in op de MySQL als root met behulp van de onderstaande opdracht:
mysql -u root -p
Geef vervolgens de volgende opdracht om de gebruikerslijst op uw MySQL-server te krijgen:
selecteer Gebruiker, Host van mysql.user;
Nadat u de gebruikerslijst heeft geverifieerd, typt u Uitgang
om uit te loggen bij de MySQL-shell.
PHP installeren – Fast CGI process manager (PHP-FPM)
Met PHP-FPM kan een server een enorme hoeveelheid belasting aan, zelfs op een low-end server. Het beweert de laadtijd met 300 procent te verkorten op bepaalde PHP-applicaties.
Voer de volgende opdracht uit en druk op enter om de nieuwste PHP-FPM-pakketten te installeren.
sudo apt-install php-fpm php-cgi php-mysql
Fijnafstemming van de PHP-FPM-configuratie door enkele wijzigingen aan te brengen in de php.ini
het dossier.
Ga hiervoor eerst naar de directory/etc/php/7.4/fpm
de ... gebruiken CD
commando zoals hieronder getoond.
cd /etc/php/7.4/fpm
Gebruik dan de onderstaande opdracht om te openen php.ini
bestand in de vim-editor.
vim php.ini
Uncomment de cgi.fix_pathinfo=1
lijn. Zoek naar de regel met 'cgi.fix_pathinfo=1
' in de redactie. Druk hiervoor op ‘Esc
’ en typ /cgi.fix_pathinfo=1
en raak binnenkomen
.
Druk vervolgens op I
om over te schakelen naar de invoegmodus en de . te verwijderen ;
(puntkomma) voor de regel of druk op de x
knop om commentaar op de regel in te verwijderen php.ini
het dossier.
Als u klaar bent, slaat u de wijzigingen op die u in het bestand hebt aangebracht en verlaat u de vim-editor door op te drukken Esc
om naar de opdrachtmodus te gaan en typ vervolgens :wq
en raak binnenkomen
om de editor te verlaten.
Start en schakel PHP-FPM in door de volgende commando's te geven:
systemctl start php7.4-fpm systemctl activeer php7.4-fpm
Voer de volgende opdracht uit om de status van PHP-FPM te controleren:
systemctl-status php7.4-fpm
De Lighttpd en PHP-FPM configureren
We zullen nu enkele wijzigingen aanbrengen in de 15-fastcgi-php.conf
configuratiebestand om Lighttpd en PHP-FPM te configureren.
Navigeer naar de juiste map door deze opdracht te typen en op enter te drukken.
cd etc/lighttpd/conf-available/
Als u een duplicaat van de '15-fastcgi-php.conf
' bestand gebruik dan de onderstaande opdracht.
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
Nu zullen we dit bestand openen en bewerken met behulp van de vim-editor met behulp van de onderstaande opdracht:
vim 15-fastcgi-php.conf
Vervang hier de standaard PHP-CGI-configuratie-inhoud door de hieronder getoonde inhoud.
fastcgi.server += ( ".php" => (( "socket" => "/var/run/php/php7.4-fpm.sock", "broken-scriptfilename" => "inschakelen" )) )
Volg hiervoor de stappen in de specifieke volgorde zoals hieronder weergegeven.
- Druk op '
Esc
' en 'I
’ om in de invoegmodus te komen. - Navigeer nu naar de regels die we moeten verwijderen met de
omhoog
ofomlaag
pijltjestoetsen (pijltjestoetsen omhoog en omlaag werken in vim-editor en niet in de vi-editor). - Druk op . om een specifieke regel te verwijderen
dd
. En om een enkel woord te verwijderen, druk opx
. - Kopieer/plak nu de bovenstaande code in het bestand.
- Sla vervolgens het bestand op en sluit vim af door op te drukken
Esc
,:wq
, enbinnenkomen
.
Lighttpd werkt nu adequaat met de PHP-FPM en is correct geconfigureerd.
FastCGI Lighttpd-modules inschakelen met behulp van de onderstaande commando's:
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
Start ten slotte de Lighttpd-webserver opnieuw om de nieuwe configuraties en instellingen toe te passen.
systemctl herstart lighttpd
Test uw LLMP-server
Om uw vers gemaakte LLMP-server te testen, zullen we een bestand maken in de hoofdmap van de openbare map op /var/www/html
.
Navigeer eerst naar de map met behulp van de CD
commando zoals hieronder getoond.
cd /var/www/html/
Een nieuw bestand maken laten we zeggenbestand.php
zoals hieronder weergegeven met behulp van de vim-editor.
vim-bestand.php
Typ nu dit eenvoudige script in de editor door naar de invoegmodus te gaan door op te drukken I
.
Sla het bestand op en sluit het af door op te drukken Esc
en :wq
.
De phpinfo()
is een functie die informatie oproept met betrekking tot php. Dit script is alleen om te testen of het werkt of niet. U kunt ook andere php-scripts naar keuze gebruiken.
Ten slotte, om uw server te testen, opent u een webbrowser en opent u het bestand dat we zojuist hebben gemaakt door het volgende adres in te voeren: //uw-server-ip/bestand.php
.
Als de PHP-versiepagina als resultaat verschijnt, kunnen we gerust zeggen dat de LLMP-stack met succes is geïnstalleerd op uw Ubuntu 20.04-machine. U kunt nu de PHP-applicaties die u op de server wilt draaien, installeren.