HELPER VPS

VPS'e WordPress kurulumu: WordPress, LEMP ve Docker imajlarına göre yöntemler

WordPress'i kendi sunucunuza kurarsanız eklentileri, temaları ve sunucu ayarlarını tamamen siz belirlersiniz. Sunucu oluştururken seçtiğiniz imaja göre en uygun kurulum yöntemini seçip izleyin.

Üç yöntemden birini seçin

HELPER VPS'te sunucu oluştururken yalnızca imaj seçerek WordPress hazırlık adımlarını büyük ölçüde kısaltırsınız. Durumunuza uygun bir yöntem seçmeniz yeterlidir.

  • WordPress imajı: Ubuntu 24.04 üzerine Nginx, MySQL, PHP ve WordPress kurulur. Tarayıcıda yalnızca kurulum ekranını tamamlamanız yeterli olduğu için tek bir blogu açmanın en hızlı yoludur.
  • LEMP imajı: Nginx, MySQL ve PHP'nin hazır olduğu sunucuya WordPress'i kendiniz yüklersiniz. Birden fazla siteyi tek sunucuda tutmak veya klasör yapısını ve ayarları kendiniz belirlemek istediğinizde idealdir.
  • Docker imajı: WordPress ve veritabanını container olarak çalıştırırsınız. Siteyi başka bir sunucuya taşırken veya aynı ortamı birkaç kez oluştururken pratiktir.

Küçük bir blog için en küçük 12GB genel plan yeterlidir, ancak e-ticaret veya yoğun ziyaretçili siteler için hızlı diski olan yüksek performanslı NVMe sunucuları sayfaları daha hızlı açar. Boyut önerileri WordPress VPS sayfasında yer alır.

Önce alan adını bağlayın

Alan adı kullanmayı planlıyorsanız kurulumdan önce bağlarsanız HTTPS sertifikasını da tek seferde alırsınız. Alan adını satın aldığınız yerin DNS yönetim ekranında aşağıdaki iki kaydı oluşturun.

  • A kaydı: ad @ (ve www), değer sunucunun IPv4 adresi
  • AAAA kaydı: ad @ (ve www), değer sunucunun IPv6 adresi

Kayıtların yayılması genellikle birkaç dakika ile birkaç saat arasında sürer. Sunucuda ping -c 3 example.com çalıştırdığınızda sunucunuzun IP'si görünüyorsa hazırsınız demektir. Aşağıdaki komutlardaki example.com yerine kendi alan adınızı yazın.

Yöntem 1. WordPress imajıyla hemen başlama

  • Sunucu oluşturma ekranında bölgeyi ve boyutu seçip imaj listesinden WordPress'i seçin.
  • Sunucu çalışıyor durumuna geçtiğinde tarayıcıda http://YOUR_SERVER_IP adresini açın.
  • Dili seçip site başlığını, yönetici kullanıcı adını, parolayı ve e-postayı belirlediğinizde kurulum tamamlanır.
  • http://YOUR_SERVER_IP/wp-admin adresinden yönetim paneline girin.

Yönetici parolasını uzun ve karmaşık belirleyin, kullanıcı adı olarak admin yerine yalnızca sizin bildiğiniz bir ad seçerseniz giriş denemelerine karşı güçlü olursunuz. Alan adı bağlantısı ve HTTPS için aşağıdaki HTTPS adımını aynen izlemeniz yeterlidir.

Yöntem 2. LEMP sunucusuna kendiniz kurma

LEMP imajında Nginx, MySQL ve PHP-FPM zaten kuruludur. Yalnızca WordPress'in ihtiyaç duyduğu PHP eklentilerini, veritabanını ve site ayarlarını eklemeniz yeterlidir. Ubuntu 24.04 temel alınmıştır; diğer Ubuntu ve Debian sürümlerinde de sıra aynıdır.

1. adım. PHP eklentilerini kurun

Terminal
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v PHP sürümünü, ls /run/php/ ise PHP-FPM soket adını gösterir. Ubuntu 24.04'te PHP 8.3 olduğu için php8.3-fpm.sock, Debian 13'te PHP 8.4 olduğu için php8.4-fpm.sock görünür. Aşağıdaki Nginx ayarında bu adı aynen kullanın.

2. adım. Veritabanı ve kullanıcı oluşturun

root olarak bağlıyken mysql çalıştırdığınızda parola olmadan MySQL'e girersiniz. Aşağıdaki dört satırla WordPress'e özel bir veritabanı ve kullanıcı oluşturun. Parolayı uzun bir parolayla değiştirip not edin.

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. adım. WordPress'i indirin

Terminal
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

Klasörün sahibini web sunucusu kullanıcısı (www-data) olarak değiştirirseniz tarayıcıdaki kurulum ekranı ayar dosyasını kendisi oluşturur, eklenti ve temaları da yönetim panelinden hemen kurarsınız.

4. adım. Nginx site ayarı

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
Terminal
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

nginx -t syntax is ok, test is successful gösteriyorsa ayar doğrudur. Henüz alan adınız yoksa server_name alanına _ yazıp varsayılan site (/etc/nginx/sites-enabled/default) bağlantısını silerseniz site IP adresiyle açılır.

5. adım. Kurulumu tarayıcıda tamamlayın

http://example.com adresini açtığınızda kurulum ekranı görünür. Veritabanı adı olarak wordpress, kullanıcı olarak wpuser, 2. adımda belirlediğiniz parolayı ve sunucu olarak localhost'u girip site başlığını ve yönetici hesabını belirlediğinizde tamamlanır.

Yöntem 3. Docker Compose ile kurulum

Docker imajıyla oluşturulan veya Docker'ı kendiniz kurduğunuz bir sunucuda tek bir dosyayla WordPress ve MariaDB'yi birlikte çalıştırırsınız. İki parolayı da uzun parolalarla değiştirin.

Terminal
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

http://YOUR_SERVER_IP adresini açtığınızda kurulum ekranı görünür. Veritabanı bilgileri dosyada zaten bulunduğu için yalnızca site başlığını ve yönetici hesabını belirlemeniz yeterlidir. Yazılar ve yüklenen dosyalar wp volume'unda, veritabanı db volume'unda kaldığı için container'ı yeni sürüme geçirseniz de olduğu gibi korunur.

Docker ile yayınlanan sitelere HTTPS eklerken önüne bir ters proxy koymak en temiz yöntemdir. Ekranda yalnızca alan adını girdiğinizde sertifikayı da otomatik ekleyen Coolify veya Dokploy imajlarını kullanırsanız daha da kolaydır.

HTTPS sertifikası ekleme

WordPress imajı ve LEMP sunucularında Certbot ile Let's Encrypt ücretsiz sertifikası alıp doğrudan Nginx'e eklersiniz. Alan adının sunucu IP'sini göstermesi gerekir.

Terminal
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

E-postanızı girip koşulları kabul ettiğinizde sertifika verilir ve Nginx ayarına HTTPS eklenir. Sertifikayı Certbot otomatik olarak yeniler. Ardından WordPress yönetim panelindeki Ayarlar > Genel bölümünde WordPress adresini ve site adresini https olarak değiştirin. Güvenlik duvarı kullanıyorsanız ufw allow 80,443/tcp ile iki portu açın.

Kurulumdan sonra yapmanız faydalı ayarlar

  • Kalıcı bağlantılar: Ayarlar > Kalıcı bağlantılar bölümünde yazı adı biçimini seçerseniz adresler okunaklı olur. Yukarıdaki Nginx ayarındaki try_files satırı bu adresleri işler.
  • Yükleme boyutu: büyük görselleri veya tema dosyalarını yüklemek için Nginx'teki client_max_body_size ile birlikte /etc/php/8.3/fpm/php.ini dosyasındaki upload_max_filesize ve post_max_size değerlerini aynı boyuta yükseltip systemctl restart php8.3-fpm çalıştırın.
  • E-posta gönderimi: üyelik, parola sıfırlama ve sipariş bildirim e-postalarını SMTP eklentisiyle bir e-posta gönderim hizmetinin 587 veya 465 numaralı portuna bağlayın. Yöntem e-posta gönderim rehberinde yer alır.
  • Güncellemeler: WordPress çekirdeğini, eklentileri ve temaları yönetim panelinden, sunucuyu ise apt update && apt upgrade -y ile düzenli olarak güncel tutun.
  • Yedekleme: yazılar ve veritabanı yeniden oluşturulamayan varlıklardır. Sunucuyu oluştururken otomatik yedeklemeyi açın veya yedekleme ve anlık görüntü rehberindeki yöntemlerle kopya alın.

Baştan yeniden kurmak istediğinizde sunucu sayfasındaki yeniden kurulumdan WordPress imajını yeniden seçerseniz temiz bir duruma dönersiniz. Disk yeniden kurulduğu için gerekli yazıları önce Araçlar > Dışa aktar ile indirin; adımlar için yeniden kurulum rehberine bakın.

Birlikte okumanız faydalı olacak rehberler

Bu rehberle birlikte yapmanızda fayda olan ayarlar.

Tüm rehberleri gör