Wolkra

Oppaat

Näin asennat WordPressin VPS-palvelimelle

Asenna WordPress VPS-palvelimelle Caddyllä, PHP-FPM:llä ja MariaDB:llä Ubuntu 24.04:ssä: tietokanta, automaattinen HTTPS, WP-CLI, välimuisti, varmuuskopiot ja päivitykset vaihe vaiheelta.

Päivitetty 4 min lukuaika

Ajaaksesi WordPressiä VPS-palvelimella asenna web-palvelin (tässä Caddy), PHP-FPM WordPressin tarvitsemine laajennuksineen ja MariaDB; luo tietokanta ja käyttäjä; lataa WordPress WP-CLI:llä; ja osoita verkkotunnus palvelimeen, jotta Caddy voi ottaa HTTPS:n käyttöön. Ubuntu 24.04:ssä koko asennus vie noin 20 minuuttia.

Jos haluat ohittaa käsityön, Wolkran WordPress-sovellus yhdellä klikkauksella asentaa saman kokonaisuuden automaattisesti. Tämä opas näyttää, mitä pinnan alla tapahtuu, jotta voit ylläpitää ja korjata sitä itse.

Ennen kuin aloitat

  • Palvelin, jossa on Ubuntu 24.04 (Debian 12 toimii samoilla vaiheilla), suositeltu muisti 2 GB.
  • Ensimmäiset askeleet tehtynä: päivitykset, sudo-käyttäjä, SSH-avaimet.
  • Verkkotunnus, jonka A-tietue (ja AAAA, jos käytät IPv6:ta) osoittaa palvelimeen. Tässä oppaassa: blog.example.com.
  • Portit 80 ja 443 avattuina UFW:ssä ja mahdollisessa pilvipalomuurissa.
bash
sudo ufw allow 80,443/tcp

1. Asenna PHP ja MariaDB

bash
sudo apt update
sudo apt install -y mariadb-server \
  php-fpm php-mysql php-curl php-gd php-intl php-mbstring \
  php-xml php-zip php-imagick php-bcmath unzip

Ubuntu 24.04 asentaa PHP 8.3:n; Debian 12 asentaa PHP 8.2:n. Tarkista, kumpi sinulla on:

bash
php -v
ls /run/php/

Pane merkille socketin nimi, kuten php8.3-fpm.sock. Tarvitset sitä vaiheessa 5.

2. Suojaa MariaDB ja luo tietokanta

bash
sudo mariadb-secure-installation

Hyväksy oletukset: säilytä rootin unix socket -tunnistautuminen, poista anonyymit käyttäjät ja testitietokanta.

Luo WordPressille tietokanta ja käyttäjä:

bash
DBPASS=$(openssl rand -hex 20)
echo "Database password: $DBPASS"
sudo mariadb <<SQL
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp'@'localhost' IDENTIFIED BY '$DBPASS';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL

Tallenna salasana; WP-CLI tarvitsee sitä pian.

3. Asenna Caddy

Caddy ylläpitää virallista Debian/Ubuntu-pakettivarastoa:

bash
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
  sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
  sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy

4. Asenna WP-CLI ja lataa WordPress

bash
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

Luo sivuston hakemisto ja anna PHP-käyttäjän omistaa se:

bash
sudo mkdir -p /var/www/blog
sudo chown www-data:www-data /var/www/blog
cd /var/www/blog
sudo -u www-data wp core download
sudo -u www-data wp config create \
  --dbname=wordpress --dbuser=wp --dbpass="$DBPASS" --dbhost=localhost
sudo -u www-data wp core install \
  --url=https://blog.example.com \
  --title="My Blog" \
  --admin_user=admin_$(openssl rand -hex 3) \
  --admin_email="<sähköpostiosoitteesi>" \
  --prompt=admin_password

Vaikeasti arvattava ylläpitäjän käyttäjänimi vaikeuttaa arvaushyökkäyksiä. --prompt kysyy salasanaa sen sijaan, että se jäisi komentohistoriaasi.

5. Määritä Caddy

Korvaa /etc/caddy/Caddyfile seuraavalla:

text
blog.example.com {
    root * /var/www/blog
    encode zstd gzip
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server

    @blocked path /xmlrpc.php /wp-config.php /.git/* /.env
    respond @blocked 404

    header {
        Strict-Transport-Security "max-age=31536000"
        X-Content-Type-Options "nosniff"
        Referrer-Policy "strict-origin-when-cross-origin"
    }
}

Käytä omaa PHP-socketisi nimeä. Sen jälkeen:

bash
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Caddy pyytää varmenteen ensimmäisen pyynnön yhteydessä. Avaa https://blog.example.com/wp-admin/ ja kirjaudu sisään. Lisää vaihtoehtoja on Caddy-käänteisvälityspalvelimen oppaassa.

6. Säädä PHP:tä

Oletusarvot ovat pieniä medialatauksille. Luo tiedosto /etc/php/8.3/fpm/conf.d/99-wordpress.ini (säädä versio):

ini
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
opcache.enable = 1
opcache.memory_consumption = 128
bash
sudo systemctl restart php8.3-fpm

OPcache pitää käännetyn PHP:n muistissa ja on suurin ilmainen nopeusetu.

7. Lisää välimuisti

Useimmille blogeille sivuvälimuistilisäosa riittää. Vilkkaammille sivustoille lisää Redis objektivälimuistiksi:

bash
sudo apt install -y redis-server php-redis
sudo systemctl restart php8.3-fpm
cd /var/www/blog
sudo -u www-data wp plugin install redis-cache --activate
sudo -u www-data wp redis enable

Redis kuuntelee oletuksena vain localhostia. Pidä se niin.

8. Aja WordPressin cron järjestelmästä

WordPress käynnistää ajastetut tehtävät sivunkatselujen yhteydessä, mikä on epäluotettavaa hiljaisilla sivustoilla ja tuhlailevaa vilkkailla. Käytä sen sijaan oikeaa cron-tehtävää:

bash
sudo -u www-data wp config set DISABLE_WP_CRON true --raw
echo '*/5 * * * * www-data cd /var/www/blog && /usr/local/bin/wp cron event run --due-now --quiet' | \
  sudo tee /etc/cron.d/wordpress

9. Pidä se ajan tasalla

Useimmat WordPress-murrot tapahtuvat vanhentuneiden lisäosien kautta. Päivitä viikoittain tai automatisoi:

bash
cd /var/www/blog
sudo -u www-data wp core update
sudo -u www-data wp plugin update --all
sudo -u www-data wp theme update --all

Poista lisäosat ja teemat, joita et käytä. Jokainen niistä on koodia, jossa voi olla aukko.

10. Varmuuskopioi

Tarvitset kaksi asiaa: tietokannan ja wp-content-kansion.

bash
sudo mkdir -p /var/backups/blog
cd /var/www/blog
sudo -u www-data wp db export - | gzip | sudo tee /var/backups/blog/db-$(date +%F).sql.gz >/dev/null
sudo tar czf /var/backups/blog/files-$(date +%F).tar.gz -C /var/www/blog wp-content

Ajasta tämä joka yö ja kopioi tulos muualle. Wolkrassa voit lisätä automaattiset päivittäiset palvelinvarmuuskopiot (20 % palvelimen hinnasta, 7 palautuspistettä) ja ottaa tilannevedoksen ennen suuria päivityksiä. Katso varmuuskopiointistrategian opas.

11. Kovenna perusasiat

  • Pidä SSH pelkästään avainten varassa ja käyttöjärjestelmä päivitettynä (Ubuntu-palvelimen suojaaminen).
  • Ota WordPressin ylläpitäjille käyttöön kaksivaiheinen kirjautuminen lisäosalla.
  • Poista tiedostojen muokkaus käytöstä hallintapaneelissa:
bash
sudo -u www-data wp config set DISALLOW_FILE_EDIT true --raw
  • Rajoita kirjautumisyrityksiä lisäosalla tai Fail2banilla.

12. Lähetä sähköpostit luotettavasti

WordPress lähettää salasanan palautukset, kommentti-ilmoitukset ja tilausviestit oletuksena PHP:n mail()-funktiolla, jolloin ne päätyvät usein roskapostiin. Käytä SMTP-lisäosaa ja kunnollista sähköpostipalvelua ja lisää verkkotunnuksellesi SPF- ja DKIM-tietueet palveluntarjoajan ohjeiden mukaan. Jos palvelin lähettää postia itse, aseta konsolissa sen IP-osoitteen käänteiseksi DNS:ksi palvelimen isäntänimi; katso IP-osoitteet.

13. Tarkista, että kaikki toimii

Nopea terveystarkistus asennuksen jälkeen:

bash
curl -I https://blog.example.com
sudo -u www-data wp --path=/var/www/blog core verify-checksums
sudo -u www-data wp --path=/var/www/blog cron event list
systemctl status caddy php8.3-fpm mariadb --no-pager

verify-checksums vertaa ydintiedostoja viralliseen julkaisuun ja on myös nopea tapa havaita myöhemmin tiedostoihin tehdyt luvattomat muutokset.

Mitoitus ja kasvu

Seuraa muistia ja suoritinta konsolin kaavioista muutaman viikon ajan. Jos PHP-workerit loppuvat kesken, kasvata pm.max_children-arvoa tiedostossa /etc/php/8.3/fpm/pool.d/www.conf tai vaihda palvelin isompaan pakettiin. Liikenne on mittaamatonta kaikissa Wolkran paketeissa, joten vilkas kuukausi ei nosta laskua. Lisää tällaisesta sivustojen ylläpidosta kerrotaan sivulla WordPress-hosting.

Usein kysytyt kysymykset

Onko VPS parempi kuin jaettu webhotelli WordPressille?

VPS antaa sinulle omat resurssit, täyden hallinnan PHP:hen ja välimuistiin eikä samalla tilillä ole meluisia naapureita. Toisaalta vastaat itse päivityksistä ja tietoturvasta, jotka jaettu webhotelli hoitaa puolestasi.

Kuinka paljon muistia WordPress tarvitsee VPS-palvelimella?

Yksi sivusto tietokantoineen toimii huolellisesti 1 GB:llä. 2 GB on mukavampi, ja vilkkaat WooCommerce-kaupat tarvitsevat usein 4 GB.

Miksi käyttää Caddyä Nginxin tai Apachen sijaan?

Caddy hankkii ja uusii HTTPS-varmenteet itse ja tarvitsee vain muutaman rivin asetuksia. Nginx ja Apache toimivat yhtä hyvin, mutta vaativat enemmän määrittelyä.

Saanko WordPressin valmiiksi asennettuna?

Kyllä. Wolkran WordPress-sovellus yhdellä klikkauksella asentaa puolestasi Caddyn, PHP:n, MariaDB:n ja WP-CLI:n, ja se on valmis muutama minuutti palvelimen käynnistymisen jälkeen.

Miten varmuuskopioin WordPressin?

Varmuuskopioi sekä tietokanta että wp-content-kansio. Öinen tietokantavienti WP-CLI:llä ja tiedostokopio palvelimen ulkopuolelle tallennettuna riittävät.

Käynnistä palvelin Frankfurtissa

Luo tili, lataa saldoa ja aja palvelinta alkaen €3.49 kuukaudessa. Maksat vain käyttämistäsi tunneista. Mittaamaton kaistanleveys kaikissa paketeissa.