Title: Hur man installerar en LAMP-stack på Ubuntu

Denna artikel ger en steg-för-steg-guide för att installera LAMP-stacken (Linux, Apache, MySQL, PHP) på Ubuntu 22.04 eller 24.04. Genom att följa dessa instruktioner kommer du att konfigurera en webbserver som kan vara värd för dynamiska webbplatser och applikationer.

Förutsättningar

  • En fräsch installation av Ubuntu 22.04 eller 24.04.
  • Sudo-privilegier på ditt system.
  • Ett icke-root-användarkonto med sudo-åtkomst.

Steg 1: Uppdatera systemet

Innan du installerar några nya paket är det en bra vana att uppdatera och uppgradera den befintliga programvaran på din Ubuntu-server.

  1. Öppna ett terminalfönster.
  2. Kör följande kommandon:
sudo apt update
sudo apt upgrade -y

Steg 2: Installera Apache-webbservern

Apache är en av de mest populära webbservrarna i världen. Du kan installera den med hjälp av följande kommando.

  1. I ditt terminalfönster, kör:
sudo apt install apache2 -y

För att säkerställa att Apache körs och är inställd på att starta vid uppstart, använd:

sudo systemctl status apache2
sudo systemctl enable apache2

Steg 3: Installera MySQL-databasservern

MySQL är ett широко använt relationellt databashanteringssystem. Installera det med hjälp av följande kommando.

  1. I ditt terminalfönster, kör:
sudo apt install mysql-server -y

Efter installationen, säkerställ MySQL genom att köra:

sudo mysql_secure_installation

Följ anvisningarna för att ange ett rotlösenord och göra andra säkerhetsrelaterade ändringar.

Steg 4: Installera PHP

PHP är ett serverside-skriptspråk som låter dig skapa dynamiska webbsidor. Installera det tillsammans med några vanliga PHP-moduler:

  1. I ditt terminalfönster, kör:
sudo apt install php libapache2-mod-php php-mysql -y

Steg 5: Konfigurera Apache för att bearbeta PHP-filer

Som standard prioriterar Apache HTML-filer över PHP-filer. För att ändra detta beteende måste du redigera filen dir.conf.

  1. Redigera filen dir.conf:
sudo nano /etc/apache2/mods-enabled/dir.conf

Ändra ordningen på index.php och index.html så att det ser ut som följer:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Spara filen och avsluta. Sedan, starta om Apache för att tillämpa ändringarna:

sudo systemctl restart apache2

Steg 6: Konfigurera en virtuell värd (Valfritt)

För att vara värd för flera webbplatser på din server kan du konfigurera virtuella värdar.

  1. Skapa katalogen för din webbplats:
  2. Skapa och redigera konfigurationsfilen för din sida:
  3. Aktivera den nya sitekonfigurationen:
  4. Inaktivera standardsidan för att undvika konflikter:
  5. Starta om Apache för att tillämpa ändringarna:
sudo mkdir /var/www/your_domain
sudo nano /etc/apache2/sites-available/your_domain.conf

Lägg till följande konfiguration, ersätt your_domain med ditt faktiska domännamn eller IP-adress:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite your_domain.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2

Steg 7: Testa PHP-bearbetning på Apache

Skapa en PHP-fil för att testa om Apache kan bearbeta PHP-filer.

  1. Skapa filen info.php:
  2. Lägg till följande kod i filen:
  3. Spara och stäng filen.
  4. Besök http://your_server_ip/info.php i din webbläsare. Du bör se en sida med PHP-version och konfigurationsinformation.
sudo nano /var/www/your_domain/info.php
<?php
phpinfo();
?>

Konfigurera brandväggens regler

Om du har UFW (Uncomplicated Firewall) aktiverat, tillåt HTTP- och HTTPS-trafik.

  1. Tillåt profilen 'Apache Full':
sudo ufw allow in "Apache Full"

Felsökning

  • Apache startar inte: Kontrollera Apache-felloggen med sudo tail -f /var/log/apache2/error.log.
  • PHP-info-sidan visas inte: Se till att PHP är installerat korrekt och att filen innehåller inga syntaxfel.
  • Brandväggsproblem: Verifiera att UFW-reglerna är inställda korrekt med sudo ufw status verbose.