Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

WordPress er mest ríkjandi vefumsjónarkerfi skrifað í PHP, ásamt MySQL eða MariaDB gagnagrunni. Þú getur búið til og viðhaldið síðu án nokkurrar fyrri þekkingar í vefþróun eða kóðun. Fyrsta útgáfan af WordPress var búin til árið 2003 af Matt Mullenweg og Mike Little og er nú notuð af 70% af þekktum vefmarkaði, samkvæmt W3Tech. WordPress kemur í tveimur útgáfum: ókeypis opinn uppspretta WordPress.org og WordPress.com, greidd þjónusta sem byrjar á $5 á mánuði allt að $59. Það er auðvelt að nota þetta vefumsjónarkerfi og oft er litið á það sem skref til að búa til blogg eða svipaða síðu.

Í eftirfarandi einkatími muntu læra hvernig á að setja upp sjálfhýst WordPress með því að nota nýjustu Nginx, MariaDB og PHP útgáfur sem til eru.

Forsendur

  • Mælt með stýrikerfi: Debian 11 Bullseye
  • Notendareikningur: Notendareikningur með sudo eða rót aðgang.
  • Nauðsynlegir pakkar: skráð í öllu kennsluefninu

Uppfærðu stýrikerfi

Uppfærðu þína Debian stýrikerfi til að tryggja að allir núverandi pakkar séu uppfærðir:

sudo apt update && sudo apt upgrade -y

Kennsluefnið mun nota sudo skipun og að því gefnu að þú sért með sudo stöðu.

Til að staðfesta sudo stöðu á reikningnum þínum:

sudo whoami

Dæmi um úttak sem sýnir sudo stöðu:

[joshua@debian~]$ sudo whoami
root

Til að setja upp núverandi eða nýjan sudo reikning skaltu fara á kennsluna okkar á Að bæta notanda við Sudoers á Debian.

Til að nota rótarreikningur, notaðu eftirfarandi skipun með rót lykilorðinu til að skrá þig inn.

su

Settu upp CURL & UNZIP pakkann

Kennsluefnið notar krulla og unzip stjórn á ákveðnum hlutum. Til að ganga úr skugga um að þetta sé uppsett skaltu keyra eftirfarandi skipun í flugstöðinni þinni:

sudo apt install curl unzip -y

Fáðu


Settu upp nýjasta Nginx - (LEMP Stack)

Til að hefja uppsetningu LEMP stafla þarftu að setja upp Nginx vefþjónn. Aðferð er að setja upp nýjustu Nginx aðallínuna eða stöðugleika frá Ondřej Surý geymslunni til að hafa uppfærðasta hugbúnaðinn. Margir Ubuntu notendur myndu þekkja PPA hans og þú getur gert það sama í Debian.

Til að nota nýjustu útgáfuna af annað hvort Nginx aðallínu eða stöðugri, þarftu fyrst að flytja inn geymsluna.

Til að flytja inn aðalgagnageymslu:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Til að flytja inn stöðuga geymslu:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Uppfærðu geymsluna þína til að endurspegla nýju breytinguna:

sudo apt update

Nú þegar þú hefur sett upp Nginx geymsla og uppfærði geymslulistann, settu upp Nginx með eftirfarandi:

sudo apt install nginx-core nginx-common nginx nginx-full

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Gerð "Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram og ljúka uppsetningunni.

Athugaðu nú hvort nýjasta Nginx frá Ondřej Surý geymslunni hafi verið sett upp með því að nota apt-cache stefnu skipun. Athugið að kennsludæmi uppsett Nginx Mainline:

apt-cache policy nginx

Dæmi framleiðsla fyrir Nginx aðallína:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Athugaðu að þú gætir verið beðinn um að halda eða skipta út núverandi / etc / nginx /nginx.conf stillingarskrá meðan á uppsetningu stendur. Mælt er með því að halda núverandi stillingarskrá með því að ýta á (n). Afrit verður gert óháð útgáfu viðhaldsaðila og þú getur líka athugað þetta í framtíðinni.

Þú munt taka eftir að fleiri einingar verða fáanlegar í þessari útgáfu, einkum brotli stuðningur. Til að setja upp brotli, fylgdu skrefunum hér að neðan.

Opnaðu nginx.conf stillingarskrá:

nano /etc/nginx/nginx.conf

Bættu nú við viðbótarlínunum áður í HTTP{} kafla:

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

The brotli_comp_level hægt að stilla á milli 1 (lægst) og 11 (hæsta). Venjulega sitja flestir netþjónar í miðjunni, en ef þjónninn þinn er skrímsli skaltu stilla á 11 og fylgjast með CPU notkun.

Næst skaltu prófa til að ganga úr skugga um að breytingarnar virki rétt áður en þær eru birtar:

sudo nginx -t

Ef breytingarnar virka rétt ættirðu að sjá eftirfarandi:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Gerðu nú breytingarnar í beinni með því að endurræsa netþjóninn þinn:

sudo systemctl restart nginx

Næst skaltu virkja Nginx við ræsingu kerfisins:

sudo systemctl enable nginx

Að lokum, staðfestu að Nginx sé í gangi rétt; þetta ætti að vera í lagi að sleppa ef þú keyrir nginx -t skipun og fékk engar villur.

systemctl status nginx

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Settu upp MariaDB (LEMP STACK)

Til að phpBB geti keyrt þarftu að setja upp gagnagrunnshugbúnað; þar sem við erum að nota LEMP, verður valið MariaDB.

Þú getur sett upp sjálfgefna útgáfu af MariaDB frá geymslu Debian og kennsla mun setja upp nýjasta 10.6 MariaDB.

Settu upp Dependencies

Fyrsta skrefið er að setja upp ósjálfstæðin sem þarf fyrir uppsetninguna. Til að gera þetta skaltu nota eftirfarandi skipun í flugstöðinni þinni:

Flytja inn GPG lykil og geymsla

Til að setja upp MariaDB með góðum árangri þarftu að flytja inn GPG lykilinn til að staðfesta að pakkarnir séu frá ekta upprunanum og ekki breytt. Til að gera þetta, notaðu eftirfarandi skipun:

sudo curl -LsSO https://mariadb.org/mariadb_release_signing_key.asc
sudo chmod -c 644 mariadb_release_signing_key.asc
sudo mv -vi mariadb_release_signing_key.asc /etc/apt/trusted.gpg.d/
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.realcompute.io/mariadb/repo/10.6/debian bullseye main'

Athugið að hægt er að finna niðurhalsspegla á þessari síðu frá MariaDB grunnur til að finna staðsetningu nær þér fyrir geymsluna.

Nú þegar lykillinn og geymslan eru flutt inn skaltu uppfæra listann yfir viðeigandi pakkastjóra til að endurspegla nýju viðbótina.

sudo apt update

Settu upp MariaDB

Til að setja upp MariaDB þarftu að setja upp biðlarann ​​og netþjónapakkana. Þetta er hægt að gera á eftirfarandi hátt:

sudo apt install mariadb-server mariadb-client

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Sláðu inn „Y," ýttu síðan á „SLAÐA LYKILL“ til að halda áfram og ljúka uppsetningunni.

Staðfestu uppsetningu MariaDB með því að athuga útgáfuna og byggja:

mariadb --version

Dæmi úttak:

mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for debian-linux-gnu (x86_64) using readline EditLine wrapper

Næst skaltu byrja MariaDB þjónustuna þína með því að keyra eftirfarandi skipun til að ræsa og virkja við ræsingu:

sudo systemctl start mariadb && sudo systemctl enable mariadb

Dæmi um úttak ef vel tekst:

Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

Athugaðu MariaDB netþjónsstöðu

Nú hefurðu sett upp MariaDB og þú getur staðfest stöðu gagnagrunnshugbúnaðarins með því að nota eftirfarandi systemctl skipun:

systemctl status mariadb

Sjálfgefið er að MariaDB staða sé slökkt. Til að ræsa MariaDB, notaðu eftirfarandi skipun:

sudo systemctl start mariadb

Athugaðu stöðuna aftur og þú ættir að fá eftirfarandi:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Til að stöðva MariaDB:

sudo systemctl stop mariadb

Til að virkja MariaDB við ræsingu kerfisins:

sudo systemctl enable mariadb

Til að slökkva á MariaDB við ræsingu kerfisins:

sudo systemctl disable mariadb

Til að endurræsa MariaDB þjónustuna:

sudo systemctl restart mariadb

Öruggt MariaDB með öryggisskriftu

Næst muntu fá leiðbeiningar þar sem þú ert beðinn um að slá inn (MariaDB rót lykilorð). Í bili, ýttu á (KOMA INN) lykilorð þar sem rótarlykilorðið er ekki enn stillt eins og hér að neðan:

sudo mysql_secure_installation

Næst skaltu slá inn (Y) og ýttu á enter til að setja upp (Root) lykilorð eins og hér að neðan:

Næsta röð spurninga sem þú getur örugglega snert (KOMA INN), sem mun svara (Y) við öllum síðari spurningum sem biðja þig um (fjarlægðu nafnlausa notendur, slökktu á ytri rótarinnskráningu og fjarlægðu prófunargagnagrunninn). Takið eftir (Y) er stór, sem þýðir að það er sjálfgefið svar þegar þú ýtir á (KOMA INN) lykillinn.

Dæmi hér að neðan:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Yfirlit yfir það sem hefði átt að gera hér að ofan:

  • Að setja lykilorð fyrir rót reikninga.
  • Fjarlægir rótarreikninga sem eru aðgengilegir utan staðbundins hýsils.
  • Fjarlægir nafnlausa notendareikninga.
  • Fjarlægir prófunargagnagrunninn, sem nafnlausir notendur geta sjálfgefið nálgast.

Þetta skref er nauðsynlegt fyrir MariaDB gagnagrunnsöryggi og ætti ekki að breyta eða sleppa því nema þú vitir hvað þú ert að gera.


Fáðu


Settu upp PHP (LEMP STACK)

Helstu þættir WordPress eru búnir til og keyrðir með PHP. PHP 7.4 er núverandi stöðuga útgáfa með 8.0 sem kemur bráðum í staðinn fyrir PHP 8.1 Beta. Málið er að WordPress styður PHP 8.0, svo þú ættir að setja upp þessa útgáfu til að bæta afköst og öryggi, en sum þemu og viðbætur eru samt ekki samhæfðar eða hafa villur, gerðu rannsóknir þínar áður en þú kaupir nýjar viðbætur/þemu til að tryggja að þau styðji PHP 8.0.

Og til að setja upp úreltu nýjustu stöðugu PHP útgáfurnar á Debian, muntu setja upp Ondřej Surý PHP geymsluna, PHP viðhaldsaðilann, á Debian. Í þessari geymslu eru nýjustu útgáfur af PHP 7.4 og 8.0 tiltækar á öllum tímum, þar með talið viðbæturnar. Í kennslunni eru listar yfir aðrar leiðir til að setja upp báðar og þú ættir að rannsaka hver er best.

Flytja inn og setja upp GPG lykil:

Fyrsta skrefið er að flytja inn og setja upp GPG lykill áður en geymslunni er bætt við. Til að gera þetta skaltu nota eftirfarandi flugstöðvaskipun:

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Athugaðu, þú gætir þurft að setja upp þessar ósjálfstæði ef þú átt í vandræðum:

sudo apt install apt-transport-https lsb-release ca-certificates

Flytja inn og setja upp geymslu:

Með GPG lyklinum raðað er kominn tími til að bæta við Ondřej Surý geymsla sem hér segir:

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Næst skaltu uppfæra geymslulistann þar sem nýja geymslan mun krefjast þess að sumir núverandi pakkar séu uppfærðir og er ráðlagt að gera það áður en þú setur upp einhverjar útgáfur af PHP.

sudo apt update && sudo apt upgrade

Valkostur 1. Settu upp PHP 7.4

Nú geturðu haldið áfram að setja upp PHP 7.4 fyrir sérstakar þarfir þínar sem hér segir:

sudo apt install php7.4-fpm php7.4-cli php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-mcrypt php7.4-curl php7.4-json php7.4-opcache php7.4-readline php7.4-xml php7.4-gd -y

Staðfestu uppsetninguna og athugaðu útgáfuna og smíðina:

php -v

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Næst skaltu byrja og virkja PHP 7.4-FPM til að vera sjálfkrafa ræst við ræsingu.

sudo systemctl start php7.4-fpm && sudo systemctl enable php7.4-fpm

Nú, sjálfgefið, ætti PHP-FPM að vera í gangi. Til að staðfesta þetta skaltu nota eftirfarandi systemctl skipun:

sudo systemctl status php7.4fpm

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Valkostur 2. Settu upp PHP 8.0

Nú geturðu haldið áfram að setja upp PHP 8.0 fyrir sérstakar þarfir þínar sem hér segir:

sudo apt install php8.0-fpm php8.0-cli php8.0-common php8.0-mbstring php8.0-xmlrpc php8.0-soap php8.0-gd php8.0-xml php8.0-intl php8.0-mysql php8.0-cli php8.0-ldap php8.0-zip php8.0-mcrypt php8.0-curl php8.0-opcache php8.0-readline php8.0-xml php8.0-gd unzip -y

Staðfestu uppsetninguna og athugaðu útgáfuna og smíðina:

php -v

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Nú, sjálfgefið, ætti PHP-FPM að vera í gangi. Til að staðfesta þetta skaltu nota eftirfarandi systemctl skipun:

sudo systemctl status php8.0-fpm

Dæmi úttak:

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Part 1. Settu upp WordPress Backend

Hlaða niður WordPress

Farðu á WordPress.org sækja síðu og skrunaðu niður þar til þú finnur „nýjasta.zip” niðurhalstengil. Ef þú ert að hýsa af skjáborði geturðu hlaðið þessu niður handvirkt eða notað wget skipunina til að hlaða niður skjáborðsútstöðinni CTRL+ALT+T.

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

Búðu til möppuuppbyggingu fyrir WordPress

Nú hefurðu hlaðið niður skjalasafninu, haltu áfram að opna það og færa það yfir á þinn www skrá.

Búðu til möppuna fyrir WordPress:

sudo mkdir -p /var/www/html/wordpress

Taktu WordPress upp í www möppuna:

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

Þú verður að stilla heimildir skráareiganda til WWW, annars muntu eiga í vandræðum með WordPress skrifheimildir.

Stilltu kóðuleyfi (mikilvægt):

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

Stilltu chmod leyfi (mikilvægt):

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

Búðu til gagnagrunn fyrir WordPress

WordPress krefst gagnagrunns til að keyra þess vegna þurftir þú að setja upp MariaDB. Áður en þú heldur áfram þarftu að búa til gagnagrunn fyrir WordPress með MariaDB. Fyrst skaltu koma upp flugstöðinni og slá inn eftirfarandi.

Komdu með MariaDB skel sem rót:

sudo mariadb -u root

Önnur valskipun:

sudo mysql -u root

Næst skaltu búa til gagnagrunninn. Þetta getur verið hvaða nafn sem þú vilt. Fyrir leiðarvísirinn muntu nefna það "WORDPRESSDB."

Búðu til WordPress gagnagrunn:

CREATE DATABASE WORDPRESSDB;

Eftir að gagnagrunnurinn hefur verið búinn til ættirðu að búa til nýjan notanda fyrir nýju WordPress síðuna.

Þetta er gert sem öryggisráðstöfun, þannig að hver gagnagrunnur hefur annan notanda. Ef eitt notendanafn er í hættu hefur árásarmaðurinn ekki aðgang að öllum gagnagrunnum hinnar vefsíðunnar.

Búðu til WordPress gagnagrunnsnotandann:

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

Skiptu um WPUSER og LYKILORÐ með hvaða notendanafni eða lykilorði sem þú vilt. Ekki afrita og líma sjálfgefna notanda/passann hér að ofan í öryggisskyni.

Úthlutaðu nú nýstofnuðum notandaaðgangi að WordPress vefsíðugagnagrunninum eingöngu eins og hér að neðan.

Úthlutaðu gagnagrunni á skapaðan WordPress notandareikning:

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

Þegar öllum stillingum gagnagrunns er lokið þarftu að skola réttindin til að taka gildi og hætta.

Flush forréttindi til að gera lifandi:

FLUSH PRIVILEGES;

Hætta MariaDB:

EXIT;

Fáðu


Stilltu WordPress stillingarskrár

Þú þarft að stilla nokkrar stillingar í „WP-config-sample.php” skrá. Hér að neðan sérðu hvernig á að endurnefna sýnishornið og slá inn nauðsynlegar upplýsingar.

Fyrst skaltu endurnefna stillingarskrána.

Farðu í WordPress möppuna:

cd /var/www/html/wordpress/

Endurnefna stillingarskrá:

sudo mv wp-config-sample.php wp-config.php

Notaðu nú textaritil og færðu upp nýju nafnið wp-config.php skrána. Í dæminu okkar munum við nota nanó.

sudo nano wp-config.php

Næst muntu slá inn nafn gagnagrunnsins, notandareikning með lykilorði, IP tölu hýsingaraðila ef það er annað en localhost.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 
define( 'DB_NAME', 'wordpressdb' );
/* MySQL database username */ 
define( 'DB_USER', 'wpuser1' );
/* MySQL database password */
define( 'DB_PASSWORD', 'YOUR PASSWORD' );
/* 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', '' );

Á meðan þú ert í þessari skrá mun auka stillingar gera WordPress þitt auðveldara í stjórnun, eins og beina vistun skráa í stað þess að nota FTP og aukin minnisstærðarmörk.

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

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

##change Wordpress database table prefix if wanted##
 $table_prefix = 'wp_';

##set cache enabled, this if you intend to use Wordpress add-ons##
 define('WP_CACHE', true);

Stilltu WordPress öryggissaltlykla

Það væri best ef þú heimsækir WordPress leynilykil API til að búa til þitt eigið. Heimilisfang saltlyklarafall er að finna á https://api.wordpress.org/secret-key/1.1/salt/. Skiptu út dæmilínunum fyrir kóðana frá rafallnum.

EKKI AFRITA DÆMIÐ HÉR fyrir neðan, OG ÞAÐ er bara til viðmiðunar.

define('AUTH_KEY',         '<3yfS7/>%m.Tl^8Wx-Y8-|T77WRK[p>(PtH6V]Dl69^<8|K86[_Z},+THZ25+nJG');
define('SECURE_AUTH_KEY',  'bN#Qy#ChBX#Y`PE/_0N42zxgLD|5XpU[mu.n&:t4q~hg<UP/b8+xFTly_b}f]M;!');
define('LOGGED_IN_KEY',    'owpvIO-+WLG|,1)CQl*%gP1uDp}s(jUbYQ[Wm){O(x@sJ#T}tOTP&UOfk|wYsj5$');
define('NONCE_KEY',        '8=Vh|V{D<>`CLoP0$H!Z3gEqf@])){L+6eGi`GAjV(Mu0YULL@sagx&cgb.QVCbi');
define('AUTH_SALT',        '%TX*X$GE-;|?<-^(+K1Un!_Y<hk-Ne2;&{c[-v!{q4&OiJjQon /SHcc/:MB}y#(');
define('SECURE_AUTH_SALT', '=zkDT_%}J4ivjjN+F}:A+s6e64[^uQ<qNO]TfHS>G0elz2B~7Nk.vRcL00cJoo7*');
define('LOGGED_IN_SALT',   '{$-o_ull4|qQ?f=8vP>Vvq8~v>g(2w12`h65ztPM(xo!Fr()5xrqy^k[E~TwI!xn');
define('NONCE_SALT',       'a1G(Q|X`eX$p%6>K:Cba!]/5MAqX+L<A4yU_&CI)*w+#ZB+*yK*u-|]X_9V;:++6');

Nginx Server Block Stilling

Nú ertu næstum tilbúinn til að setja upp WordPress í gegnum vefviðmótið. Hins vegar þarftu að stilla Nginx netþjónablokkina þína. Stillingarnar hér að neðan eru mjög mikilvægar. Það skal tekið fram að leggja áherslu á mikilvægi þess “try_files $uri $uri/ /index.php?$args;” þar sem það er oft vandamál með önnur námskeið sem skilja eftir endirinn ?$args sleppt, sem gefur þér meiriháttar heilsufarsvandamál á vefnum kemur til REST API WordPress.

Fyrst skaltu búa til nýja stillingarskrá fyrir netþjón með eftirfarandi skipun sem kemur í stað dæmisins fyrir lénið þitt,

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

Hér að neðan er dæmi; þú getur valið hlutana; hins vegar “staðsetning ~ \.php$” þarf að vera í Nginx stillingarskránni.

ATH: Gakktu úr skugga um að breyta www.example.com og example.com og rótarslóðinni.

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;

  # assets, media
  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;
  }
  
  # svg, fonts
  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;
  }
}

Athugaðu, ef þú ert að nota PHP 8.0 finna og skipta um ofangreinda línu “fastcgi_pass unix:/run/php/php7.4-fpm.sock;” til “fastcgi_pass unix:/run/php/php8.0-fpm.sock;”.

Næst þarftu að virkja Nginx stillingarskrána frá „síður í boði“. Til að gera þetta muntu búa til tákntengil til „virkt fyrir vefsvæði“ eins og hér segir.

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

Vertu viss um að skipta um „example.conf“ með nafni stillingarskráar.

Þú getur nú keyrt þurrt og síðan endurræst Nginx netþjóninn þinn ef allt er í lagi.

sudo nginx -t

Eftir að hafa athugað og allt er í lagi með Nginx þurrkunarprófið þitt skaltu endurræsa Nginx þjónustuna.

sudo systemctl restart nginx

PHP.ini stillingar

Áður en þú ferð yfir í uppsetningarhluta vefviðmótsins ættirðu að stilla PHP fyrir bestu notkun fyrir WordPress. Þessar stillingar eru frekar leiðbeiningar. Þú getur aukið, minnkað eins og þér sýnist.

Fyrst skaltu taka upp php.ini. Athugaðu að staðsetning þín gæti verið mismunandi eftir PHP útgáfunúmerinu sem þú hefur.

PHP 7.4:

sudo nano /etc/php/7.4/fpm/php.ini

PHP 8.0:

sudo nano /etc/php/8.0/fpm/php.ini

Nú geta WordPress fjölmiðlaskrár verið ansi mikilvægar. Sjálfgefið getur verið of lágt. Þú getur aukið þetta í nokkurn veginn það sem þú heldur að umfangsmesta skráarstærðin þín verði. Finndu eftirfarandi línur hér að neðan og stilltu þig að þínum þörfum.

##increase upload max size recommend 50 to 100mb## 
 upload_max_filesize = 100MB

##increase post max size recommend 50 to 100mb##
 post_max_size = 100MB

## increase max execution time recommend 150 to 300##
 max_execution_time = 300

## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 10000

## increase memory limit recommend 256mb or 512mb##
memory_limit = 512M

Endurræstu nú PHP-FPM þjóninn þinn.

PHP 7.4:

sudo systemctl restart php7.4-fpm

PHP 8.0:

sudo systemctl restart php8.0-fpm

PHP stillingarnar sem þú breyttir eru fyrir PHP bakendann. Þú þarft líka að breyta Nginx netþjónsblokkinni til að gera ráð fyrir stórum líkamsstærðum. Þetta er gert með því að opna netþjónablokkina aftur og bæta við eftirfarandi línu.

Opnaðu netþjónablokkina þína:

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

Stilltu þessa línu til að auka líkamsstærð:

client_max_body_size 100M;

Mundu að hafðu hámarksstærð viðskiptavinar sömu og þína max stærð PHP skrá stilling.

Næst skaltu prófa breytingarnar og endurræsa síðan Nginx netþjóninn þinn ef allt er í lagi.

sudo nginx -t

Eftir að hafa athugað og allt er í lagi með Nginx þurrkunarprófið þitt skaltu endurræsa Nginx þjónustuna.

sudo systemctl restart nginx

Part 2. Settu upp WordPress Frontend

Nú þegar allri uppsetningu og uppsetningu bakenda er lokið geturðu farið á lénið þitt og byrjað að setja upp.

##go to installation address##
 https://www.yoursite.com
##alternative url##
 https://www.yoursite.com/wp-admin/install.php

Fyrsta síðan sem þú munt sjá er að búa til notandanafn og lykilorð ásamt smá upplýsingum um vefsvæðið. Þetta verður framtíðarinnskráningarreikningur þinn fyrir stjórnanda. Þú getur líka breytt þessu síðar.

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Ef þú ert að byggja upp vefsíðu, virkja „Hvetja leitarvélar eindregið frá skráningu“ kemur í veg fyrir Google eða Bing eða annað „góð/virtur leitarvél“ frá skráningu á WIP vefsíðu. Þegar því er lokið kemurðu á næsta skjá með innskráningu.

Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye

Til hamingju, þú hefur sett upp nýjustu útgáfuna af WordPress á Nginx með LEMP staflanum.


Fáðu


Öruggt Nginx með Let's Encrypt SSL Free Certificate

Helst myndirðu vilja keyra Nginx þinn á HTTPS með SSL vottorði. Besta leiðin til að gera þetta er að nota Við skulum dulkóða, ókeypis, sjálfvirkt og opið vottunaryfirvald rekið af Internet Security Research Group (ISRG) sem ekki er rekin í hagnaðarskyni.

Fyrst skaltu setja upp certbot pakki eins og hér segir:

sudo apt install python3-certbot-nginx -y

Þegar það hefur verið sett upp skaltu keyra eftirfarandi skipun til að hefja gerð vottorðsins þíns:

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

Þetta er tilvalin uppsetning sem inniheldur þvingaða HTTPS 301 tilvísanir, Strict-Transport-Security haus og OCSP heftingu. Gakktu úr skugga um að aðlaga tölvupóstinn og lénið að þínum þörfum.

Nú verður vefslóðin þín HTTPS://www.example.com Í stað þess að HTTP://www.example.com.

Athugið, ef þú notar gamla HTTP vefslóð, mun það sjálfkrafa vísa til HTTPS.

Athugasemdir og niðurstaða

WordPress býður upp á frábæran möguleika til að búa til fljótlegar vefsíður með sniðmátum og viðbætur. Viðbótarverslunin hýsir gríðarlega mikið af valkostum. Hins vegar, til að opna alla möguleika flestra þema og viðbóta, eru þau öll greiðsluvegg, en flest eru á viðráðanlegu verði.

Sjálfhýsing WordPress er frekar skemmtileg. Hins vegar er nauðsynlegt að tryggja að þú fylgist með öryggi og uppfærslu. WordPress er markvissasta CMS á jörðinni af árásarmönnum, og vefsvæðið þitt verður, á fyrsta degi án þess að vera skráð, skannað fyrir hetjudáð og tilraunir með grimmdarkrafti hefjast.

18 hugsanir um „Hvernig á að setja upp WordPress með LEMP (Nginx, MariaDB og PHP) á Debian 11 Bullseye“

  1. það er óljóst hvar skráin er nauðsynleg og nafn hennar. {/etc/nginx/sites-available/example.com.conf}
    skipunin virkar ekki
    – sudo systemctl ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

    Svara
    • Takk fyrir skilaboðin, SKY. Skipunin

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

      The example.conf symlink sköpun er bara dæmi skipun, ásamt stillingunum. example.conf eða hvaða skráarnöfnum/stillingarnöfnum sem er er hægt að breyta til að henta léninu þínu, eins og í server_name hlutanum þarf að breyta.

      Ég gerði smá lagfæringar. Ég vona að það meiki betur.

      Ennfremur geymir staður-tiltækur stillingarskrána; sites-enabled er þegar þú vilt hafa stillingarnar í beinni (website live). Þegar þú vilt slökkva á/taka síðuna án nettengingar, fjarlægðu samskipunartáknið frá sudo rm /etc/nginx/sites-enabled/example.com.conf sem er virkt fyrir vefsvæði og endurræstu Nginx þjónustuna.

      Láttu mig vita ef ég þarf að útskýra frekar, fús til að hjálpa.

      Takk.

      PS. Ef þú sérð engar breytingar skaltu endurnýja vafrann þinn harkalega CTRL+F5 þar sem hann gæti verið í skyndiminni. 🙂

      Svara
      • og svo er það gert
        þegar skipun er slegin inn
        sudo systemctl ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
        en það gefur villu
        Mistókst að flokka merkjastreng /etc/nginx/sites-available/test.conf.

        takk fyrir greinina, þú ert með bestu lýsinguna!

        Svara
        • ah my god sorry of margir bjórar í kvöld á sunnudag

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

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

          fjarlægðu systemctl skipunina.

          það ætti að virka 🙂

          Svara
        • Fyrirgefðu, ég hefði átt að vera skýrari. Fjarlægðir þú það eða breyttir því í upphafi, sem ég held að þú hafir ekki gert. Vinsamlegast bættu við aftur $table_prefix = 'wp_'; þar sem þú þarft töfluforskeytið.

          Veittir þú leyfi fyrir notandanafninu þegar þú bjóst til það? Frá þeim þræði var notendanafnið ekki búið til, eða heimildirnar voru rangar fyrir notandann sem setti upp gagnagrunninn og allt fór úrskeiðis. Ný uppsetning ætti ekki að hafa þetta vandamál.

          Dæmi úr kennslunni:

          sudo mysql -u rót
          BÚA TIL Gagnagrunnur WORDPRESSDB;
          BÚA TIL NOTANDI 'WPUSER'@localhost AÐKENNAÐ MEÐ 'LYKILORÐ';
          VEITU ÖLL FORRÉTTINDI Á WORDPRESSDB.* TIL WPUSER@localhost SEM KENNUR MEÐ 'LYKILORÐ';
          FLUSH PRIVILEGES;
          EXIT;

          Ef þetta er ný uppsetning, með því að nota MariaDB nýjustu útgáfuna og Nginx, hefur eitthvað vantað í þá átt sem þarf til að bera kennsl á það.

          Í versta falli, slepptu gagnagrunninum eða búðu til annan prófunargagnagrunn og skiptu honum út í wp-config.php.

          Eitthvað eins og þetta:

          sudo mysql -u rót
          DROP DATABASE WORDPRESSDB;
          BÚA TIL Gagnagrunnur WORDPRESSDB;
          VEITU ÖLL FORRÉTTINDI Á WORDPRESSDB.* TIL WPUSER@localhost SEM KENNUR MEÐ 'LYKILORÐ';
          FLUSH PRIVILEGES;
          EXIT;

          Ef þú ert með lifandi vefsíðu skaltu aldrei gera þetta þar sem þú munt tapa öllum gögnum þínum, en þetta er gagnlegt fyrir nýjar uppsetningar.

          Gakktu úr skugga um að heimildir séu einnig stilltar fyrir WordPress uppsetninguna þína.

          sudo finna /var/www/html/wordpress -type d -exec chmod 755 {} \;
          sudo finna /var/www/html/wordpress -gerð f -exec chmod 644 {} \;
          sudo chown -R www-data:www-data /var/www/html/wordpress/

          Mitt ráð væri að byrja upp á nýtt. En enn ein spurningin kemur þetta eftir að þú endurheimtir núverandi síðu? Þetta notandanafn sem vantar kemur fram við endurheimt gagnagrunna sem ég tók eftir.

          Það væri aðeins skynsamlegra fyrir mig.

          Svara
          • setti það upp aftur nokkrum sinnum. þar á meðal Debian. vandlega endurtekið Settu upp WordPress með LAMPA. Eini munurinn sem ég tók eftir var Ver 15.1 Distrib 10.5.12-MariaDB (það var afhent sjálfkrafa).

          • Debian 11 ætti ekki að skipta máli að setja upp aftur, einfalt að sleppa gagnagrunninum og fjarlægja allar WordPress skrár er nóg til framtíðarviðmiðunar.

            10.5 MariaDB er fullkomlega í lagi í notkun, ferlið er nákvæmlega það sama og í MariaDB 10.6 sem er ekkert mál.

            Þú nefndir LAMP, notarðu Apache? ekki Nginx og PHP-FPM? Ég er að reyna að ná mynd er allt.

            Nginx netþjónablokkin þín, varstu viss um að PHP útgáfan henti útgáfunni þinni? Dæmi 7.4 fyrir 7.4 og 8.0 fyrir 8.0.

            7.4 fastcgi_pass unix:/run/php/php7.4-fpm.sock;

            8.0 fastcgi_pass unix:/run/php/php8.0-fpm.sock;

          • Ég prófaði að nota kennsluna á fljótlegri VM, Debian 11 ferskum og uppfærðum, Nginx og MariaDB frá Debian 11 sjálfgefna geymslu (Kennsla var gerð með nýrri útgáfum) og PHP 8.0, sem ég tel að sé sama uppsetning og þú ert með. Ég kláraði ekki HTTPS þar sem það er ekki nauðsynlegt til að prófa uppsetninguna.

            Það virkaði vel og ég notaði Testing for Skye sem dæmi um síðuna, sem hægt er að skoða hér https://ibb.co/NmqjzkK.

            Ég er ekki viss um hvað ég á að segja. Ég er hræddur um að ég hefði aldrei lent í þessu vandamáli áður á Debian né öðrum Linux dreifingum. Ef ég gerði það myndi ég vita hvað ég á að segja. Ég er samt sannfærður um að eitthvað hafi farið af einhvers staðar. Ef notandanafnið er ekki til þýðir það að það hafi ekki verið búið til við uppsetninguna, svo annað hvort er gagnagrunnurinn ekki búinn til eða í wp-config.conf er eitthvað ekki stillt eða verið fjarlægt rangt.

            Eina önnur uppástungan er ef þú notaðir PHP öryggisstillingarnar sem ég setti, kannski ekki nota þær, gerðu aðra uppsetningu og haltu eins lágmarki og mögulegt er, þar sem engin aukaspenna.

            Ertu búinn að setja upp og skrá þig inn á admin þegar þú ert búinn? Fyrir utan það þarf ég að leita að öðrum dæmum og ég get ekki hjálpað lengur í augnablikinu, því miður þar sem ég get ekki endurskapað það.

          • þá verðum við að setja þennan pakka linuxcapable.com/how-to-install-wordpress-on-ubuntu-20-04-nginx-mariadb-php7-4/. Takk fyrir þig!!! Gott starf. Ég er að gera eitthvað vitlaust einhvers staðar 😔

          • Það er allt í lagi, þú veist hversu oft ég hef gert eitthvað, þá degi síðar hélt ég að ég gerði það ekki þegar ég hélt að ég gerði það, eða ég gleymdi að enda línu rétta setningafræði eða eitthvað kjánalegt, það gerist þegar námið þitt gerir ekki láta það draga þig niður vinur minn, ég er að læra daglega sjálfur í skrift.

            Ég myndi ráðleggja að leita í kringum mig, kannski útskýrir annað blogg uppsetningu WordPress betur en ég sjálfur og ég hef saknað þess að útskýra eitthvað sem smellpassar meira á hausinn á þér, það sem ég skrifa gæti verið frábært fyrir suma en ekki aðra, við lærum öll öðruvísi 🙂 ef þú veist hvað ég vondur. Nokkrar aðrar frábærar kennslusíður þarna úti, reyndu að leita en ekki gefast upp 🙂

          • Þakka þér fyrir stuðningsorðin!!! Það reyndist að setja upp🎉🎉🎉I setti ekki upp -Öryggið MariaDB með öryggisskriftu/öruggu Nginx með Let's Encrypt SSL Free Certificate.I skipt um uppsetningu - Flytja inn GPG lykil og geymsla
            sudo apt-get install software-properties-common dirmngr apt-transport-https
            sudo apt-key adv –fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
            sudo add-apt-repository 'deb [arch=amd64,i386,arm64,ppc64el] https://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.6/debian megin megin'

            kannski mun það hjálpa einhverjum - Allt er skrifað í smáatriðum. Þakkir til höfundar fyrir unnin störf!

Leyfi a Athugasemd