Asenna WordPress Ubuntu 22.04:n, Apache2:n, MariaDB:n ja PHP 8.2-FPM:n kanssa

Jos aiot isännöidä WordPressiä pilvipalvelimella, tästä oppaasta on sinulle hyötyä. LAMP tarkoittaa Linux-, Apache-, MariaDB- ja PHP-ohjelmistoja, jotka yhdessä tunnetaan nimellä LAMP-pino.

Hyödyt ja haitat Apache-verkkopalvelimen valinnassa NGINX:n sijaan

  • Plussaa: Se tukee .htaccess-tiedostoa, jota monet käyttävät yleisesti Sivun välimuistitallennus ja optimointi. Tämä on loistava valinta ei-koodaajalle.
  • Miinukset: Se on hieman vähemmän suorituskykyinen kuin NGINX, mutta sitä voidaan hallita APO:n avulla. Suuren liikennemäärän sivustolle LEMP-pino on paras valinta.

Seuraa näitä 3 vaihetta ja katso video. Tarvitsetko apua? Ota yhteyttä minuun.😊

  1. Cloudflare DNS:n määrittäminen
  2. Ubuntu-palvelimen hankkiminen
  3. LAMP-pinon käyttöönotto

Ennen kuin aloitat, tässä on nopea vinkki. Käytä Search and Replace Extension vaihtaaksesi example.com-verkkotunnuksen omaksi verkkotunnukseksesi tällä verkkosivulla.

Ajan säästövinkki Google Chromen käyttäjille.
search replace

Osa A: Pidä Cloudflaren nimipalvelimet aktiivisina

Käytämme Cloudflare DNS:ää Let’s Encrypt Wildcard SSL -sertifikaatin hankkimiseen. Suorita tämä vaihe ensin, jotta voit nauttia siirtymisestä ilman downtime-ajan menetystä.

Tarkista nykyiset nimipalvelimet

  • Etsi aktiiviset nimipalvelimesi osoitteesta https://www.whatsmydns.net/#NS/example.com
  • Jos näet, että käytät aiempaa Hosting- tai Domain-rekisteröijän oletus-NS:ää, sinun on vaihdettava se Cloudflareen.
  • Opi käyttämään Cloudflare DNS:ää

Osa B: Ubuntu Server 22.04 LTS -palvelimen valmiiksi saaminen

Ubuntu
Ubuntun logo

1. Rekisteröidy Vultr napata $100 Vapaa luottojen (Voimassa 14 päivää)

Koska olen kokeillut monia pilvipalvelinyrityksiä, kokemukseni mukaan Vultr ei voi mennä pieleen. Nämä kaverit ovat aitoja ja välittäviä, kun kyse on tuesta ja palveluista.

vultr

⚡ Suorituskyky

  • 3rd Generation AMD EPYC™
  • NVME / SSD
  • Up to 4 GHz CPU
  • Up to 5Gbps Network Speed
  • Datacenter in America, Europe, Asia, Austraillia
  • IPV6 ready

💡 Ominaisuudet

  • Beginner-Friendly Dashboard
  • One-click to Snapshot
  • Automtatic Backup (Paid)
  • Free Cloud Firewall
  • DDoS protection (Paid)
  • 100% KVM Virtualization

⚙ Tuki

  • PayPal/Card
  • 24/7 Ticket Support
  • Documentation

2. Deloy uusi palvelin

Klikkaa plus-painiketta päästäksesi alkuun

Deploy New Server

3. Valitse palvelintyyppi

Valitse Cloud Compute, jos haluat jaetun suorittimen edulliseen hintaan.

Cloud Compute

Tämän jälkeen voit valita CPU & Storage Technology -kohdassa AMD High Performance– tai Intel High Frequency -vaihtoehdon. Siinä on kaikkien aikojen nopein prosessori ja NVMe-levy. Jos budjetti on pienempi, valitse Regular-paketti Intel-suorittimella, jossa saat SSD-levyn.

CPU Technology

4. Valitse palvelimen sijainti

Vultr tarjoaa palvelimia neljässä maanosassa. Mahdollisimman alhaisen viiveen ja parhaan suorituskyvyn saavuttamiseksi kannattaa aina valita alue, joka on lähimpänä yleisöäsi.

vultr server region

Jos esimerkiksi 99 prosenttia liikenteestä tulee Intiasta, valitse lähin alue – Mumbai.

Asia

  • Mumbai, India
  • Delhi NCR, India
  • Bengaluru, India
  • Singapore, Singapore
  • Tokyo, Japan
  • Seoul, South Korea

America

  • Miami, United States
  • Atlanta, United States
  • Chicago, United States
  • Dallas, United States
  • Honolulu, United States
  • Los Angeles, United States
  • Mexico City, Mexico
  • New York (NJ), United States
  • Seattle, United States
  • Silicon Valley, United States
  • Toronto, Canada, São Paulo

Europe

  • Stockholm, Sweden
  • London, United Kingdom
  • Amsterdam, Netherlands
  • Frankfurt, Germany
  • Madrid, Spain
  • Paris, France
  • Warsaw, Poland

Australlia

  • Sydney, Australlia
  • Melbourne, Australia

5. Valitse palvelinkuva > Käyttöjärjestelmä > Ubuntu 22.04 LTS x64.

ubuntu os

Pitkäaikainen tuki (Long-term support, LTS) on tuotteen elinkaarenhallintakäytäntö, jossa tietokoneohjelmiston vakaata versiota ylläpidetään pidempään kuin vakioversiota.

ubuntu releases 2

6. Valitse palvelinkoko

server size

$6/mo suunnitelma olisi hyvä lähtökohta uudelle blogille. Voit päivittää milloin tahansa tarpeen mukaan.

Vihje: Jos olet siirtymässä, tarkista asennuksen kokonaiskoko kohdasta Sivuston terveystiedot.

Site health info

7. Enable IPV6, Backup

vultr enable backup ipv6

8. Lisää SSH-avain

Tämä on suositeltava, valinnainen vaihe turvallisuuden parantamiseksi.

Add SSH key
  • Napsauta Lisää uusi -painiketta lisätäksesi uuden SSH-avaimen 🔒julkisen avaimesi lähettämistä varten.
  • Luo avaimet alla olevalla menetelmällä käyttöjärjestelmäsi mukaan.
win os
  • Lataa PuTTy-sovellus.
  • Etsi PuTTygen Käynnistä-valikosta.
  • Napsauta Generate-painiketta ja siirrä hiiren osoitin leijumaan.
  • Kopioi julkinen avain ja anna Vultrille
  • Syötä avaimen salasana
  • Tallenna 🔑Private Key turvallisimpaan paikkaan.
  • Tätä voidaan käyttää SSH- tai SFTP-kirjautumiseen.
linux 2
  • Suorita: ssh-keygen -t rsa. Jos haluat turvallisemman 4096-bittisen avaimen, suorita: ssh-keygen -t rsa -b 4096.
  • Paina Enter-näppäintä, kun sinulta kysytään, mihin haluat tallentaa avaimen (tämä käyttää oletussijaintia).
  • Syötä avaimen salasana.
  • Suorita cat ~/.ssh/id_rsa.pub – näin saat avaimen oikeassa muodossa, jonka voit liittää ohjauspaneeliin.
  • Varmista, että varmuuskopioit ~/.ssh/id_rsa-tiedoston. Sitä ei voi palauttaa, jos se katoaa.

Valitse SSH-avaimesi

Näiden ohjeiden noudattaminen liittää julkisen avaimesi uuteen instanssiin. Sen jälkeen voit kirjautua SSH:hen käyttämällä sekä tavallisen tekstin salasanaa että SSH-avainta.

select SSH public key

9. Linkitä verkkopalomuurin sääntö palvelininstanssiin

Firewall
  1. Napsauta Hallitse ja luo uusi palomuuriryhmä.
  2. Salli TCP-portti 22 SSH:lle. 80 HTTP:lle ja 443 HTTPS:lle sekä IPV4- että IPV6-säännöissä.
  3. Kun tämä on tehty, yhdistä palomuuriryhmä instanssiin.
firewall status
Accept TCP connection from 22, 80, 443 only
Link Firewall Group
Linkitä palomuurisääntö uuteen instanssiin

10. Kirjoita isäntänimi ja etiketti klikkaa Deploy Now

server hostname label

Nyt näet asentamisen etenemisessä

Instance Installing

11. Siirry Uusi instanssi -sivulle

Kopioi IP-osoite, käyttäjätunnus ja salasana. Oletusportti on 22.

new instance info page

12. Poista salasanalla kirjautuminen käytöstä

Turvallisuussyistä on suositeltavaa poistaa salasanatodennus käytöstä ja sallia vain avainpohjainen todennus.

  1. Muokkaa asetustiedostoa nano /etc/ssh/sshd_config
  2. Etsi (CTRL + W) ja hae PasswordAuthentication
  3. Muuta arvo kyllä:stä ei:ksi
  4. Tallenna tyyppi, CTRL + O
  5. Käynnistä SSH-palvelu uudelleen komennolla sudo service ssh restart
disable password auth
Salasanatodennuksen poistaminen käytöstä

Seuraavalla kerralla voit käyttää SSH:ta vain avaimen kautta, kuten videolla näytetään.

Linuxissa tai Macissa, käytä Terminalia ja komentoa seuraavasti

ssh [email protected] -p 22 -i id_rsa

Step 13. Poista UFW käytöstä

Kun otat käyttöön uuden instanssin VULTR:ssä, sen mukana tulee UFW (Uncomplicated Firewall), joka pitää kaikki portit estettyinä lukuun ottamatta SSH-porttia 22. Tämä voi palauttaa selaimessa ERR_CONNECTION_REFUSED-virheen. Tämän korjaamiseksi suosittelen pitämään UFW:n pois käytöstä.

ufw disable

Nyt nopeutan alkuperäistä prosessia WordPressin käyttöönottamiseksi LAMP-pinossa.

Osa C. WordPressin käyttöönotto LAMP-pinossa

1. Päivitä arkistot

Kirjoita alla oleva komento ja paina enter-näppäintä

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

or

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

Käytä seuraavalla kerralla päivittämiseen aina alla olevaa pikakomentoa.

./update

2. Asenna MariaDB tietoturvan kanssa

Kirjaudu uudelleen sisään ja anna seuraava komento

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

Vastaa alla oleviin kysymyksiin

  • Enter current password for root (enter for none): Paina Enter-näppäintä
  • Switch to unix_socket authentication [Y/n]: n
  • Set root password? [Y/n]: Paina Enter-näppäintä
  • New password: Kirjoita salasanasi, voit käyttää Dashlanea sen luomiseen. Klikkaa oikealla Liitä.
  • Re-enter new password: Re-type your password.

Kun salasanan asettaminen on onnistunut, näet

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

Lisäksi sinun on vastattava seuraaviin kysymyksiin.

  • Remove anonymous users? [Y/n]: Paina Y ja enter-näppäintä
  • Disallow root login remotely? [Y/n]: Paina Y ja enter-näppäintä
  • Remove test database and access to it? [Y/n]: Paina Y ja enter-näppäintä
  • Reload privilege tables now? [Y/n]: Paina Y ja enter-näppäintä

3. Luo uusi tietokanta WordPressille

Kirjaudu sisään MySQL:ään ja paina enter-näppäintä, kun se kysyy salasanaa.

mysql -u root -p

Luo uusi tietokanta ja myönnä käyttöoikeudet sen käyttäjälle ja salasanalle. Tässä WordPress tallentaa kaikki viestit, sivut, teemat, laajennukset jne. tiedot.

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

Missä sinun …
database is wordpress
username is gulshan
password is 5pY8CKJxDRJEGQNkX7

Vinkki: Harkitse ainutlaatuisen kirjautumistunnuksen käyttöä

4. Asenna PHP 8.2, Apache2 ja aseta käyttöoikeudet.

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-konfiguraation virittäminen

Useimmat hienot teemat ja lisäosat vaativat korkeatasoisen PHP-konfiguraation toimiakseen. Siksi meidän pitäisi tehdä nämä muutokset.

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. Asenna Wildcard Let’s Encrypt SSL-sertifikaatti.

Luo cloudflare.ini-tiedosto hakemistoon /root/.secrets/.

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

Lisää alla oleva koodi ja tallenna käyttämällä CTRL+O ja poistu käyttämällä CTRL+X.

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

Löydä Cloudflaren sähköpostiosoitteesi ja globaali API-avaimesi kohdasta ”Oma profiili” > API-tunnukset > Globaali API-avain.

chmod 0400 /root/.secrets/cloudflare.ini

Asenna Certbot ja DNS Authenticator käyttöjärjestelmän ja HTTP-verkkopalvelimen mukaan.

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

Hanki Wildcard SSL-sertifikaatti

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

Aseta automaattinen uusiminen käyttämällä Cron Jobia

  • Kirjoita crontab -e
  • Tyyppi 1 nanoeditorille
  • Kirjoita alla oleva komento ja tallenna
0 0 * * *  /etc/init.d/apache2 reload >/dev/null 2>&1

Testin uusiminen

certbot renew --dry-run

Aktivoi nämä hyödylliset moduulit

a2enmod proxy_fcgi ssl http2 expires headers rewrite remoteip
systemctl restart apache2

6. Luo App Directory jokaiselle WordPress-sivustolle, jonka haluat asentaa.

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

Tämä on dokumentin juuripolku Apachen asetustiedostossa. Syy siihen, että example.com luodaan www:n sisälle, on se, että jokainen sivusto pysyy järjestyksessä. Toiseksi, loin myös julkisen hakemiston, jonka tarkoituksena on pitää kaikki WordPressin ydintiedostot siellä, mutta wp-config.php:n yksi taso ylempänä (/var/www/example.com/).

7. Luo Apache2-konfiguraatio

Tämä on tärkeää, kun sinun on määritettävä verkkotunnuksesi, miten Apache2:n tulisi käsitellä HTTP-pyyntöjäsi.

Poista Apache2:n oletuspalvelinlohkojen asetustiedostot

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

Luo nyt uusi palvelinlohkon konfiguraatiotiedostot. Sinun täytyy tehdä tämä vaihe joka kerta, kun haluat lisätä uuden WordPressin samalle palvelimelle.

Korvaa example.com omalla verkkotunnuksellasi ja muista päättää konfiguraatiotiedoston nimi .conf-päätteellä. Muuten se ei toimi.

cd /etc/apache2/sites-available/
nano example.com.conf
  1. Korvaa example.com omalla verkkotunnuksella
  2. Syötä alla oleva koodi ja paina CTRL + O tallentaaksesi ja ctrl+x poistuaksesi.
##############################################################
#                                                               
# ILMOITUS: Tee ystävällisesti haku ja korvaa example.com omaan verkkotunnukseen.  
#                                                                
##############################################################


# Me aiomme pakottaa HTTPS ei-www
# Jos haluat HTTPS www, pidä https://www.example.com/ viimeisellä rivillä.
# Tai saatat kohdata uudelleenohjaussilmukkaongelman.

<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
    
   # Suositellaan Cloudflare-käyttäjille
   # RemoteIPHeader X-Forwarded-For
   
   # Document Root Path (Pay attention to this path to avoid 404)
   DocumentRoot /var/www/example.com/public
   
   # Logs Path is /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
   
   # Salli .htaccess-tiedoston käyttö asetusten ohittamiseen
   <Directory /var/www/example.com/public>
     Options FollowSymLinks
     AllowOverride All
     Require all granted
   </Directory>
   
   # Estä PHP:n suoritus Uploads-hakemiston sisällä
   <Directory /var/www/example.com/public/wp-content/uploads>
    <Files *.php>
      deny from all
    </Files>
   </Directory>
   
   # Suojaa wp-config.php
   <files wp-config.php>
      order allow,deny
      deny from all
   </files>

  # HTTP Auth lisäturvaa varten
  # Jos haluat HTTP Auth WordPress kirjautumissivulle, harkitse tämän koodilohkon kommentoinnin poistamista.
  # Jos teet niin, sinun on myös luotava .htpasswd-tiedosto.
  # <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>
   
   # XML-RPC:n estäminen DDoS-hyökkäyksen estämiseksi. 
   <Files xmlrpc.php>
      Order Deny,Allow
      Deny from all
   </Files>
   
   # Käsittele PHP:n suoritus
   <FilesMatch ".php$">
      SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost/"
   </FilesMatch>
</VirtualHost>

Tallenna painamalla CTRL+O ja Enter-näppäintä. Poistu sitten nanoeditorista komennolla CTRL+X.

Voit aktivoida palvelinlohkon antamalla komennon

Ennen kuin suoritat alla olevan komennon, korvaa example.com omalla verkkotunnuksellasi.

a2ensite example.com.conf

Testikokoonpano (valinnainen)

apache2 -t

Käynnistä uudelleen ja päivitä

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

8. Asenna WordPress-tiedostot

Lataa WordPress-tiedostot hakemistoon /var/www/example.com/public/ ja aseta käyttöoikeudet.

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

Jos haluat päivittää käyttöoikeudet tulevaisuudessa, käytä alla olevaa komentoa. Tämä asettaa www-datan kaikelle /var/www/-hakemiston sisällä olevalle tiedostolle.

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

9. DNS:n päivittäminen

Jos isännöit WordPressiä paikallisesti, haluat ohittaa välityspalvelimen tai haluat suorittaa siirtymisen ilman seisokkiaikaa, tämä vaihe on hyödyllinen. Yleensä suosin sitä staattisen WordPress Dev -alueen tapauksessa 😉.

  • DNS:n osoittamiseen on kaksi tapaa. Jos olet siirtämässä sivustoa Vultr:iin ja haluat testata ensin paikallisesti, muokkaa hosts-tiedostoa ja osoita se sinne.

Windowsille

  • Go to properties of ‪‪C:\Windows\System32\drivers\etc\hosts
  • Vaihda ”Turvallisuus”-oikeudet täyteen hallintaan nykyiselle käyttäjätunnuksellesi.
  • Nyt voit vapaasti muokata hosts-tiedostoa System-käyttäjälläsi ja tallentaa sen.
# Samalla koneella voi olla localhost-osoite tai julkinen IP-osoite.
127.0.0.1 example.com
127.0.0.1 www.example.com

Esimerkki, näin sen pitäisi näyttää

Macille tai Linuxille

Voit muokata hosts-tiedostoa tällä komennolla sudo-käyttäjänä.

sudo nano /etc/hosts

DNS:n päivittäminen Cloudflaren avulla

  • Jos kaikki näyttää täydelliseltä ja haluat saada sivustosi käyttöön, kirjaudu Cloudflare DNS:ään ja päivitä uusi IP-osoite.
Record TypeNameValue
A@IPV4
AAAA@IPV6
CNAMEwwwexample.com

jossa @ tarkoittaa juurialuetta example.com

9. Käy verkkotunnuksessasi asentamassa WordPress

Jos haluat pitää ei-www-versio verkkotunnuksen WordPress sitten käydä ei-www-versio muuten www.

https://example.com
  • Anna tietokantaan kirjautumistiedot aloittaa WordPress Setup
  • Suorita asennus
  • Täytä uuden sivustosi perustiedot ja asenna WordPress.
  • Kirjaudu sisään WordPress

Other neccessary things

  • Lisää vaihtomuistia äkillistä kuormitusta varten.
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

Lopuksi WordPressin asennus on saatu valmiiksi.

Arvostan suuresti arvokasta aikaasi tämän artikkelin lukemisessa. Nähdään seuraavassa opetusohjelmassa!

Jätä kommentti