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. 😊
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.
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
- Keresse meg aktív névszervereit a https://www.whatsmydns.net/#NS/example.com oldalon.
- Ha látja, hogy a korábbi Hosting vagy Domain regisztrátor alapértelmezett NS-t használja, akkor le kell cserélnie a Cloudflare-re.
- Ismerje meg a Cloudflare DNS használatát
B. rész: Az Ubuntu Server 22.04 LTS szerver elkészítése
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ó.
⚡ 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
3. Kiszolgálótípus kiválasztása
Válassza a Cloud Compute-ot a megfizethető árú megosztott CPU-ért.
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.
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.
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
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.
6. Kiszolgálóméret kiválasztása
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.
7. IPV6 engedélyezése, biztonsági mentés
8. SSH kulcs hozzáadása
Ez egy ajánlott, opcionális lépés a fokozott biztonság érdekében.
- 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.
- 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ó.
- 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.
9. A webes tűzfal szabályának összekapcsolása a kiszolgálópéldánnyal
- Kattintson a Kezelés gombra, és hozzon létre egy új tűzfalcsoportot.
- Allow TCP port 22 for SSH. 80 for HTTP and 443 HTTPS for IPV4 and IPV6 rules both.
- Ha ez megtörtént, kösse a tűzfalcsoportot az instanciához.
10. Adja meg a Hostnevet és a címkét kattintson a Deploy Now (Telepítés most) gombra
Most, látni fogja telepítés a haladásban
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.
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.
- A konfigurációs fájl szerkesztése
nano /etc/ssh/sshd_config
- Keresés (CTRL + W) és keresés
PasswordAuthentication
- Értékváltoztatás
yes
-rőlno
értékre - A típus mentéséhez
CTRL
+O
- Az SSH szolgáltatás újraindítása a következő paranccsal
sudo service ssh restart
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 root@192.168.1.1 -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 = "your-cloudflare-email@example.com"
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
- Helyettesítse a example.com-ot saját domainnel
- Í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 Type | Name | Value |
---|---|---|
A | @ | IPV4 |
AAAA | @ | IPV6 |
CNAME | www | example.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!