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.04 | xenial | x86_64, i386, ppc64el, aarch64/arm64 |
18.04 | bionic | x86_64, aarch64/arm64 |
19.04 | disco | x86_64 |
19.10 | eoan | x86_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.phpDu 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 -pOpret 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.
# exitSå 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.gzDu kan hente den nyeste version her. Det er den nyeste version som linket pejer på.