Denna guide visar hur du installerar en komplett LAMP-stack (Linux, Apache, MariaDB, PHP) på Ubuntu 24.04 samt säkrar din webbplats med SSL/TLS-certifikat från Let's Encrypt.
Börja med att uppdatera ditt system:
sudo apt update
sudo apt upgrade -ysudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2Verifiera installationen genom att öppna http://localhost eller din servers IP-adress i en webbläsare.
sudo apt install mariadb-server mariadb-client -y
sudo systemctl enable mariadb
sudo systemctl start mariadbSäkra din MariaDB-installation:
sudo mysql_secure_installationFölj anvisningarna för att:
- Sätta ett root-lösenord
- Ta bort anonyma användare
- Inaktivera fjärrinloggning som root
- Ta bort testdatabasen
- Ladda om privilegietabellerna
sudo apt install php libapache2-mod-php php-mysql php-common php-cli php-json php-curl php-gd php-mbstring php-xml php-zip -ySkapa en testfil:
sudo nano /var/www/html/info.phpLägg till följande innehåll:
<?php
phpinfo();
?>Spara filen (Ctrl+O, Enter och stäng med Ctrl+X).
Starta om Apache:
sudo systemctl restart apache2Besök http://localhost/info.php eller http://din-server-ip/info.php för att verifiera PHP-installationen.
sudo nano /etc/apache2/mods-enabled/dir.confÄndra innehållet till:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Spara och starta om Apache:
sudo systemctl restart apache2För att säkra din webbplats med SSL/TLS-certifikat från Let's Encrypt behöver du Certbot:
sudo apt install certbot python3-certbot-apache -yInnan du kan få ett certifikat behöver du ett domännamn som pekar till din server. Se till att din domän är korrekt konfigurerad med A- eller AAAA-poster som pekar till din servers IP-adress.
Kör följande kommando och följ instruktionerna:
sudo certbot --apacheDu kommer att bli ombedd att:
- Ange din e-postadress (för förnyelseaviseringar)
- Godkänna användarvillkoren
- Välja vilka domäner du vill aktivera HTTPS för
- Välja om du vill omdirigera HTTP-trafik till HTTPS (rekommenderas)
Certbot konfigurerar en timer som automatiskt förnyar dina certifikat innan de löper ut. Kontrollera att timern är aktiv:
sudo systemctl status certbot.timerDu kan också testa förnyelseproceduren:
sudo certbot renew --dry-runFör att installera Stimma, följ dessa steg:
cd /var/www
sudo git clone https://github.com/Chralf/Stimma.git
cd Stimma
sudo ln -s /var/www/Stimma/html/* /var/www/html/
sudo chown -R www-data:www-data /var/www/Stimma
sudo git pull
git config --global --add safe.directory /var/www/StimmaFör att enklare hantera din databas kan du installera phpMyAdmin:
sudo apt-get install phpmyadminFölj installationsguiden och välj Apache2 som webbserver när du blir tillfrågad.
cd html
cp env.example .env
vi .env # Redigera miljövariabler
chmod 755 upload -R # Sätt rättigheter för upload-mappenI .env-filen behöver du konfigurera:
- Databasanslutning
- E-postinställningar
- Andra miljövariabler som krävs för din installation
- Skapa en ny databas och användare i MariaDB:
sudo mysql -u root -p
CREATE DATABASE stimma;
CREATE USER 'stimma_user'@'localhost' IDENTIFIED BY 'ditt_lösenord';
GRANT ALL PRIVILEGES ON stimma.* TO 'stimma_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;-
Uppdatera databasuppgifterna i
.env-filen med de nya användaruppgifterna -
Importera databasschemat genom att följa instruktionerna i setup_database.md
Verifiera att allt fungerar korrekt:
- Kontrollera att Apache2 körs:
sudo systemctl status apache2 - Kontrollera att MariaDB körs:
sudo systemctl status mariadb - Verifiera att alla filrättigheter är korrekta
- Testa att komma åt webbplatsen via webbläsaren
- Kontrollera att SSL-certifikatet fungerar korrekt
Om du stöter på problem:
- Kontrollera Apache2-felloggar:
sudo tail -f /var/log/apache2/error.log - Verifiera PHP-konfigurationen:
php -i - Kontrollera databasanslutningen
- Verifiera filrättigheter och ägare
- Kontrollera att alla nödvändiga PHP-moduler är installerade
För att säkerställa en säker installation:
- Uppdatera systemet regelbundet:
sudo apt update && sudo apt upgrade - Använd starka lösenord för alla användare och databaser
- Begränsa åtkomst till admin-panelen
- Säkerhetskopiera databasen regelbundet
- Använd SSL/TLS för all trafik
- Konfigurera en brandvägg (UFW):
sudo apt install ufw
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enableFör att hålla din installation uppdaterad:
- Uppdatera Stimma regelbundet:
cd /var/www/Stimma
sudo git pull- Uppdatera systemet regelbundet:
sudo apt update
sudo apt upgrade- Kontrollera SSL-certifikatets status:
sudo certbot renew --dry-runDin LAMP-stack är nu installerad och säkrad med Let's Encrypt. Av säkerhetsskäl bör du ta bort info.php-filen när du är klar med testningen:
sudo rm /var/www/html/info.php