Sådan installeres WordPress med Nginx på Debian 12 eller 11

WordPress er et kraftfuldt og udbredt indholdsstyringssystem (CMS), der giver brugerne mulighed for at oprette og administrere websteder med lethed. Når det kombineres med LEMP-stakken (Linux, NGINX, MariaDB, PHP), bliver WordPress en robust og højtydende platform til webudvikling. LEMP-stakken er kendt for sin effektivitet, hastighed og skalerbarhed, hvilket gør den ideel til hosting af WordPress-websteder. Nøglefunktioner i WordPress inkluderer en intuitiv grænseflade, omfattende plugin-økosystem, tilpassede temaer og stærk fællesskabsstøtte.

Følg disse trin for at installere WordPress på Debian 12 eller 11 med NGINX, MariaDB og PHP. Denne guide vil dække opsætningen af ​​LEMP-stakken, installationen af ​​WordPress og vigtige konfigurationer for at få dit websted op at køre problemfrit.

Installer LEMP til WordPress

Opdater Debian før installation af LEMP Stack

Før du installerer WordPress, skal du opdatere dit Debian-system for at forhindre potentielle konflikter. Åbn din terminal og kør:

sudo apt update && sudo apt upgrade

Denne kommando opdaterer tilgængelige pakker og opgraderer dit system.

Installer de nødvendige pakker

Selvom du har nogle vigtige pakker til WordPress, skal du dobbelttjekke for at sikre, at du ikke gik glip af nogen. Kør følgende kommando:

sudo apt install curl git wget unzip zip

Denne kommando installerer eller bekræfter de nødvendige pakker til WordPress.

Installer Nginx – Del 1 af LEMP-installation

For at konfigurere en LEMP-stak skal du installere Nginx. Kør denne kommando:

sudo apt install nginx

Efter installation skal du kontrollere, om Nginx kører:

systemctl status nginx

Hvis Nginx-tjenesten ikke er aktiv, kan du sætte den i gang med følgende kommando:

sudo systemctl enable nginx --now

Denne kommando sikrer, at Nginx starter med hver servergenstart, hvilket er vigtigt for en funktionel LEMP-stak.

Bemærk: Det er bedst at bruge den seneste Nginx-hovedversion til at optimere din WordPress-ydeevne. Du kan følge guiden på installation af Nginx Mainline på Debian Linux for at installere den seneste version. Denne version tilbyder yderligere funktioner og forbedringer for at forbedre dit websteds hastighed og overordnede ydeevne.

Opsætning af UFW Firewall til Nginx

Konfiguration af UFW-firewallen med din Nginx-server er afgørende for sikkerheden og for at tillade ekstern adgang til standard webporte. Den gode nyhed er, at Nginx tilbyder profiler, der forenkler UFW-opsætningsprocessen.

Installation af UFW:

Hvis du endnu ikke har installeret UFW på dit Debian-system, skal du udføre kommandoen nedenfor:

sudo apt install ufw

Aktivering af UFW:

Når den er installeret, er det tid til at aktivere UFW. Som standard blokerer UFW alle indgående forbindelser, mens alle udgående tillader. Aktiver firewallen med:

sudo ufw enable

Visning af Nginx-profiler:

For at kontrollere de tilgængelige Nginx-profiler for UFW, kør følgende:

sudo ufw app list

Fra outputtet vil du bemærke, at:

  • Nginx opererer på port 80 (HTTP)
  • Nginx Secure fungerer på port 443 (HTTPS)
  • Nginx Full omfatter begge porte

Konfiguration af UFW til Nginx:

Hvis du vil aktivere både HTTP- og HTTPS-adgang, skal du vælge Nginx Full-profilen:

sudo ufw allow 'Nginx Full'

Dine krav kan dog variere:

For kun HTTPS-adgang skal du vælge Nginx Secure-profilen:

sudo ufw allow 'Nginx Secure'

Kun HTTP-adgang, gå med Nginx HTTP-profilen:

sudo ufw allow 'Nginx HTTP'

Du kan oprette andre UFW-regler for at sikre din server og LEMP-opsætning med WordPress, og du bør investere tid i at låse din server ned, hvis den er udsat for offentligheden.

Installer MariaDB – Del 2 af LEMP-installation

MariaDB, kendt for sin forbedrede ydeevne over MySQL, er databasekomponenten i LEMP-stakken. Hvis du ønsker at installere en specifik version af MariaDB fra MariaDB.orgs officielle arkiver, henvises til vejledninger på installation af MariaDB på Debian. Dette kan optimere din WordPress ydeevne yderligere.

For at installere MariaDB skal du køre:

sudo apt install mariadb-server mariadb-client

Efter installationen skal du kontrollere MariaDBs status:

systemctl status mariadb

Denne kommando viser MariaDBs servicestatus og eventuelle potentielle fejl.

Hvis MariaDB ikke kører, skal du starte det med:

sudo systemctl enable mariadb --now

Dette sikrer, at MariaDB starter med hver systemgenstart, hvilket er afgørende for en stabil LEMP-stak og WordPress-opsætning.

Sikker MariaDB med sikkerhedsscript

For databeskyttelse skal du sikre din MariaDB-installation. Friske MariaDB-installationer kan have slappe sikkerhedsstandarder, hvilket udsætter dem for trusler. Mysql_secure_installation scriptet kan dog styrke din databases forsvar.

Kør sikkerhedsscriptet:

sudo mysql_secure_installation

Dette script guider dig gennem flere sikkerhedskonfigurationer:

  • Indstilling af root-adgangskoden eller valg af unix_socket for at forhindre uautoriseret adgang.
  • Sletning af anonyme brugerkonti for at begrænse databaseadgang til autoriserede brugere.
  • Begrænsning af fjernlogin for root-brugerkonti.
  • Fjernelse af testdatabasen for at undgå uautoriseret adgang og potentielle datalæk.

Besvar hver prompt opmærksomt; disse indstillinger påvirker i høj grad din databases sikkerhed. Efter at have gennemført trinene, bør din MariaDB-opsætning være sikker og operationel.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Disse sikkerhedsforanstaltninger sikrer, at din MariaDB-installation er sikker og beskyttet mod trusler.

Installer PHP, PHP-FPM – Del 3 af LEMP-installation

For en komplet LEMP-stak skal du installere PHP. PHP fungerer som broen mellem Nginx og MariaDB, faciliteret af PHP-FPM og andre vigtige moduler til WordPress.

Bemærk: Hvis du ønsker en specifik PHP-version, der er skræddersyet til dine behov, så kontakt vores guide til installation af PHP på Debian. Nye brugere til Linux bør indtil videre bruge standarden, før de installerer brugerdefinerede versioner.

Kør følgende kommando for at installere PHP, PHP-FPM og de nødvendige moduler:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Efter installationen skal du kontrollere PHP-tjenestens status, som ligner det, du gjorde for MariaDB og Nginx. Til dette eksempel bruger vi PHP 7.4:

systemctl status php7.4-fpm

Outputtet skal se sådan ud:

Bemærk: PHP-FPM-versionen varierer med hver stabil Debian-udgivelse. Hvis du er usikker på din version, så kør php -v at finde ud af.

Pre-installation konfiguration til WordPress med LEMP

Opret WordPress Directory-struktur

For at installere WordPress på din Debian LEMP-stak kan du enten Hent den seneste version fra den officielle WordPress.org-downloadside eller brug følgende kommando til at downloade den direkte:

wget https://wordpress.org/latest.zip

Når det er downloadet, skal du udpakke arkivet til mappen /var/www/html ved hjælp af følgende kommando:

sudo unzip latest.zip -d /var/www/html/

Dernæst skal du sikre dig, at WordPress har de korrekte skrivetilladelser ved at indstille mappeejerens tilladelser til webserverbrugeren.

Dette kan gøres med følgende kommando:

sudo chown -R www-data:www-data /var/www/html/wordpress/

Efter at have indstillet mappeejertilladelsen, skal du indstille de korrekte tilladelser for WordPress-mapperne og -filerne ved hjælp af følgende kommandoer:

For mapper:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

Og for filer:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Indstilling af de korrekte mappe- og filtilladelser sikrer, at din WordPress-installation er sikker og fungerer korrekt.

Opret en database til WordPress

For at køre WordPress på din Debian LEMP-stak skal du oprette en database ved hjælp af MariaDB. Få adgang til MariaDB-skallen som root ved hjælp af følgende kommando:

sudo mariadb -u root

Når du er i MariaDB-skallen, skal du oprette en ny database ved hjælp af følgende kommando:

CREATE DATABASE WORDPRESSDB;

Opret derefter en ny brugerkonto til WordPress med følgende kommando:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Bemærk: Erstat "WPUSER" og "PASSWORD" med dit ønskede brugernavn og adgangskode.

Til sidst skal du kun tildele den nyoprettede brugerkonto adgang til WordPress-websteddatabasen ved hjælp af følgende kommando:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Når du har oprettet brugerkontoen, skal du fjerne rettighederne for at sikre, at de nye ændringer træder i kraft med følgende kommando:

FLUSH PRIVILEGES;

Til sidst skal du afslutte MariaDB-skallen ved at skrive:

EXIT;

Indstil WordPress-konfigurationsfiler

Opsætning af WordPress-konfigurationsfiler er et vigtigt trin i installationsprocessen. Dette involverer omdøbning af eksempelfilen wp-config.php og indtastning af de nødvendige konfigurationsdetaljer.

Naviger til WordPress-biblioteket ved hjælp af følgende kommando:

cd /var/www/html/wordpress/

Kopier wp-config-sample.php til wp-config.php ved hjælp af følgende kommando:

sudo cp wp-config-sample.php wp-config.php

Brug en teksteditor til at hente den nyligt kopierede wp-config.php-fil:

sudo nano wp-config.php

Indtast derefter databasenavnet, brugerkontoen med en adgangskode og værtens IP-adresse, hvis det er nødvendigt.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

Ud over disse indstillinger kan du også tilføje følgende til filen wp-config.php for at forbedre WordPress-administrationen:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

Din dedikerede servers eller VPS's hukommelsesgrænse kan variere afhængigt af dit systems kapacitet. Du kan øge eller mindske 256 MB hukommelsesgrænsen i små trin, såsom 128 MB, 256 MB, 512 MB osv.

Bemærk: Det er vigtigt at bemærke, at det anbefales kun at foretage små justeringer af hukommelsesgrænsen for optimal ydeevne og stabilitet.

Implementering af WordPress Security Salt Keys

Det er altafgørende at forbedre din WordPress-installations sikkerhed, og en effektiv måde at opnå dette på er ved at opsætte WordPress-sikkerhedssaltnøgler. Disse nøgler fungerer som et udvidet sikkerhedsskjold, der styrker dit WordPress-websted mod potentielle trusler og styrker brugergodkendelse og datakryptering.

Generering af sikkerhedsnøgler

For at producere dine sikkerhedsnøgler skal du navigere til WordPress hemmelige nøgle API: https://api.wordpress.org/secret-key/1.1/salt/. Når du har genereret disse nøgler, er det vigtigt at erstatte pladsholderlinjerne i din wp-config.php fil med dine unikke nøgler. Dette trin styrker brugergodkendelse og datakryptering.

Bemærk: Brug ikke de eksempellinjer, der er angivet her eller andre steder, da de er til illustrative formål. Brug af forudindstillede saltnøgler kan udsætte dit websted for sårbarheder. Generer altid særskilte nøgler til hver WordPress-opsætning for at sikre optimal sikkerhed.

Integrering af sikkerhedssaltnøgler

For at indlejre de nygenererede sikkerhedsnøgler i din wp-config.php fil, skal du åbne filen i en teksteditor:

sudo nano /var/www/html/wordpress/wp-config.php

Identificer nu linjerne i filen wp-config.php, der svarer til eksempelnøglerne. Når den er fundet, skal du erstatte hver prøvenøgle i filen wp-config.php med dine nygenererede nøgler. Når du har foretaget de nødvendige udskiftninger, skal du sørge for at gemme og lukke filen.

Hvis du bruger nano-editoren, skal du gemme ved at trykke på "CTRL+X" efterfulgt af "Y".

Nginx-serverblokkonfiguration til WordPress LEMP-opsætning

Opsætning af Nginx-serverblokken korrekt er afgørende for en problemfri WordPress-installation via web-UI. Det er vigtigt at få "try_files $uri $uri/ /index.php?$args;" direktivret. At udelade "?$args" kan forstyrre WordPress's REST API. Følg disse instruktioner nøje for at undgå potentielle hikke under installationen.

Opret en ny serverkonfigurationsfil til din WordPress-installation på Nginx. Erstat "example.com" med dit faktiske domænenavn i følgende kommando:

sudo nano /etc/nginx/sites-available/example.com.conf

For at Nginx kan arbejde med PHP, skal du inkludere "placeringen ~ .php$" i serverblokkonfigurationsfilen. Her er et eksempel på en konfiguration, du kan bruge som reference.

Sørg for at justere rodstien og domænenavnene, så de passer til din opsætning:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

Husk, juster Nginx-konfigurationsfilen i overensstemmelse hermed, hvis du har installeret en anden PHP- eller PHP-FPM-version, eller din Debian-version er standard til en anden PHP-version.

For eksempel, for PHP-FPM 8.2, ændre linjen fastcgi_pass unix:/run/php/php8.1-fpm.sock; til fastcgi_pass unix:/run/php/php8.2-fpm.sock;. Det er essentielt at matche versionen i konfigurationen med versionen på dit system for problemfri funktionalitet.

Forstå WordPress Nginx Server Block

For dem, der er nye til at konfigurere Nginx og WordPress, er her en oversigt over serverblokeksemplet:

Grundlæggende serverindstillinger:

  • Disse indstillinger definerer de grundlæggende aspekter af serverblokken, såsom IP-adressen, porten for Nginx at lytte på og servernavne.
  • Roddirektivet peger på den primære mappe, der indeholder webstedsfilerne.
  • Indeksdirektivet instruerer Nginx om at identificere indeksfiler, når webstedet betjenes.

Placeringsindstillinger:

  • Disse indstillinger inkluderer forskellige lokationsblokke, der dikterer, hvordan Nginx behandler anmodninger om forskellige URL'er.
  • Den indledende placeringsblok administrerer anmodninger til webstedets rod-URL ved at bruge try_files-direktivet.
  • Den efterfølgende lokationsblok behandler anmodninger specifikt for WordPress sitemap.xml-filen.

PHP-håndteringsindstillinger:

  • Disse indstillinger bestemmer, hvordan Nginx behandler PHP-filer.
  • Fastcgi_pass-direktivet peger på PHP-FPM socket-filens placering.
  • Fastcgi_param-direktivet tildeler SCRIPT_FILENAME-parameterens værdi til den anmodede PHP-fils placering.
  • Inkluderingsdirektiverne trækker yderligere konfigurationsfiler ind til FastCGI-modulet.
  • Direktiver som fastcgi_buffer_size og fastcgi_buffers angiver bufferstørrelsen for dataoverførsel mellem Nginx og PHP-FPM.
  • Fastcgi_intercept_errors-direktivet giver Nginx mulighed for at fange og administrere PHP-fejl.

Gzip-komprimeringsindstillinger:

  • Disse indstillinger konfigurerer Gzip-komprimering, hvilket reducerer filstørrelsen, der leveres til klienten.
  • Gzip-direktivet aktiverer Gzip-komprimering.
  • Direktiver som gzip_comp_level og gzip_min_length bestemmer henholdsvis komprimeringsniveauet og minimumsfilstørrelsen for komprimering.
  • Direktivet gzip_proxied identificerer, hvilke anmodningstyper der gennemgår komprimering.
  • Direktivet gzip_types opregner de MIME-typer, der er kvalificerede til komprimering.

Indstillinger for filcache:

  • Disse indstillinger optimerer caching til statiske filer, hvilket øger webstedshastigheden.
  • Den indledende placeringsblok fastlægger udløbsvarigheden for aktiv- og mediefiler.
  • Den efterfølgende lokationsblok indstiller udløbet for skrifttype- og SVG-filer.
  • Direktiver såsom access_log og log_not_found styrer logningen af ​​anmodninger.
  • Add_header-direktivet tilføjer Access-Control-Allow-Origin-headeren, hvilket tillader indlæsning af skrifttyper og SVG fra eksterne domæner.

.htaccess filblokering:

  • Denne indstilling begrænser adgangen til filer, der starter med .ht, typisk følsomme serverkonfigurationsfiler.

Opsætning af Nginx-serverblokken med et symbolsk link

For at afslutte Nginx-serverblokkonfigurationen skal du aktivere konfigurationsfilen fra "sites-available"-mappen. Dette opnås ved at oprette et symbolsk link til mappen "websteder-aktiverede".

Udfør kommandoen nedenfor, og sørg for, at du erstatter "example.com.conf" med din konfigurationsfils navn:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Denne kommando etablerer en symbolsk forbindelse mellem mapperne, hvilket giver Nginx adgang til konfigurationsfilen. Efter opsætning af dette, valider konfigurationen med:

sudo nginx -t

Hvis testen ikke returnerer nogen fejl, genstart Nginx for at anvende serverblokændringerne:

sudo systemctl restart nginx

Når disse trin er gennemført, skulle dit WordPress-websted nu være tilgængeligt via Nginx.

Konfiguration af PHP.ini til optimal WordPress-ydelse

Justering af dine PHP-indstillinger er afgørende for at opnå den bedste ydeevne med WordPress. For at håndtere mediefiler effektivt i WordPress skal du overveje at øge den maksimale uploadstørrelse, poststørrelse og hukommelsesgrænse. Du skal muligvis også justere den maksimale udførelsestid og inputvariabler for at forhindre potentielle problemer.

Brug terminalen for at få adgang til din php.ini-fil. Husk, at filens placering kan variere baseret på din PHP-version:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

For at skræddersy PHP-indstillingerne skal du finde og justere følgende linjer i din php.ini-fil:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Efter at have ændret dine PHP-indstillinger, er det vigtigt at genstarte PHP-FPM-serveren. Dette sikrer, at de nye konfigurationer er aktive, så dit WordPress-websted kan fungere bedst muligt.

Forøg Nginx Server Client Max Body Size

For at imødekomme større filuploads på dit WordPress-websted, skal du justere Nginx-serverblokken. Dette sikrer, at Nginx kan håndtere større HTTP-anmodningsorganer, hvilket er vigtigt, når man håndterer store filuploads.

Ændring af Nginx-serverblokken

Åbn din serverblokkonfigurationsfil, og indsæt følgende linje:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Sørg for, at værdien for client_max_body_size stemmer overens med den upload_max_filesize, du har konfigureret i dine PHP-indstillinger.

Genstarter PHP-FPM

Efter at have justeret PHP-indstillingerne for optimal WordPress-ydeevne, inklusive uploadstørrelse, poststørrelse og hukommelsesgrænse, er det afgørende at genstarte PHP-FPM-serveren for at ændringerne træder i kraft. Den nøjagtige kommando til at genstarte serveren afhænger af din PHP-version. Hvis du er i tvivl om din PHP-version, skal du konsultere dit systems dokumentation.

For forskellige PHP-versioner skal du bruge de tilsvarende kommandoer til at genstarte PHP-FPM:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Installer WordPress Front-end

Efter at have afsluttet backend-opsætningen og -konfigurationen, er det tid til at starte WordPress-frontenden på dit domæne. Start installationen ved at gå til dit domæne med "https://" eller "http://" foran. Alternativt kan du få direkte adgang til "https://www.yoursite.com/wp-admin/install.php."

Denne URL leder dig til front-end installationsguiden.

Trin 1: Vælg WordPress-sprog

Vælg dit ønskede sprog og klik "Blive ved."

Trin 2: Opret Admin-bruger til WordPress

Dernæst lander du på en side, der beder dig om at indtaste dit websteds titel, brugernavn, adgangskode og hovedadministratorens e-mailadresse til WordPress-webstedet.

Af sikkerhedsmæssige årsager skal du vælge en robust adgangskode og angive en gyldig e-mailadresse. Husk, at du kan ændre andre indstillinger senere i WordPress-indstillingspanelet.

For dem, der udvikler deres websted og ønsker at holde det privat fra søgemaskiner som Google eller Bing, er der en mulighed for at "på det kraftigste fraråde søgemaskiner at indeksere."

Trin 3: Fortsæt og klik på Installer WordPress-knappen

Når du har udfyldt dine detaljer og præferencer, skal du trykke på "Installer WordPress" knap. En vellykket installation vil omdirigere dig til login-siden.

Trin 4: Fortsæt med at logge ind på WordPress Admin Page

Indtast dine loginoplysninger og tryk på "Log ind". Denne handling fører dig ind i WordPress-dashboardet, hvor du kan lave eller importere dit websted.

Trin 5: Se og juster WordPress-webstedet via WordPress Admin

WordPress-dashboardet er dit kommandocenter. Her kan du udarbejde nye indlæg, designe sider, håndtere temaer og plugins og skræddersy dit websteds udseende, indhold og drift.

Med sin brugervenlige grænseflade giver dashboardet dig mulighed for hurtigt at etablere dit websted, så du kan designe et fængslende og professionelt websted med minimal indsats.

Yderligere tips til WordPress med Nginx

Sikring af WordPress og Nginx med Let's Encrypt SSL-certifikat

Det er altafgørende at forbedre din webservers sikkerhed, og en effektiv måde at opnå dette på er ved at køre Nginx på HTTPS ved hjælp af et SSL-certifikat. Let's Encrypt tilbyder en gratis, automatiseret og åben certifikatautoritet, hvilket gør opsætning af SSL-certifikater til din Nginx-server lettere.

Installation af Certbot

Start med at installere certbot-pakken med kommandoen:

sudo apt install python3-certbot-nginx

Generering af SSL-certifikatet

Når du har installeret certbot-pakken, skal du generere dit SSL-certifikat med følgende:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Certbot vil bede dig om at indtaste din e-mail og dit domænenavn under denne proces. Du har også mulighed for at modtage e-mails fra EFF. Beslut om du vil tilmelde dig baseret på dine præferencer.

Efter installation af certifikatet vil din hjemmesides URL skifte fra HTTP til HTTPS. Besøgende, der får adgang til den gamle HTTP-URL, vil automatisk blive omdirigeret til den nye HTTPS-URL. Denne konfiguration sikrer HTTPS 301-omdirigeringer, en Strict-Transport-Security-header og OCSP-hæftning for top-tier sikkerhed.

Opsætning af automatisk certifikatfornyelse

For at holde dit SSL-certifikat gyldigt skal du konfigurere et cron-job til dets automatiske fornyelse. Certbot tilbyder et script til dette. Før du afslutter opsætningen, skal du køre en tørkørselstest:

sudo certbot renew --dry-run

Få adgang til crontab-konfigurationen, indtast:

sudo crontab -e

For automatisk at forny dit SSL-certifikat skal du planlægge det ved hjælp af et cron-job med følgende kommando:

00 00 */1 * * /usr/sbin/certbot-auto renew

Dette vil forsøge at forny certifikatet hver dag ved midnat.

Løsning af PHP-sessionsfejl

Støder du på problemer med sessionsbesparelse, især når du bruger visse plugins? Roden til problemet kan være forkerte brugertilladelser i mappen /var/lib/php/sessions/. Men bare rolig; du kan løse dette med en ligetil kommando.

Justering af mappetilladelser

Kør kommandoen nedenfor for at indstille de korrekte tilladelser:

sudo chown -R www-data:www-data /var/lib/php/sessions/

Denne kommando indstiller www-data-brugeren og -gruppen som ejere af sessionsmappen. Som et resultat kan WordPress skrive sessionsdata uden problemer. Denne justering er afgørende for den problemfri drift af dit WordPress-websted, primært hvis du bruger plugins, der håndterer automatiserede opgaver, såsom opslag på sociale medier.

Håndtering af PHP-sessionsfejl er nøglen til at øge dit websteds ydeevne og forbedre brugeroplevelsen.

Løsning af HTTPS Redirect Loop i WordPress

Hvis dit WordPress-websted finder sig selv fanget i en omdirigeringsløkke efter aktivering af HTTPS, er det sandsynligvis, fordi WordPress bliver ved med at forsøge at omdirigere til den sikre HTTPS-version, men løkken bliver aldrig fuldført. For at tackle dette kan du ændre din wp-config.php fil med specifikke linjer kode.

Ændring af filen wp-config.php

Indsæt følgende linjer i din wp-config.php:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Her er en oversigt over, hvad hver linje gør:

  • Den første linje sætter FORCE_SSL_ADMIN-konstanten til sand, hvilket sikrer, at alle admin-sider bruger HTTPS.
  • Den efterfølgende kode kontrollerer, om HTTP_X_FORWARDED_PROTO-headeren indeholder udtrykket "https." Hvis den finder et match, angiver den HTTPS-servervariablen som "til". Denne handling informerer WordPress om, at forbindelsen er sikker.

Ved at integrere disse linjer i din wp-config.php-fil bør du være i stand til at bryde fri fra HTTPS-omdirigeringsløkken og sikre, at dit WordPress-websted fungerer problemfrit med dets nye sikre forbindelse.

Ret domænenavnsomdirigeringsløkke

En omdirigeringsløkke på dit WordPress-websted kan nogle gange stamme fra et misforhold mellem domænenavnet angivet i din wp-config.php-fil og dit websteds domænenavn. For at løse dette skal du verificere og muligvis justere domænenavnet i konfigurationen.

Kontrollerer filen wp-config.php

Undersøg følgende linjer i din wp-config.php:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Hvis domænenavnet ikke stemmer overens med dit websteds domæne, skal du rette det i overensstemmelse hermed.

Konklusion

Med WordPress succesfuldt installeret på dit Debian-system ved hjælp af LEMP-stakken, kan du drage fordel af dets kraftfulde funktioner og robuste ydeevne. Opdater jævnligt din WordPress-installation og komponenter i LEMP-stakken for at sikre optimal sikkerhed og funktionalitet. Nyd den fleksibilitet og omfattende muligheder, som WordPress og LEMP-stakken tilbyder til at oprette og administrere din hjemmeside.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar