Installere NGINX med php og mariadb/mysql til wordpress

For at installere nginx og mysql samt php som skal bruges til wordpress gøres følgende.

Vi starter med at installere de pakke som skal bruges.

$ sudo apt update
$ sudo apt install nginx
$ nginx -v

Der er flere versioner af nginx. Efter hvilken version af ubuntu server du bruger.

16.04xenialx86_64, i386, ppc64el, aarch64/arm64
18.04bionicx86_64, aarch64/arm64
19.04discox86_64
19.10eoanx86_64

Efter disee pakkker er installeret kan du teste om din nginx virker med denne kommando.

$ curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Thu, 19 Dec 2019 11:46:30 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 19 Dec 2019 11:46:07 GMT
Connection: keep-alive
ETag: "5dfb62ff-264"
Accept-Ranges: bytes

Så ved vi nginx virker. Nu er det tid til at sætte mysql/mariadb op.

$ sudo apt install mariadb-server
$ sudo mysql_secure_installation

Dette script fører dig gennem en række spørgsmål, hvor du kan foretage nogle ændringer i din MariaDB-opsætning. Den første prompt beder dig om at indtaste den nuværende database-root-adgangskode. Dette må ikke forveksles med root brugeren. Databasens root bruger er en administrativ bruger med fulde privilegier over databasesystemet. Fordi du lige har installeret MariaDB og ikke har foretaget nogen konfigurationsændringer endnu, vil denne adgangskode være tom, så bare tryk på ENTER, når du bliver bedt om det.

Den næste prompt spørger dig, om du gerne vil oprette en database-root-adgangskode. Da MariaDB bruger en speciel godkendelsesmetode til root brugeren, der typisk er mere sikkert end at bruge en adgangskode, behøver du ikke at indstille dette nu. Skriv N, og tryk derefter på ENTER.

Derfra kan du trykke på Y og derefter ENTER for at acceptere standardindstillingerne for alle de efterfølgende spørgsmål. Dette vil fjerne anonyme brugere og test databasen, deaktivere ekstern root-login og indlæse disse nye regler, så MariaDB straks respekterer de ændringer, du har foretaget.
Når du er færdig, skal du logge ind på MariaDB-konsollen ved at skrive:

$ sudo mariadb

Bemærk, at du ikke behøver at angive en adgangskode for at oprette forbindelse som root-bruger. Det fungerer, fordi standardgodkendelsesmetoden for den administrative MariaDB-bruger er unix_socket i stedet for adgangskode. Selvom dette i første omgang kan se ud som et sikkerhedsmæssigt problem, gør det databaseserveren mere sikker, fordi de eneste brugere, der har tilladelse til at logge ind som rod MariaDB-bruger, er systembrugere med sudo-privilegier, der opretter forbindelse fra konsollen eller gennem et program, der kører med samme privilegier. Rent praktisk betyder det, at du ikke vil være i stand til at bruge den administrative databases root-bruger til at oprette forbindelse fra din PHP-applikation.

For at oprette database som skal bruges af wordpress skal du oprette databasen nu.

# CREATE DATABASE wordpressdb;
# GRANT ALL ON wordpressdb.* TO 'web_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Du skal huske at ændre password til et rigtigt password som er over 12 tegn langt. Du skal også lige huske at skrive det op. Da vi skal bruge det til wordpress setup. Når vi kommer så langt.

Så er det tid til at installere php

$ sudo apt install php-fpm php-mysql

Så er tid til at oprette en test config af php på serveren.

$ vi /var/www/mitdomain/info.php

Inden vi gå videre syntes jeg det er en go ide af fjerne denne fil igen

$ rm /var/www/1.2.3.4/info.php

Du kan altid oprette denne fil igen, hvis du har brug for den senere. Dernæst tester vi databaseforbindelsen fra PHP-siden

Hvis du ønsker at teste PHP kan tale sammen med MariaDB og udføre database sel kommandoer, du kan oprette en test table med navnet dummy data og se om du kan se de data igen. Så ved du det virker.

Først skal vi oprette forbindelse til MariaDB console med det navn som du har oprettet:

$ mariadb -u example_user -p

Opret en test table med navnet todo_list. Ud skal skrive dette i mariadb konsolen:

# CREATE TABLE example_database.todo_list (
    item_id INT AUTO_INCREMENT,
    content VARCHAR(255),
    PRIMARY KEY(item_id)
);
# INSERT INTO example_database.todo_list (content) VALUES ("Mit indlæg");
# INSERT INTO example_database.todo_list (content) VALUES ("Mit indlæg");
# INSERT INTO example_database.todo_list (content) VALUES ("Mit indlæg");

Nu er det tid tid at teste om data kommer i databasen  som ønsket.

# SELECT * FROM example_database.todo_list;
+---------+--------------------------+
| item_id | content |
+---------+--------------------------+
| 1 | Mit indlæg |
| 2 | Mit indlæg |
| 3 | Mit indlæg |
+---------+--------------------------+
4 rows in set (0.000 sec)

Du er nu færdig med test af databasen og det virker som det skal. For at exit Maiadb skriver du exit som vist her.

# exit

Så er det tid til wordpress installationen.

Først skal du oprette et dir hvor wordpress skal installeres så nginx kan bruger denne mappe. I linux bruges /var/www som bruges default.

$ cd /var/www
$ mkdir mitdomain
$ cd mitdomain
$ wget https://wordpress.org/latest.tar.gz
$ tar -zxvf latest.tar.gz

Du kan hente den nyeste version her.  Det er den nyeste version  som linket pejer på.

Loading

By Admin

Author: Jeg er en professionel system administrator og grundlægger af linuxboxen.dk Jeg er en ivrig Linux-elsker og open source-entusiast. Jeg bruger Ubuntu og tror på at dele viden. Bortset fra Linux, elsker musik og dyr. Jeg er en stor fan af Dire straits.

Leave a Reply

Your email address will not be published. Required fields are marked *