Sådan installeres Wordpress med Nginx på Ubuntu 20.04 LTS

Installer WordPress med fuld LEMP-stak på en Ubuntu 20.04 LTS

WordPress er uden tvivl den mest populære content management software i verden i øjeblikket. Det anslås, at mere end 27 millioner live-websteder på internettet er blevet oprettet ved hjælp af WordPress. Selv Allthings.how er skabt ved hjælp af WordPress!

Som du måske ved, har WordPress brug for en webserveropsætning sammen med et databasestyringssystem og naturligvis en PHP-motor på den computer, den skal installeres på. En sådan stak software er almindeligvis påkrævet af indholdsstyringssoftware og forkortes ofte som LAMP (Linux, Apache, MySQL, PHP/Perl/Python) eller WAMP (Windows, Apache, MySQL, PHP/Perl/Python). I denne artikel vil vi se, hvordan du installerer WordPress ved hjælp af LEMP (Linux, Nginx, MySQL, PHP) stakken på et Ubuntu-system.

Installation af LEMP Stack og WordPress

For at installere stakken skal du køre:

sudo apt update sudo apt installer nginx mysql-server mysql-client php php-fpm php-mysql

Bemærk: For ældre Ubuntu-versioner (version 14.04 og derunder), skal du bruge apt-get i stedet for passende.

Pakken php-fpm er valgfrit, men kan varmt anbefales. Den installerer PHP Fast CGI Process Manager, som bruges til at optimere ydeevnen af ​​backend. Brugeren kan også vælge den populære open source-erstatning MariaDB i stedet for MySQL, som har brug for nøjagtig samme konfiguration som MySQL.

For at installere WordPress, skal vi blot downloade og pakke den ud. Vi pakker det ud i mappe /var/www/html, som er standardrodmappen for webservere i Linux.

cd /var/www/html sudo wget //wordpress.org/latest.zip sudo unzip latest.zip cd wordpress

Konfigurer Nginx til WordPress

Lige nu vil vi for nemheds skyld pege på domænet 127.0.0.1 (localhost) til vores WordPress-installation. Til produktionsinstallationer skal brugeren bruge systemets værtsnavn eller IP-adresse i Nginx-konfigurationen.

Først, oprette en ny fil/etc/nginx/sites-available/localhost ved at bruge vim eller en editor efter eget valg:

sudo vim /etc/nginx/sites-available/localhost

Indtast derefter følgende Nginx-konfiguration i filen:

server { lyt 80; lyt [::]:80; root /var/www/html/wordpress; indeks index.php; servernavn 127.0.0.1; placering / { try_files $uri $uri/ =404; } placering ~ \.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; inkludere fastcgi_params; } }

Ting du skal ændre i konfigurationsfilen ovenfor:

  • server navn: Skift det til dit domænenavn.
  • PHP FPM version: Linjen fastcgi_pass unix:/run/php/php7.0-fpm.sock skal ændres baseret på PHP FPM-versionen (dvs. PHP-versionen, da Ubuntu-lageret opdaterer PHP og PHP FPM til samme version). For at gøre dette, løb php -v, for at se versionen. Så hvis versionen for eksempel er 7.4, skal du ændre ovenstående linje til fastcgi_pass unix:/run/php/php7.4-fpm.sock

Grundlæggende konfigurerer vi her Nginx til at dirigere anmodningerne til 127.0.0.1 til vores WordPress-rodmappe. Vi specificerer indeksfilen (WordPress indeksfil er index.php) og nogle PHP FPM-parametre. For fuldstændig forklaring på Nginx-konfigurationsfildirektiver, tag et kig på Nginx-dokumentationen.

Trykke Flugt for at gå til vim-kommandotilstand, og skriv derefter :wq for at gemme og afslutte filen.

Dernæst skal vi skabe et symbolsk link for denne fil i mappen Nginx Sites Enabled:

sudo ln -s /etc/nginx/sites-available/localhost /etc/nginx/sites-enabled

Konfigurer MySQL til WordPress

Åbn MySQL kommandoprompt ved hjælp af:

mysql -u root -s

En standard rod brugeren er oprettet af MySQL under installationen, med adgangskoden samme som systemets root-adgangskode og med MySQL-administratorniveaurettigheder. Du kan bruge en anden bruger, hvis du allerede har oprettet en anden MySQL-bruger, men sørg for, at brugeren har tilladelser til at oprette database.

På MySQL-prompten skal du skrive følgende SQL til oprette en ny database til vores WordPress installation:

mysql> CREATE DATABASE databasenavn;

☝ Skift databasenavni kommandoen ovenfor til din præference.

Opret derefter et brugernavn og en adgangskode i databasen, som vi bruger filen wp_config senere i vejledningen.

mysql> GIV ALLE PRIVILEGIER PÅ databasenavn.* TIL "wordpressusername"@"localhost" -> IDENTIFICERET MED "password"; 

☝ Skift wordpressbrugernavn og adgangskodeefter din præference, og databasenavn til det du indstillede i den forrige kommando.

Kør endelig Flush kommando og derefter Afslut MySQL-prompten.

mysql> FLUSH PRIVILEGES; 
mysql> AFSLUT

Gå nu til WordPress rodmappe. Vi skal etablere MySQL-forbindelse i WordPress-konfigurationsfilen:

cd /var/www/html/wordpress

Opret WordPress-konfigurationsfil ved at kopiere eksempelkonfigurationsfilen:

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

Åbn konfigurationsfilen i vim eller en hvilken som helst editor efter eget valg:

sudo vim wp-config.php

Skift PHP-variablerne DB_NAME, DB_USER, DB_PASSWORD i filen:

define( 'DB_NAME', 'databasenavn'); /** MySQL database brugernavn */ define( 'DB_USER', 'wordpressusername' ); /** MySQL database adgangskode */ define( 'DB_PASSWORD', 'adgangskode' );

Trykke Flugt for at gå til vim kommandolinjetilstand. Type :wq og tryk Gå ind for at gemme og afslutte filen.

Endelig opsætning

Rediger mappetilladelserne på wordpress-mappen for at give adgang til den fra browseren.

sudo chmod -R 755 .

Tilladelse 755 betyder alle tilladelser for katalogejeren, læse- og eksekveringstilladelser for ejerens brugergruppe og læse- og eksekveringstilladelser for andre brugere. For detaljer om betydningen af ​​tilladelserne, se man-siden på chmod (mand chmod).

Langt om længe, genstart Nginx for at den nye konfiguration kan finde sted:

sudo service nginx genstart

Åbn dit websteds domænenavn (som konfigureret i server navn i Nginx-konfigurationsfilen ) i en webbrowser for at kontrollere, om WordPress fungerer. Det bør omdirigere dig til WordPress indledende opsætningsskærm.

Indtast detaljerne og afslut din WordPress-opsætning.