WordPress telepítése Ubuntu 22.04, Apache2, MariaDB és PHP 8.2-FPM rendszerrel

WordPress telepítése Ubuntu 22.04, Apache2, MariaDB és PHP 8.2-FPM rendszerrel. A LAMP a Linux, Apache, MariaDB és PHP szoftvereket jelenti, amelyek együttesen LAMP stack néven ismertek.

Előnyök és hátrányok az Apache webszerver és az NGINX közötti választásnál

  • Előnyök: htaccess fájlt, amelyet általában sokan használnak Page Caching & Optimization. Ez egy nagyszerű választás a nem kódoló számára.
  • Hátrányok: Kicsit gyengébb a teljesítménye, mint az NGINX-nek, de ez az APO segítségével kezelhető. Egy nagy forgalmú webhely esetében a LEMP stack a legjobb választás.

Kövesse ezt a 3 lépést, és nézze meg a videót. Segítségre van szüksége? Vegye fel velem a kapcsolatot. 😊

  1. Cloudflare DNS beállítása
  2. Az Ubuntu Server beszerzése
  3. LAMP Stack telepítése

Mielőtt belekezdenél, itt egy gyors tipp. A Search and Replace kiterjesztés segítségével ömlesztve cserélje ki a example.com címet a saját domainjére ezen a weboldalon.

Időtakarékos tipp a Google Chrome felhasználóknak.
search replace

A. rész: Tartsa aktívan a Cloudflare névszervereket

A Cloudflare DNS-t fogjuk használni a Let’s Encrypt Wildcard SSL tanúsítvány megszerzéséhez. Először ezt a lépést fejezze be, hogy élvezhesse a zéró leállási idejű migrációt.

Aktuális névszerverek ellenőrzése

B. rész: Az Ubuntu Server 22.04 LTS szerver elkészítése

Ubuntu
Ubuntu logo

Regisztráljon Vultr, hogy megragad $100 Ingyenes kreditek (Érvényes 14 napig)

Mint valaki, aki már kipróbált sok Cloud szerver cég, a tapasztalatom azt mondja, hogy nem lehet rosszul járni a Vultr. Ezek a srácok valódiak és gondoskodóak, amikor a támogatásról és a szolgáltatásokról van szó.

vultr

⚡ Teljesítmény

  • generációs AMD EPYC™
  • NVME / SSD
  • Legfeljebb 4 GHz-es CPU
  • Akár 5 Gbps hálózati sebesség
  • Adatközpontok Amerikában, Európában, Ázsiában, Ausztriában
  • IPV6 készen áll

💡 Jellemzők

  • Kezdőbarát műszerfal
  • Egy kattintás a pillanatfelvételhez
  • Automtatic Backup (fizetős)
  • Ingyenes felhő tűzfal
  • DDoS védelem (fizetős)
  • 100% KVM virtualizáció

⚙ Support

  • PayPal/Kártya
  • 24/7 Ticket támogatás
  • Dokumentáció

2. Deloy egy új szerver

Egyszerűen kattintson a plusz gombra a kezdéshez

Deploy New Server

3. Kiszolgálótípus kiválasztása

Válassza a Cloud Compute-ot a megfizethető árú megosztott CPU-ért.

Cloud Compute

Ezt követően a CPU és tárolási technológia menüpontban kiválaszthatja az AMD High Performance vagy az Intel High Frequency opciót. Ez rendelkezik az eddigi leggyorsabb CPU-val és NVMe lemezzel. Ha a költségvetés kevesebb, akkor válassza a Regular csomagot Intel CPU-val, amelyben SSD lemezt kap.

CPU Technology

4. Kiszolgálóhely kiválasztása

A Vultr a négy kontinensen kínál szervert. A legalacsonyabb késleltetés és a legjobb teljesítmény érdekében mindig a célközönségéhez legközelebb eső régiót kell választania.

vultr server region

Lehet előnyös lehet a Frankfurt szerver régió kiválasztása, mivel ez a legközelebbi hely, tekintettel arra, hogy a forgalom jelentős része (99%) Európából származik.

Asia

  • Mumbai, India
  • Delhi NCR, India
  • Bengaluru, India
  • Szingapúr, Szingapúr
  • Tokió, Japán
  • Szöul, Dél-Korea

America

  • Miami, Egyesült Államok
  • Atlanta, Egyesült Államok
  • Chicago, Egyesült Államok
  • Dallas, Egyesült Államok
  • Honolulu, Egyesült Államok
  • Los Angeles, Egyesült Államok
  • Mexikóváros, Mexikó
  • New York (NJ), Egyesült Államok
  • Seattle, Egyesült Államok
  • Silicon Valley, Egyesült Államok
  • Toronto, Kanada, São Paulo

Europe

  • Stockholm, Svédország
  • London, Egyesült Királyság
  • Amszterdam, Hollandia
  • Frankfurt, Németország
  • Madrid, Spanyolország
  • Párizs, Franciaország
  • Varsó, Lengyelország

Australlia

  • Sydney, Ausztrália
  • Melbourne, Ausztrália

5. Válassza ki a Szerver-képet > Operációs rendszer > Ubuntu 22.04 LTS x64

ubuntu os

A hosszú távú támogatás (LTS) egy olyan termékéletciklus-kezelési politika, amelyben a számítógépes szoftverek stabil kiadását a standard kiadásnál hosszabb ideig tartják fenn.

ubuntu releases 2

6. Kiszolgálóméret kiválasztása

server size

A $6/mo terv nagyszerű kiindulópont lenne egy új blog számára. Igény szerint bármikor frissíthet.

Tipp: Ha áttelepítésre készül, ellenőrizze a Telepítés teljes mérete a Site health info (Településállapot-információ) menüpontban.

Site health info

7. IPV6 engedélyezése, biztonsági mentés

vultr enable backup ipv6

8. SSH kulcs hozzáadása

Ez egy ajánlott, opcionális lépés a fokozott biztonság érdekében.

Add SSH key
  • Kattintson az Új hozzáadása gombra egy új SSH-kulcs hozzáadásához a 🔒 Nyilvános kulcs elküldéséhez.
  • Generálja a kulcsokat az alábbi módszerrel az Ön operációs rendszerének megfelelően.
win os
  • PuTTy alkalmazás letöltése.
  • A PuTTygen keresése a Start menüben
  • Kattintson a Generate gombra, és mozgassa az egérmutatót.
  • Másolja a nyilvános kulcsot és adja meg a Vultr-nak
  • A kulcs jelszavának megadása
  • Mentse a 🔑Magánkulcsot a legbiztonságosabb helyre.
  • Ez az SSH vagy SFTP bejelentkezéshez használható.
linux 2
  • Futtatás: ssh-keygen -t rsa. A biztonságosabb 4096 bites kulcshoz futtassa a következőt: ssh-keygen -t rsa -b 4096
  • Nyomja meg az enter billentyűt, amikor megkérdezik, hogy hová szeretné menteni a kulcsot (ez az alapértelmezett helyet fogja használni).
  • Adja meg a kulcs jelszavát.
  • Futtassa a cat ~/.ssh/id_rsa.pub parancsot – így megkapja a kulcsot a megfelelő formátumban, amit beilleszthet a vezérlőpultba.
  • Győződjön meg róla, hogy biztonsági másolatot készített a ~/.ssh/id_rsa fájlról. Ez nem állítható vissza, ha elveszik.

Válassza ki az SSH-kulcsot

A következő lépéseket követve a nyilvános kulcsot az új példányhoz csatolja. Ezután be tud majd jelentkezni az SSH rendszerbe a Plain Text jelszó és az SSH kulcs használatával.

select SSH public key

9. A webes tűzfal szabályának összekapcsolása a kiszolgálópéldánnyal

Firewall
  1. Kattintson a Kezelés gombra, és hozzon létre egy új tűzfalcsoportot.
  2. Allow TCP port 22 for SSH. 80 for HTTP and 443 HTTPS for IPV4 and IPV6 rules both.
  3. Ha ez megtörtént, kösse a tűzfalcsoportot az instanciához.
firewall status
Csak 22, 80, 443 TCP kapcsolat fogadása
Link Firewall Group
Tűzfalszabály összekapcsolása az új példányhoz

10. Adja meg a Hostnevet és a címkét kattintson a Deploy Now (Telepítés most) gombra

server hostname label

Most, látni fogja telepítés a haladásban

Instance Installing

11. Menjen az Új példány oldalra

IP-cím, felhasználónév és jelszó másolása. Az alapértelmezett port 22.

new instance info page

12. Jelszóval történő bejelentkezés letiltása

Biztonsági okokból ajánlott letiltani a jelszavas hitelesítést, és csak a kulcsalapú hitelesítést engedélyezni.

  1. A konfigurációs fájl szerkesztése nano /etc/ssh/sshd_config
  2. Keresés (CTRL + W) és keresés PasswordAuthentication
  3. Értékváltoztatás yes-ről no értékre
  4. A típus mentéséhez CTRL + O
  5. Az SSH szolgáltatás újraindítása a következő paranccsal sudo service ssh restart
disable password auth
Jelszóhitelesítés letiltása

A következő alkalommal az SSH-t csak kulccsal használhatja, ahogy a videón látható.

Linux vagy Mac esetén használd a Terminált a következő paranccsal

ssh [email protected] -p 22 -i id_rsa

lépés. Az UFW letiltása

Amikor egy új példányt telepítesz a VULTR-en, az UFW (Uncomplicated Firewall) be van kapcsolva, amely az összes portot blokkolva tartja, kivéve a 22-es SSH portot. Ez ERR_CONNECTION_REFUSED hibát adhat vissza a böngészőben. Ennek kijavításához azt javasolnám, hogy az UFW-t tartsa kikapcsolva.

ufw disable

Most felgyorsítom a WordPress LAMP stackre való telepítésének eredeti folyamatát.

C. rész: A WordPress telepítése a LAMP Stackre

1. Adattárak frissítése

Írja be az alábbi parancsot és nyomja meg az enter billentyűt

sudo -s
apt update && apt upgrade -y && apt dist-upgrade && apt autoclean && apt autoremove -y && reboot

vagy

wget -qO update https://dl.gulshankumar.net/update && chmod +x update

Legközelebb mindig használja az alábbi parancsot a frissítéshez.

./update

2. MariaDB telepítése biztonsággal

Jelentkezzen be újra, és adja meg a következő parancsot

sudo apt install mariadb-server -y && sudo mysql_secure_installation

Válaszoljon az alábbi kérdésekre

  • Enter current password for root (enter for none): Nyomja meg az Enter billentyűt
  • Switch to unix_socket authentication [Y/n]: Írja be az n billentyűt, és nyomja meg az Enter billentyűt.
  • Set root password? [Y/n]: Nyomja meg az Enter billentyűt.
  • New password: Másoljon egy erős jelszót a Dashlane jelszógenerátorból. A jelszó beillesztéséhez az SSH-konzolban kattintson a jobb gombbal, és nyomja meg az Enter billentyűt. A jelszó nem lesz látható a képernyőn.
  • Re-enter new password: Kattintson a jobb gombbal, és nyomja meg újra az Enter billentyűt.

A sikeres jelszóbeállítás után megjelenik

Password updated successfully!
Reloading privilege tables..
... Success!

A következő kérdésekre is válaszolnia kell.

  • Remove anonymous users? [Y/n]: Nyomja meg az Enter billentyűt
  • Disallow root login remotely? [Y/n]: Nyomja meg az Enter billentyűt
  • Remove test database and access to it? [Y/n]: Nyomja meg az Enter billentyűt
  • Reload privilege tables now? [Y/n]: Nyomja meg az Enter billentyűt

3. Új adatbázis létrehozása a WordPress számára

Jelentkezzen be a MySQL-be, nyomja meg az enter billentyűt, amikor jelszót kér.

mysql -u root -p

Hozzon létre egy új adatbázist, és adjon jogosultságokat a jelszóval rendelkező felhasználójának. Ez az a hely, ahol a WordPress tárolja az összes poszt, oldal, téma, plugin, stb. információt.

create database wordpress;
grant all on wordpress.* to gulshan@localhost identified by '5pY8CKJxDRJEGQNkX7';
flush privileges;
exit;

Where your …
database is wordpress
username is gulshan
password is 5pY8CKJxDRJEGQNkX7

Tipp: Egyedi bejelentkezési hitelesítő adatok használata

4. PHP 8.2, Apache2 telepítése és engedélyek beállítása

sudo add-apt-repository ppa:ondrej/php -y && apt update && apt install php8.2-fpm php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-soap php8.2-zip php8.2-bcmath -y && sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/8.2/fpm/php.ini && service php8.2-fpm restart && apt install apache2 -y && chown -R www-data:www-data /var/www/ && chmod -R 755 /var/www/

PHP konfiguráció finomhangolása

A legtöbb divatos téma és bővítmény futtatásához high-end PHP konfigurációra van szükség. Ezért ezeket a változtatásokat el kell végeznünk.

sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 128M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/max_file_uploads = 20/max_file_uploads = 30/g' /etc/php/8.2/fpm/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 900/g' /etc/php/8.2/fpm/php.ini
sed -i 's/max_input_time = 60/max_input_time = 3000/g' /etc/php/8.2/fpm/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 128M/g' /etc/php/8.2/fpm/php.ini
service php8.2-fpm restart

5. Wildcard Let’s Encrypt SSL tanúsítvány telepítése

Hozzon létre egy cloudflare.ini fájlt a /root/.secrets/ könyvtárban.

mkdir -p /root/.secrets/ && cd /root/.secrets/ && nano cloudflare.ini

Adja hozzá az alábbi kódot és mentse a CTRL+O billentyűkombinációval, majd lépjen ki a CTRL+X billentyűkombinációval.

dns_cloudflare_email = "[email protected]"
dns_cloudflare_api_key = "XXXXXXXXXXXXXXXXX"

A Cloudflare e-mail címét és globális API kulcsát a „Saját profil” > API tokenek > Globális API kulcs menüpontban találja meg.

chmod 0400 /root/.secrets/cloudflare.ini

A Certbot és a DNS Authenticator telepítése az operációs rendszernek és a HTTP webkiszolgálónak megfelelően

apt install snapd -y
snap install --beta --classic certbot
snap set certbot trust-plugin-with-root=ok
snap install --beta certbot-dns-cloudflare
snap connect certbot:plugin certbot-dns-cloudflare

Wildcard SSL tanúsítvány beszerzése

certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d example.com,*.example.com --preferred-challenges dns-01

Automatikus megújítás beállítása Cron Job használatával

  • Írja be a crontab -e parancsot
  • Type $1 a nano editorhoz
  • Enter below command and save
0 0 * * *  /etc/init.d/apache2 reload >/dev/null 2>&1

A teszt megújítása

certbot renew --dry-run

Aktiválja ezeket a hasznos modulokat

a2enmod proxy_fcgi ssl http2 expires headers rewrite remoteip
systemctl restart apache2

6. Hozzon létre alkalmazáskönyvtárat minden egyes telepíteni kívánt WordPress webhelyhez

mkdir -p /var/www/example.com/public

Ez lesz a Document Root elérési útvonal az Apache Configuration fájlban. Az example.com létrehozásának oka a www-n belül az, hogy az egyes oldalakat szervezett módon tartsuk. Másodszor, létrehoztam egy nyilvános könyvtárat is azzal a céllal, hogy az összes WordPress core fájlt ott tartsam, de a wp-config.php-t egy szinttel feljebb (/var/www/example.com/).

7. Apache2 konfiguráció létrehozása

Ez akkor fontos, ha be kell állítania a tartományát, hogy az Apache2 hogyan kezelje a HTTP-kérelmeket.

Az Apache2 alapértelmezett kiszolgálóblokkok konfigurációs fájljainak törlése

rm /etc/apache2/sites-available/000-default.conf
rm /etc/apache2/sites-available/default-ssl.conf
rm /etc/apache2/sites-enabled/000-default.conf
source /etc/apache2/envvars

Most hozzon létre egy új kiszolgálóblokk konfigurációs fájlokat. Ezt a lépést minden alkalommal meg kell tennie, amikor új WordPress-t szeretne hozzáadni ugyanazon a szerveren.

Kérjük, hogy a example.com helyett a saját domainjét használja, és ne felejtse el a konfigurációs fájl nevét .conf kiterjesztéssel befejezni. Ellenkező esetben nem fog működni.

cd /etc/apache2/sites-available/
nano example.com.conf
  1. Helyettesítse a example.com-ot saját domainnel
  2. Írja be az alábbi kódot, és nyomja meg a CTRL+O billentyűkombinációt a mentéshez és a CTRL+X billentyűkombinációt a kilépéshez.
##############################################################
#                                                               
# MEGJEGYZÉSEK: Kérjük, keresse meg és cserélje ki a example.com-ot a saját domainre.  
#                                                                
##############################################################


# We are going to Force HTTPS non-www
# Ha HTTPS www-t akarsz, akkor az utolsó sorban hagyd meg a https://www.example.com/ címet.
# Különben átirányítási hurok problémával szembesülhetsz.

<VirtualHost *:80>
   ServerSignature Off
   ServerName example.com
   ServerAlias www.example.com
   Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
   ServerSignature Off
   ServerName example.com
   ServerAlias www.example.com
   Protocols h2 h2c http/1.1
   DirectoryIndex index.php index.html
    
   # Cloudflare felhasználóknak ajánlott
   # RemoteIPHeader X-Forwarded-For
   
   # Dokumentum gyökér elérési útvonal (Figyeljen erre az útvonalra a 404 elkerülése érdekében)
   DocumentRoot /var/www/example.com/public
   
   # Naplók elérési útvonala /var/log/apache2/example.com-access.log
   ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
   CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
   
   # Let's Encrypt SSL
   SSLEngine On
   SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
   
   # .htaccess fájl használatának engedélyezése a konfiguráció felülbírálásához
   <Directory /var/www/example.com/public>
     Options FollowSymLinks
     AllowOverride All
     Require all granted
   </Directory>
   
   # A PHP végrehajtásának blokkolása az Uploads könyvtáron belül
   <Directory /var/www/example.com/public/wp-content/uploads>
    <Files *.php>
      deny from all
    </Files>
   </Directory>
   
   # Védje a wp-config.php fájlt
   <files wp-config.php>
      order allow,deny
      deny from all
   </files>

  # HTTP Auth a további biztonság érdekében
  # Ha HTTP Auth-t szeretnél a WordPress bejelentkezési oldalához, akkor vedd fontolóra, hogy ezt a kódblokkot nem kommentálod.
  # Ha így teszel, akkor a .htpasswd fájlt is generálnod kell.
  # <Files wp-login.php>
  #  AuthName "Admins Only"
  #    AuthUserFile /var/www/.htpasswd
  #   AuthType basic
  #    require user gulshan
  #   <RequireAny>
  #      Require ip 127.0.0.1
  #       Require valid-user
  #   </RequireAny>
  # </Files>
   
   # Az XML-RPC blokkolása a DDoS-támadás megelőzése érdekében. 
   <Files xmlrpc.php>
      Order Deny,Allow
      Deny from all
   </Files>
   
   # Kezelje a PHP végrehajtását
   <FilesMatch ".php$">
      SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost/"
   </FilesMatch>
</VirtualHost>

To save, press CTRL+O and Enter key. Then, exit nano editor using command CTRL+X.

A kiszolgálóblokk aktiválásához adja meg a következő parancsot

Az alábbi parancs futtatása előtt cserélje le a example.com címet a saját domainjére.

a2ensite example.com.conf

Tesztkonfiguráció (opcionális)

apache2 -t

Újraindítás és frissítés

service apache2 restart && service php8.2-fpm restart && service mysql restart && apt-get update && apt upgrade -y

8. WordPress fájlok telepítése

Töltse le a WordPress fájlokat a /var/www/example.com/public/ könyvtárba, és állítsa be az engedélyeket.

cd /var/www/example.com/public && wget https://hu.wordpress.org/latest-hu_HU.tar.gz && tar -xvzf latest-hu_HU.tar.gz && mv -v wordpress/* /var/www/example.com/public && rm -rf index.nginx-debian.html latest-hu_HU.tar.gz wordpress && chown -R www-data:www-data /var/www/ && sudo chmod -R 755 /var/www

A jövőbeni engedélyek frissítéséhez használja az alábbi parancsot. Ez a /var/www/ könyvtáron belül mindenre www-data lesz beállítva.

chown -R www-data:www-data /var/www/example.com/public/ && sudo chmod -R 755 /var/www/example.com/public/

9. DNS frissítése

Ha a WordPress-t helyben hosztolja, meg akarja kerülni a proxyt, vagy zéró leállási idejű migrációt szeretne végrehajtani, ez a lépés hasznos. Én általában a statikus WordPress Dev terület esetén preferálom.😉

  • Kétféleképpen lehet a DNS-re mutatni. Ha a webhelyet a Vultr-ra költözteti, és először helyben szeretné tesztelni, akkor szerkessze meg a hosts fájlt, és mutasson oda.

Windowshoz

  • Menjen a C:\Windows\System32\drivers\etc\hosts tulajdonságaihoz.
  • Módosítsa a „Biztonság” engedélyt teljes ellenőrzésre az aktuális felhasználónévhez.
  • Most már szabadon szerkesztheti a hosts fájlt a System felhasználója alatt, és elmentheti azt.
# For same machine you can have localhost address else public IP
127.0.0.1 example.com
127.0.0.1 www.example.com

Egy példa, így kell kinéznie

Macre vagy Linuxra

A hosts fájlt ezzel a paranccsal szerkesztheti sudo felhasználó alatt.

sudo nano /etc/hosts

DNS frissítése a Cloudflare-rel

  • Ha minden tökéletesnek tűnik, és szeretné, hogy az oldalát élesítse, jelentkezzen be a Cloudflare DNS-be, és frissítse az új IP-címet.
Record TypeNameValue
A@IPV4
AAAA@IPV6
CNAMEwwwexample.com

where @ denotes root domain example.com

9. Látogasson el a domain nevére a WordPress beállításához

Ha nem-www verziójú domaint szeretne tartani a WordPress számára, akkor látogasson el a nem-www verzióra, különben www.

https://example.com
  • Adja meg az adatbázis bejelentkezési adatait a WordPress beállításának megkezdéséhez
  • Telepítés futtatása
  • Töltse ki az új webhely alapvető adatait és telepítse a WordPress-t.
  • Bejelentkezés a WordPress-be

Egyéb szükséges dolgok

  • Növelje a Swap memóriát a hirtelen terhelés kezelésére
swapoff -a
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  • Győződjön meg róla, hogy használ egy Page Caching plugint, hogy a szerverterhelést kordában tartsa. Mivel ez egy LAMP stack, a WP Fastest Cache-t ajánlom.
  • Mindig tartson biztonsági másolatot.
  • Használja SMTP plugin Szolgáltatások kimenő e-mail küldéséhez WordPress különben nem lesz képes fogadni jelszó visszaállítása link, kapcsolatfelvételi űrlap 7 üzenetek.

Végül a WordPress telepítése befejeződött.

Nagyra értékelem az értékes időt, amit ennek a cikknek az elolvasására szánt. Találkozunk a következő bemutatóban!

Szólj hozzá!