Ki jan yo Enstale WordPress sou Ubuntu 20.04 Nginx MariaDB PHP7.4

WordPress se sistèm jesyon kontni ki pi dominan ekri nan PHP, konbine avèk baz done MySQL oswa MariaDB. WordPress itilize pa 64.9%, dapre W3Tech. WordPress vini nan de vèsyon: sous louvri gratis WordPress.org ak WordPress.com, yon sèvis peye ki kòmanse nan $ 5 pa mwa jiska $ 59.

Sèvi ak sistèm jesyon kontni sa a se fasil epi yo souvan wè li kòm yon etap pou fè yon blog oswa sit menm jan an prezante.

Gid la pral pale sou enstale vèsyon ouvè-sous pwòp tèt ou akomode WordPress.org ak Nginx, MariaDB 10.3+, ak PHP 7.4+ (LEMP) sou Ubuntu 20.04 LTS.

Kondisyon

  • Ubuntu 20.04 OS (20.10 ak 21.04 ka itilize)
  • Mete ajou pakè sistèm yo
  • Aksè rasin oswa privilèj sudo.
  • Pile LEMP enstale (Nginx, MariaDB 10.3+ ak PHP7.4+)
  • Unzip ak Wget pakè enstale.

Mete ajou sistèm Ubuntu ou a:

sudo apt update && sudo apt upgrade -y

Enstale kondisyon dezip ak wget:

sudo apt install unzip wget

Enstale pakè PHP obligatwa yo:

sudo apt install php-imagick php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-json php7.4-cli php7.4-curl php7.4-zip php7.4-gd

reklam


Download WordPress

Vizite WordPress.org la download paj epi woule desann jiskaske ou jwenn "dènye.zip” lyen telechaje. Ou ka telechaje sa a manyèlman si w ap òganize sou yon Desktop oswa itilize lòd wget la pou telechaje tèminal Desktop ou CTRL + ALT + T.

Tèminal telechaje:

wget https://wordpress.org/latest.zip
telechaje wordpress epi enstale sou nginx ak ubuntu

Kreye estrikti Dosye pou WordPress

Koulye a, ou gen achiv la telechaje, kontinye dezip li epi deplase li nan anyè www ou a.

Kreye anyè a pou WordPress:

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

Dekonprime WordPress nan anyè www la:

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

Ou dwe mete otorizasyon pwopriyetè anyè yo sou WWW, oswa sinon w ap gen pwoblèm ak otorizasyon ekri WordPress.

Mete pèmisyon chown:

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

reklam


Kreye baz done pou WordPress

Anvan ou kontinye pi lwen, ou bezwen kreye yon baz done pou WordPress lè l sèvi avèk MariaDB. Premyèman, pote konsole tèminal CLTR + ALT + T epi tape sa ki annapre yo.

Pote koki MariaDB kòm rasin:

sudo mariadb -u root

Dezyèm kòmand altènatif:

sudo mysql -u root

Apre sa, kreye baz done a. Sa a ka nenpòt non ou vle. Pou gid la, ou pral non li "wordpressdb".

Kreye baz done WordPress:

CREATE DATABASE WORDPRESSDB;

Apre yo fin kreye baz done a, ou ta dwe kreye yon nouvo itilizatè pou nouvo sit WordPress la.

Sa a se fè kòm yon mezi sekirite, kidonk chak baz done gen yon itilizatè diferan. Si yon non itilizatè konpwomèt, atakè a pa jwenn aksè nan tout baz done lòt sit entènèt la.

Kreye itilizatè baz done WordPress:

CREATE USER 'wpuser1'@localhost IDENTIFIED BY 'password1';

Koulye a, bay aksè itilizatè ki fèk kreye nan baz done a sit entènèt WordPress sèlman dapre pi ba a.

Bay baz done nan kont itilizatè WordPress kreye a:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO wpuser1@localhost IDENTIFIED BY 'password1';

Avèk tout paramèt konfigirasyon baz done yo fin ranpli, ou bezwen vide privilèj yo pou pran efè epi sòti.

Flush privilèj pou fè viv:

FLUSH PRIVILEGES;

Sòti MariaDB:

EXIT;

Mete WordPress Fichye Konfigirasyon

Ou bezwen mete kèk paramèt nan "WP-konfigirasyon-sample.php” dosye. Anba a, ou pral wè ki jan yo chanje non dosye echantiyon an epi antre enfòmasyon yo mande yo.

Premyèman, chanje non fichye konfigirasyon an.

Ale nan anyè WordPress:

cd /var/www/html/wordpress/

Chanje non fichye konfigirasyon:

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

Koulye a, lè l sèvi avèk yon editè tèks, pote dosye a ki fèk chanje non wp-config.php. Nan egzanp nou an, nou pral sèvi ak nano.

sudo nano wp-config.php

Apre sa, ou pral antre non baz done a, kont itilizatè ak yon modpas, adrès IP lame si diferan de 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', '' );

Pandan w ap nan dosye sa a, ajoute kèk paramèt siplemantè pral fè WordPress ou pi fasil pou jere, tankou ekonomize dosye dirèk olye pou w itilize FTP ak limit gwosè memwa ogmante.

##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);

reklam


Mete WordPress Sekirite kle sèl

Li ta pi bon si ou te vizite WordPress sekrè-kle API pou jenere pwòp ou a. Ou ka jwenn dèlko kle sèl adrès la nan https://api.wordpress.org/secret-key/1.1/salt/. Ranplase liy egzanp yo ak kòd ki soti nan dèlko a.

PA KOPI EGZANP PIBA A, E SE SÈL POU REFERANS.

define('AUTH_KEY',         '3Bvek7XZW6j_61C-18tMS&7=SYPyF#cl%zxA$s)^Ox<w8eiLyBu4~p:{Y?u$3$');
define('SECURE_AUTH_KEY',  '&Uc|]gsVp@sv:$CaFUf-5`uNOhFIo>>3Xt3-bUJi=P}EXgL*~YF;2d(URRSmn<,@');
define('LOGGED_IN_KEY',    'NPBT-rd1;D,|fi+MCd!zaX-1ploOT}e! L{6ya-W|r.H(sT/ja&8C2rs=]-.8%');
 define('NONCE_KEY',        'I8d[0k&Q Q6K9h>8u+TvD`X^k4=dZZQpy+kXMZ8,u^z*F|Vxrqw0ZE{G+HzjrBVg');
define('AUTH_SALT',        'yz%>r)>WbnCJa?.y&qk<)U&0rm8>t');
 define('LOGGED_IN_SALT',   'z-h/xg=VDXcemo9@yPXE.Yx3oWbEez@:<|N,&u}^,Qi6Bp&q8h+7X:3}VE$H1E'); define('NONCE_SALT',       'QGa-J8n =QxlybzS#ela=]LapL5QYhvIJ`A$-Rivj{Y+m=b#! r]-]H2|#,');

Konfigirasyon blòk sèvè Nginx

Koulye a, ou prèske pare enstale WordPress atravè UI entènèt la. Sepandan, ou bezwen konfigirasyon blòk sèvè Nginx ou a. Anviwònman ki anba yo trè enpòtan. Gen kèk gid ki pa mete aksan sou enpòtans "try_files $ uri $ uri / /index.php?$args;” Yo souvan kite fen a ?$args kite deyò, ba ou gwo pwoblèm sante sit vini nan REST API nan WordPress.

Kenbe paramèt sa yo nan lòd pi byen ke posib nan blòk sèvè ou a.

location / {
### First attempt to serve request as file, then ###
### as directory, then fall back to index.php ###
 try_files $uri $uri/ /index.php?$args;
 }

### Pass the PHP scripts to PHP-FPM listening on 127.0.0.1:9000 ###
 location ~ .php$ {
  try_files $uri =404;
  fastcgi_split_path_info ^(.+.php)(/.+)$;
  fastcgi_pass unix:/run/php/php7.4-fpm.sock;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_intercept_errors on; 

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

Koulye a, ou ka fè yon kouri sèk Lè sa a, rekòmanse sèvè Nginx ou a si tout bagay anfòm.

sudo nginx -t

Apre w fin tcheke ak tout bagay anfòm ak tès Nginx sèk ou a, rekòmanse sèvis Nginx la.

sudo systemctl restart nginx

reklam


PHP.ini Konfigirasyon

Anvan w deplase sou pati enstalasyon UI entènèt la, ou ta dwe ajiste PHP ou pou itilizasyon optimal pou WordPress. Anviwònman sa yo se plis yon gid. Ou ka ogmante, diminye jan ou wè anfòm.

Premyèman, pote php.ini ou a. Remake byen kote ou ka diferan selon nimewo vèsyon PHP ou genyen an.

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

Koulye a, dosye medya WordPress yo ka trè enpòtan. Defo a ka twò ba. Ou ka ogmante sa a apeprè sa ou panse gwosè dosye ki pi vaste ou pral ye. Jwenn liy sa yo anba a epi ajiste a bezwen ou yo.

##increase upload max size##
 upload_max_filesize = 10MB

##increase post max size##
 post_max_size = 10MB

Koulye a, rekòmanse sèvè PHP-FPM ou a.

sudo systemctl restart php7.4-fpm

Paramèt PHP ou ajiste yo se pou backend PHP. Ou pral bezwen tou chanje blòk sèvè Nginx pou pèmèt gwosè kò gwo. Sa a se fè pa re-louvri blòk sèvè ou a epi ajoute liy sa a.

Louvri blòk sèvè ou a:

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

Ajoute liy sa a pou ogmante gwosè kò a:

client_max_body_size 10M;

Sonje byen, kenbe gwosè max kliyan an menm jan ak anviwònman max PHP ou a.

Koulye a, rekòmanse sèvè Nginx la.

sudo systemctl restart nginx

Enstale WordPress

Kounye a ke tout konfigirasyon back-end la ak konfigirasyon konplè, ou ka kounye a ale nan domèn ou epi kòmanse enstale.

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

Premye paj ou pral wè se kreye yon non itilizatè ak modpas ansanm ak kèk detay sou sit. Sa a pral kont login admin ou nan lavni. Ou ka chanje sa pita tou.

wordpress nginx ubuntu ki jan yo enstale admin mete kanpe

Si w ap konstwi yon sit entènèt, pèmèt "fòtman dekouraje motè rechèch soti nan Indexing” anpeche Google oswa Bing endèks yon sit entènèt WIP. Yon fwa fini, ou pral vin nan pwochen ekran an ak yon login.

login WordPress

Felisitasyon, ou te enstale avèk siksè dènye vèsyon WordPress sou Nginx ak pile LEMP la.


reklam


Kòmantè ak konklizyon

WordPress ofri yon kapasite kokenn pou kreye sit entènèt rapid ak modèl ak grefon. Magazen an plugin gen tout pouvwa a yon kantite fòmidab nan opsyon. Sepandan, pou déblotché tout potansyèl la nan pifò tèm ak ajoute, yo tout se paywall, men pifò yo abòdab.

Self-hosting WordPress se yon ti jan plezi. Sepandan, asire w ke ou kenbe ak sekirite ak ajou se esansyèl. WordPress se CMS ki pi vize sou latè pa atakè yo, ak sit ou a pral, nan premye jou li yo san yo pa menm yo te nan lis yo pral tcheke pou eksplwatasyon, ak tantativ fòs brital yo ap kòmanse.

Leave a Comment