Hur man installerar Linux, Apache, MySQL, PHP (LAMP) Stack på Ubuntu 22.04
För att hämta Ubuntu Server 22.04 klicka här
Introduktion
En ”LAMP”-stack är en grupp av programvara med öppen källkod som vanligtvis installeras tillsammans för att göra det möjligt för en server att vara värd för dynamiska webbplatser och webbappar skrivna i PHP. Denna term är en akronym som representerar operativsystemet L inux med A -pache-webbservern. Webbplatsens data lagras i en M ySQL-databas och dynamiskt innehåll bearbetas av P HP.
I den här guiden kommer du att ställa in en LAMP-stack på en Ubuntu 22.04-server.
Förutsättningar
För att slutföra denna handledning måste du ha en Ubuntu 22.04-server med ett icke-root- sudo aktiverat användarkonto och en grundläggande brandvägg.
Steg 1 — Installera Apache och uppdatera brandväggen
Apache webbserver är en av de mest populära webbservrarna i världen. Den är väldokumenterad, har en aktiv gemenskap av användare och har använts flitigt under mycket av webbens historia, vilket gör den till ett utmärkt val för att vara värd för en webbplats.
Börja med att uppdatera pakethanterarens cache. Om detta är första gången du använder sudo under den här sessionen kommer du att uppmanas att ange ditt användarlösenord för att bekräfta att du har rätt behörighet att hantera systempaket med apt:
sudo apt update
Installera sedan Apache med:
sudo apt install apache2
För att tillåta trafik på port 80 i brandväggen, använd Apacheprofilen:
sudo ufw allow in "Apache"
http://din_servers_ip
Standardwebbsidan för Ubuntu 22.04 Apache finns där för informations- och teständamål. Nedan är ett exempel på Apaches standardwebbsida:
Om du kan se den här sidan är din webbserver korrekt installerad och tillgänglig via din brandvägg.
Steg 2 — Installera MySQL
Nu när du har en webbserver igång måste du installera databassystemet för att kunna lagra och hantera data för din webbplats. MySQL är ett populärt databashanteringssystem som används inom PHP-miljöer.
Återigen, använd apt för att skaffa och installera denna programvara:
sudo apt install mysql-server
När du uppmanas, bekräfta installationen genom att skriva Y och sedan ENTER.
Öppna mysql, skapa root användare och lösenord och sedan exit för att gå ur mysql.
Kom ihåg att välja ett starkt lösenord här för root där vi har ”ditt_lösenord”:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'ditt_lösenord';
exit;
När installationen är klar rekommenderar vi att du kör ett säkerhetsskript som kommer förinstallerat med MySQL. Detta skript tar bort vissa osäkra standardinställningar och låser åtkomst till ditt databassystem. Starta det interaktiva skriptet genom att köra:
sudo mysql_secure_installation
Fyll i lösenordet för root som du skapade tidigare.
Detta kommer att fråga om du vill konfigurera VALIDATE PASSWORD PLUGIN.
Svara Y ja, eller något annat för att fortsätta utan att aktivera, jag brukar svara nej.
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No:
Nästa fråga gäller om du vill byta lösenordet för root, svara nej.
För resten av frågorna, tryck Y och tryck på ENTER tangenten vid varje prompt. Detta kommer att ta bort några anonyma användare och testdatabasen, inaktivera fjärrinloggningar för root och ladda dessa nya regler så att MySQL omedelbart lagrar de ändringar du har gjort.
När du är klar, testa om du kan logga in på MySQL-konsolen som root med lösenordet du skapade genom att skriva:
mysql -u root -p
För att avsluta MySQL-konsolen, skriv:
exit;
Steg 3 — Installera PHP
Du har Apache installerat för att publisera ditt innehåll och MySQL installerat för att lagra och hantera dina data. PHP är komponenten i vår installation som kommer att bearbeta kod för att visa dynamiskt innehåll för slutanvändaren. Utöver phppaketet behöver du php-mysql, en PHP-modul som gör att PHP kan kommunicera med MySQL-baserade databaser. Du måste också libapache2-mod-phpaktivera Apache för att hantera PHP-filer. Core PHP-paket kommer automatiskt att installeras som beroenden.
För att installera dessa paket, kör följande kommando:
sudo apt install php libapache2-mod-php php-mysql
När installationen är klar, kör följande kommando för att bekräfta din PHP-version:
php -v
PHP 8.1.2-1ubuntu2.9 (cli) (built: Oct 19 2022 14:58:09) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.9, Copyright (c), by Zend Technologies
Vid det här laget är din LAMP-stack fullt funktionsduglig, men innan du testar din installation med ett PHP-skript är det bäst att ställa in en riktig Apache Virtual Host för att lagra dina webbplats filer och mappar.
Steg 4 — Skapa en virtuell värd för din webbplats
När du använder Apache-webbservern kan du skapa virtuella värdar (liknande serverblock i Nginx) för att kapsla in konfigurationsdetaljer och vara värd för mer än en domän från en enda server. I den här guiden ställer vi in en domän som heter din_domän, men du bör ersätta denna med ditt eget domännamn .
Apache på Ubuntu 22.04 har en virtuell värd aktiverad som standard som är konfigurerad att publisera dokument från /var/www/html katalogen. Även om detta fungerar bra för en enda webbplats, kan det bli svårt om du är värd för flera webbplatser. Istället för att modifiera /var/www/html skapar vi en katalogstruktur inom /var/www för din_domän- webbplatsen, och lämnar /var/www/ html på plats som standardkatalog som ska visas om en klientförfrågan inte matchar någon annan webbplats.
Skapa katalogen för din_domän enligt följande:
sudo mkdir /var/www/din_domän
Tilldela sedan äganderätten till katalogen med $USER miljövariabeln, som refererar till din nuvarande systemanvändare:
sudo chown -R $USER:$USER /var/www/din_domän
Skapa sedan en ny konfigurationsfil i Apaches sites-available katalog med din föredragna kommandoradsredigerare. Här kommer vi att använda nano:
sudo nano /etc/apache2/sites-available/din_domän.conf
/etc/apache2/sites-available/din_domän.conf
<VirtualHost *:80>
ServerName din_domän
ServerAlias www.din_domän
ServerAdmin webmaster@localhost DocumentRoot /var/www/din_domän
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Spara och stäng filen när du är klar. Om du använder nano gör du det genom att trycka på CTRL+X, sedan Y och ENTER.
Med den här VirtualHostkonfigurationen säger vi åt Apache att fungera som din_domän webbrotkatalog . Om du vill testa Apache utan ett domännamn kan du ta bort eller kommentera alternativen genom att lägga till (#) i början av varje alternativs rader. /var/www/din_domän ServerName ServerAlias
Använd nu a2ensite för att aktivera den nya virtuella värden:
sudo a2ensite din_domän
Du kanske vill inaktivera standardwebbplatsen som kommer installerad med Apache. Detta krävs om du inte använder ett anpassat domännamn, eftersom Apaches standardkonfiguration i det här fallet skulle åsidosätta din virtuella värd. För att inaktivera Apaches standardwebbplats, skriv:
sudo a2dissite 000-default
För att säkerställa att din konfigurationsfil inte innehåller syntaxfel, kör följande kommando:
sudo apache2ctl configtest
Du kan få utdata som följande:
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name,
using 127.0.1.1. Set the ’ServerName’ directive globally to suppress this message
Syntax OK
Du kan lösa dette genom att öppna /etc/apache2/apache2.conf och lägga till raden ”ServerName din servers namn”.
Slutligen, ladda om Apache så att dessa ändringar träder i kraft:
sudo systemctl reload apache2
Din nya webbplats är nu aktiv, men webbroten är fortfarande tom. Skapa en fil på den platsen för att testa att den virtuella värden fungerar som förväntat: /var/www/din_domän index.html
nano /var/www/din_domän/index.html
Inkludera följande innehåll i den här filen:
/var/www/din_domän/index.html
<html>
<head>
<title>din_domän website</title>
</head>
<body>
<h1>Hello World!</h1>
<p>This is the landing page of<strong>din_domän</strong>.</p>
</body>
</html>
Spara och stäng filen, gå sedan till din webbläsare och fyll i serverns domännamn eller IP-adress:
http://server_domän_eller_IP
Din webbsida bör återspegla innehållet i filen du just redigerade:
Hello World!
This is the landing page of din_domän.
En anteckning om Directory Index Apache
Med standardinställningarna DirectoryIndex på Apache kommer en fil med namn index.html alltid att ha företräde framför en index.php fil. Detta är användbart för att sätta upp underhållssidor i PHP-applikationer, genom att skapa en temporär index.html fil som innehåller ett informativt meddelande till besökare. Eftersom den här sidan kommer att ha företräde framför index.php sidan blir den sedan målsidan för applikationen. När underhållet är över byts index.html namnet om eller tas bort från dokumentroten, vilket ger tillbaka den vanliga applikationssidan.
Om du vill ändra detta beteende måste du redigera /etc/apache2/mods-enabled/dir.conf filen och ändra ordningen i vilken index.php filen listas i DirectoryIndexdirektivet:
sudo nano /etc/apache2/mods-enabled/dir.conf
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
När du har sparat och stängt filen måste du ladda om Apache så att ändringarna träder i kraft:
sudo systemctl reload apache2
I nästa steg skapar vi ett PHP-skript för att testa att PHP är korrekt installerat och konfigurerat på din server.
Steg 5 — Testa PHP-bearbetning på din webbserver
Nu när du har en anpassad plats för din webbplats filer och mappar, skapa ett PHP-testskript för att bekräfta att Apache kan hantera och bearbeta förfrågningar om PHP-filer.
Skapa en ny fil med namnet info.php i din anpassade webbrotmapp:
sudo nano /var/www/din_domän/info.php
Detta öppnar en tom fil. Lägg till följande text, som är giltig PHP-kod, inuti filen:
<?php phpinfo();
När du är klar, spara och stäng filen.
För att testa det här skriptet, gå till din webbläsare och fyll i din servers domännamn eller IP-adress, följt av skriptnamnet, som i det här fallet är info.php:
http://server_domän_eller_IP/info.php
Här är ett exempel på PHP-standardwebbsidan:
Den här sidan ger information om din server utifrån PHP. Det är användbart för felsökning och för att säkerställa att dina inställningar tillämpas korrekt.
Om du ser den här sidan i din webbläsare fungerar din PHP-installation som förväntat.
Efter att ha kontrollerat relevant information om din PHP-server via den sidan, är det bäst att ta bort filen du skapade eftersom den innehåller känslig information om din PHP-miljö och din Ubuntu-server. Använd rm för att göra det:
sudo rm /var/www/din_domän/info.php
Du kan alltid återskapa den här sidan om du behöver komma åt informationen igen senare.
0 kommentarer