Takip et

Debian 9 Üzerine LEMP Yığını ile WordPress Kurulumu

Debian 9 Üzerine LEMP Yığını ile WordPress Kurulumu WordPress, dünya genelinde en popüler içerik yönetim sistemlerinden (CMS) biridir ve web

Debian 9 Üzerine LEMP Yığını ile WordPress Kurulumu

WordPress, dünya genelinde en popüler içerik yönetim sistemlerinden (CMS) biridir ve web sitelerinin %40’ından fazlasına güç vermektedir. Bloglardan e-ticaret sitelerine, kurumsal portallardan kişisel sayfalara kadar geniş bir yelpazede kullanılabilen bu platform, esnekliği, geniş eklenti ve tema ekosistemi ile öne çıkar. Geleneksel olarak Apache web sunucusu (LAMP yığını) ile ilişkilendirilse de, özellikle yüksek trafikli siteler için Nginx (LEMP yığını) ile birlikte kullanıldığında önemli performans avantajları sunar. LEMP, Linux işletim sistemi, Nginx web sunucusu, MySQL/MariaDB veritabanı ve PHP programlama dilinin kısaltmasıdır. Bu makalede, Debian 9 “Stretch” işletim sistemi üzerine, modern ve performans odaklı bir web ortamı oluşturmak için LEMP yığını ile WordPress’in nasıl kurulacağını ayrıntılı bir şekilde inceleyeceğiz.

Debian 9, kararlılığı ve güvenilirliği ile bilinen, sunucu ortamlarında sıkça tercih edilen bir Linux dağıtımıdır. Nginx ise, Apache’ye kıyasla daha az kaynak tüketimi ve yüksek eşzamanlı bağlantı yönetimi yeteneği sayesinde, özellikle statik içerik sunumunda ve ters proxy (reverse proxy) olarak üstün bir performans sergiler. PHP-FPM (FastCGI Process Manager) ise PHP kodlarının Nginx tarafından daha verimli bir şekilde işlenmesini sağlayarak performansı optimize eder. MariaDB, MySQL’in topluluk tarafından geliştirilen ve tamamen uyumlu bir çatalı olup, performans ve özellik açısından önemli iyileştirmeler sunar. Bu kombinasyon, WordPress siteniz için hızlı, güvenli ve ölçeklenebilir bir temel oluşturacaktır.

Bu rehber, teknik bilgiye sahip ancak LEMP ve WordPress kurulumunda yeni olan kullanıcılara yönelik adım adım bir kılavuz niteliğindedir. Her adımı dikkatlice takip ederek, kendi Debian 9 sunucunuz üzerinde başarılı bir WordPress kurulumu gerçekleştirebilirsiniz.

Ön Hazırlıklar

Kuruluma başlamadan önce bazı temel gereksinimleri ve ön hazırlıkları tamamlamamız gerekmektedir:

* Debian 9 Sunucusu: Temiz bir Debian 9 (Stretch) kurulumuna sahip bir sunucu (VPS veya fiziksel sunucu).
* Root Yetkisi veya Sudo Kullanıcısı: Kurulum adımları için root kullanıcısı olarak veya sudo yetkisine sahip bir kullanıcı ile oturum açmış olmanız gerekmektedir. Güvenlik nedeniyle root kullanıcısı yerine sudo yetkisine sahip bir kullanıcı kullanılması önerilir.
* SSH Erişimi: Sunucuya SSH üzerinden erişebilmelisiniz.
* Alan Adı (Opsiyonel ama Önerilen): Kurulumu bir alan adı (örneğin, alanadiniz.com) üzerinden yapacaksanız, alan adınızın DNS kayıtlarının sunucunuzun IP adresine yönlendirilmiş olması gerekmektedir. Aksi takdirde, kurulumu sunucunuzun IP adresi üzerinden gerçekleştirebilirsiniz.

Bu adımları tamamladıktan sonra, sunucunuzu güncelleyerek kuruluma hazır hale getirebiliriz.

Sistem Güncellemesi

Herhangi bir yazılım kurulumuna başlamadan önce, sistemdeki paket listelerini güncellemek ve mevcut paketleri en son sürümlerine yükseltmek iyi bir uygulamadır. Bu, olası bağımlılık sorunlarını önler ve sisteminizin güvenliğini sağlar.

sudo apt update
sudo apt upgrade -y

Bu komutlar, paket listelerini günceller ve mevcut tüm paketleri onaylamaya gerek kalmadan yükseltir.

LEMP Yığınını Kurulumu

LEMP yığını, Nginx, MariaDB ve PHP-FPM bileşenlerinden oluşur. Bu bölümde, her bir bileşeni sırasıyla kuracak ve temel yapılandırmalarını gerçekleştireceğiz.

Nginx Web Sunucusunun Kurulumu

Nginx, LEMP yığınının web sunucusu bileşenidir. Debian depolarında mevcuttur ve kolayca kurulabilir.

sudo apt install nginx -y

Kurulum tamamlandıktan sonra Nginx otomatik olarak başlayacak ve sistem başlangıcında etkinleştirilecektir. Nginx’in çalıştığını doğrulamak için aşağıdaki komutu kullanabilirsiniz:

sudo systemctl status nginx

Çıktıda active (running) ifadesini görmelisiniz. Ayrıca, web tarayıcınızdan sunucunuzun IP adresini ziyaret ederek Nginx’in varsayılan karşılama sayfasını görebilirsiniz. Eğer sunucunuzda bir güvenlik duvarı (UFW gibi) etkinse, Nginx’in HTTP ve HTTPS trafiğine izin vermeniz gerekebilir:

sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
sudo ufw enable

Bu komutlar, Nginx’in HTTP (80) ve HTTPS (443) portlarından gelen trafiğe izin verir ve güvenlik duvarını etkinleştirir.

MariaDB Veritabanı Sunucusunun Kurulumu

WordPress, site içeriğini, kullanıcı bilgilerini ve ayarları depolamak için bir veritabanına ihtiyaç duyar. Bu makalede MariaDB’yi kullanacağız.

sudo apt install mariadb-server mariadb-client -y

Kurulum tamamlandıktan sonra MariaDB sunucusu otomatik olarak başlayacaktır. Kurulumun güvenliğini artırmak için mysql_secure_installation betiğini çalıştırmanız şiddetle tavsiye edilir:

sudo mysql_secure_installation

Bu betik size bir dizi soru soracaktır:
* Enter current password for root (none): İlk kurulumda root şifresi olmadığı için doğrudan Enter tuşuna basın.
* Set root password? [Y/n]: Y tuşuna basarak root şifresi belirleyin. Güçlü bir şifre seçtiğinizden emin olun.
* Remove anonymous users? [Y/n]: Y
* Disallow root login remotely? [Y/n]: Y (Bu, root kullanıcısının sadece yerel olarak bağlanabilmesini sağlar.)
* Remove test database and access to it? [Y/n]: Y
* Reload privilege tables now? [Y/n]: Y

Bu adımları tamamladıktan sonra MariaDB kurulumunuz daha güvenli hale gelecektir.

WordPress İçin Veritabanı ve Kullanıcı Oluşturma

WordPress’in çalışabilmesi için özel bir veritabanına ve bu veritabanına erişim yetkisi olan bir kullanıcıya ihtiyacı vardır. MariaDB’ye root kullanıcısı olarak bağlanın:

sudo mysql -u root -p

Az önce belirlediğiniz root şifresini girin. Şimdi aşağıdaki SQL komutlarını sırasıyla çalıştırarak WordPress için bir veritabanı ve kullanıcı oluşturun. wordpress_db, wordpress_user ve GUCLU_SIFRENIZ kısımlarını kendi tercihlerinize göre değiştirin ve güçlü bir şifre kullandığınızdan emin olun.

CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'GUCLU_SIFRENIZ';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Bu komutlar:
* wordpress_db adında yeni bir veritabanı oluşturur ve UTF-8 karakter setini ayarlar.
* wordpress_user adında, sadece localhost üzerinden erişebilen ve belirlediğiniz şifreye sahip bir kullanıcı oluşturur.
* Bu kullanıcıya wordpress_db veritabanı üzerinde tam yetki verir.
* Yetki tablolarını günceller.
* MariaDB istemcisinden çıkar.

PHP ve PHP-FPM Kurulumu

WordPress, PHP ile yazılmış dinamik bir uygulamadır. Nginx, PHP kodunu doğrudan işleyemediği için, PHP-FPM (FastCGI Process Manager) aracılığıyla PHP kodlarını Nginx’e sunar. Debian 9 varsayılan olarak PHP 7.0 sürümünü sunar.

sudo apt install php-fpm php-mysql php-common php-cli php-gd php-curl php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

Bu komut, PHP-FPM’i ve WordPress’in düzgün çalışması için gerekli olan bazı yaygın PHP modüllerini kurar. Özellikle php-mysql veritabanı bağlantısı için, php-gd resim işleme için (tema ve eklentilerde sıkça kullanılır) ve php-curl dış servislerle iletişim için önemlidir.

Kurulum tamamlandıktan sonra PHP-FPM servisini başlatın ve sistem başlangıcında etkinleştirin:

sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm

PHP-FPM’in çalıştığını doğrulamak için:

sudo systemctl status php7.0-fpm
PHP Yapılandırması

WordPress’in daha verimli çalışması ve büyük dosyaları yükleyebilmesi için bazı PHP ayarlarını düzenlemek faydalı olacaktır. PHP yapılandırma dosyası genellikle /etc/php/7.0/fpm/php.ini yolundadır. Bu dosyayı bir metin düzenleyici ile açın:

sudo nano /etc/php/7.0/fpm/php.ini

Aşağıdaki değerleri bulun ve önerilen şekilde düzenleyin (veya mevcut değerlerden daha yüksek yapın):

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
cgi.fix_pathinfo=0

* upload_max_filesize ve post_max_size: Yüklenebilecek maksimum dosya boyutunu belirler. WordPress medya yüklemeleri için önemlidir.
* memory_limit: Bir PHP betiğinin kullanabileceği maksimum bellek miktarını belirler.
* max_execution_time: Bir PHP betiğinin çalışmasına izin verilen maksimum süreyi belirler.
* cgi.fix_pathinfo=0: Bu ayar, Nginx ile PHP-FPM kullanırken güvenlik açısından önemlidir. 1 olarak ayarlanırsa, Nginx’in belirli türdeki kötü niyetli istekleri PHP-FPM’e yorumlaması için göndermesine neden olabilir. Bu nedenle 0 olarak ayarlanması önerilir.

Değişiklikleri kaydedip çıktıktan sonra, PHP-FPM servisini yeniden başlatın ki değişiklikler etkin olsun:

sudo systemctl restart php7.0-fpm

WordPress Kurulumu

LEMP yığınımız artık hazır. Şimdi WordPress dosyalarını indirebilir, yapılandırabilir ve Nginx ile entegre edebiliriz.

WordPress Dosyalarını İndirme ve Taşıma

WordPress’in en son sürümünü resmi web sitesinden indireceğiz ve web sunucumuzun kök dizinine taşıyacağız. Nginx için varsayılan web kök dizini genellikle /var/www/html‘dir. Biz WordPress’i bu dizinin altına kendi adıyla bir klasöre kuracağız.

Önce /tmp dizinine geçin ve WordPress’i indirin:

cd /tmp
wget https://wordpress.org/latest.tar.gz

İndirdiğiniz sıkıştırılmış dosyayı açın:

tar -xzf latest.tar.gz

Şimdi WordPress dosyalarını barındıracak bir dizin oluşturalım. Alan adınız alanadiniz.com ise, /var/www/html/alanadiniz.com gibi bir yapı kullanmak iyi bir uygulamadır. Bu rehberde /var/www/html/wordpress dizinini kullanacağız.

sudo mkdir -p /var/www/html/wordpress
sudo mv /tmp/wordpress/* /var/www/html/wordpress/

Bu komutlar, WordPress için bir dizin oluşturur ve indirilen dosyaları bu dizine taşır.

Dosya İzinlerini Ayarlama

WordPress’in düzgün çalışabilmesi, eklenti ve tema yükleyebilmesi, medya dosyalarını işleyebilmesi için doğru dosya izinlerine sahip olması çok önemlidir. Nginx ve PHP-FPM, www-data kullanıcısı ve grubu altında çalışır. Bu nedenle, WordPress dosyalarının sahipliğini ve izinlerini buna göre ayarlamamız gerekir.

sudo chown -R www-data:www-data /var/www/html/wordpress
sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

* chown -R www-data:www-data /var/www/html/wordpress: WordPress dizini ve içindeki tüm dosya ve klasörlerin sahipliğini www-data kullanıcısına ve www-data grubuna atar.
* find ... -type d -exec chmod 755 {} \;: Tüm dizinlere 755 (okuma, yazma, çalıştırma) izni verir.
* find ... -type f -exec chmod 644 {} \;: Tüm dosyalara 644 (okuma, yazma) izni verir.

Bu izinler, WordPress’in çalışması için genellikle yeterlidir ve güvenlik açısından iyi bir dengedir.

WordPress Yapılandırma Dosyasını Oluşturma

WordPress, veritabanı bağlantı bilgilerini ve diğer temel ayarları wp-config.php adlı bir dosyada saklar. WordPress ile birlikte gelen wp-config-sample.php dosyasını kopyalayarak bu dosyayı oluşturacağız.

sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

Şimdi bu dosyayı düzenleyerek veritabanı bilgilerini gireceğiz:

sudo nano /var/www/html/wordpress/wp-config.php

Dosyada aşağıdaki satırları bulun ve MariaDB kurulumunda belirlediğiniz veritabanı adı, kullanıcı adı ve şifre ile değiştirin:

//  MySQL settings - You can get this info from your web host  //
/ The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' ); // Oluşturduğunuz veritabanı adı

/ MySQL database username */
define( 'DB_USER', 'wordpress_user' ); // Oluşturduğunuz veritabanı kullanıcı adı

/ MySQL database password */
define( 'DB_PASSWORD', 'GUCLU_SIFRENIZ' ); // Oluşturduğunuz veritabanı şifresi

/ MySQL hostname */
define( 'DB_HOST', 'localhost' );

/ Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );

/ The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', 'utf8mb4_unicode_ci' );

Ayrıca, güvenlik anahtarlarını (Authentication Unique Keys and Salts) güncellemeniz önemlidir. Bu anahtarlar, çerezleri ve şifreleri daha güvenli hale getirir. https://api.wordpress.org/secret-key/1.1/salt/ adresini ziyaret ederek otomatik olarak oluşturulmuş anahtarları alabilir ve wp-config.php dosyasındaki ilgili bölüme yapıştırabilirsiniz.

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

Dosyayı kaydedip kapatın.

Nginx Sunucu Bloğu Yapılandırması

Nginx’in WordPress’i nasıl sunacağını ve PHP-FPM ile nasıl etkileşime geçeceğini belirlemek için bir sunucu bloğu (server block) yapılandırması oluşturmamız gerekiyor.

Yeni bir yapılandırma dosyası oluşturalım. Alan adınız varsa alanadiniz.com gibi bir isim kullanabilirsiniz. Biz bu örnekte wordpress.conf adını kullanacağız.

sudo nano /etc/nginx/sites-available/wordpress.conf

Aşağıdaki yapılandırmayı dosyaya yapıştırın. server_name kısmını sunucunuzun IP adresi veya alan adınızla değiştirin. root direktifinin WordPress dosyalarınızın bulunduğu dizini gösterdiğinden emin olun.

server {
    listen 80;
    listen [::]:80;

    root /var/www/html/wordpress;
    index index.php index.html index.htm;

    server_name your_domain_or_ip_address; # Alan adınızı veya IP adresinizi buraya yazın

    error_log /var/log/nginx/wordpress_error.log;
    access_log /var/log/nginx/wordpress_access.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Güvenlik için .htaccess dosyalarına erişimi engelle
    location ~ /\.ht {
        deny all;
    }

    # WordPress'in bazı güvenlik kuralları
    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
}

Bu yapılandırmanın önemli kısımları:
* listen 80: Nginx’in 80 numaralı porttan gelen HTTP isteklerini dinlemesini sağlar.
* root /var/www/html/wordpress;: WordPress dosyalarının bulunduğu kök dizini belirtir.
* index index.php index.html index.htm;: Dizin istendiğinde Nginx’in hangi dosyaları arayacağını belirtir.
* server_name your_domain_or_ip_address;: Bu sunucu bloğunun hangi alan adı veya IP adresi için geçerli olduğunu belirtir.
* location / { try_files $uri $uri/ /index.php?$args; }: Bu kısım, WordPress’in “güzel URL” (pretty permalinks) yapısının çalışmasını sağlar. Eğer istenen dosya veya dizin bulunamazsa, isteği index.php‘ye yönlendirir.
* location ~ \.php$ { ... }: Bu blok, PHP dosyalarının PHP-FPM tarafından işlenmesini sağlar. fastcgi_pass direktifi, PHP-FPM soketinin yolunu belirtir. Debian 9’da bu genellikle /run/php/php7.0-fpm.sock‘tur.
* location ~ /\.ht { deny all; }: .htaccess dosyalarına doğrudan erişimi engeller. Nginx .htaccess dosyalarını kullanmaz, ancak bu bir güvenlik önlemidir.

Dosyayı kaydedip kapatın.

Sunucu Bloğunu Etkinleştirme ve Nginx’i Yeniden Başlatma

Yeni sunucu bloğumuzu etkinleştirmek için, sites-available dizinindeki yapılandırma dosyamıza sites-enabled dizininden bir sembolik bağlantı (symlink) oluşturmamız gerekiyor:

sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/

Varsayılan Nginx karşılama sayfasını sunan default sunucu bloğunu devre dışı bırakmak iyi bir uygulamadır, çünkü aynı port üzerinden birden fazla sunucu bloğu çakışmalara neden olabilir.

sudo rm /etc/nginx/sites-enabled/default

Şimdi Nginx yapılandırmamızın sözdizimsel olarak doğru olup olmadığını kontrol edelim:

sudo nginx -t

Eğer her şey yolundaysa, test is successful mesajını görmelisiniz. Herhangi bir hata varsa, yapılandırma dosyanızı tekrar kontrol edin.

Son olarak, Nginx servisini yeniden başlatarak değişiklikleri etkinleştirin:

sudo systemctl restart nginx

WordPress Kurulumunu Tamamlama

Artık web tarayıcınızdan sunucunuzun IP adresini veya alan adınızı ziyaret ederek WordPress kurulum sihirbazını başlatabilirsiniz.

Tarayıcınızda http://your_domain_or_ip_address adresine gidin. WordPress’in karşılama ekranını görmelisiniz.

1. Dil Seçimi: Kurulum için tercih ettiğiniz dili seçin ve “Devam” düğmesine tıklayın.
2. Hoş Geldiniz Ekranı: WordPress’in veritabanı bilgilerini istediği bir sonraki ekranda “Hadi Başlayalım!” düğmesine tıklayın. (Bu bilgileri wp-config.php dosyasında zaten girdik, ancak bu adım yine de görünür.)
3. Site Bilgileri: WordPress sizden sitenizin başlığını, yönetici kullanıcı adını, şifreyi ve e-posta adresini isteyecektir. Güçlü bir şifre seçtiğinizden ve yönetici kullanıcı adı olarak admin gibi yaygın isimler kullanmaktan kaçındığınızdan emin olun.
4. Kurulumu Tamamla: Tüm bilgileri girdikten sonra “WordPress’i Kur” düğmesine tıklayın.

Kurulum başarıyla tamamlandığında, size bir başarı mesajı gösterilecek ve WordPress yönetici paneline giriş yapabileceğiniz bir bağlantı sunulacaktır. Yönetici kullanıcı adınız ve şifrenizle giriş yaparak sitenizi yönetmeye başlayabilirsiniz.

Ek Güvenlik ve İyileştirmeler (İsteğe Bağlı)

WordPress kurulumunuz artık çalışır durumda olsa da, bazı ek güvenlik önlemleri ve performans iyileştirmeleri uygulayarak sitenizi daha sağlam hale getirebilirsiniz.

HTTPS ile Güvenli Bağlantı (Let’s Encrypt)

Bir web sitesi için HTTPS kullanmak, hem güvenlik hem de SEO açısından kritik öneme sahiptir. Let’s Encrypt, ücretsiz SSL/TLS sertifikaları sağlayan popüler bir hizmettir.

1. Certbot Kurulumu:

sudo apt install certbot python-certbot-nginx -y

2. Sertifika Alma:

sudo certbot --nginx -d your_domain.com -d www.your_domain.com

Bu komut, Certbot’u çalıştırır, Nginx yapılandırmanızı otomatik olarak algılar ve alan adlarınız için bir sertifika alır. Sizden e-posta adresi isteyecek ve hizmet koşullarını kabul etmenizi isteyecektir. Ayrıca, HTTP trafiğini HTTPS’e yönlendirip yönlendirmeyeceğinizi soracaktır; genellikle bu yönlendirmeyi kabul etmek iyi bir fikirdir.
3. Otomatik Yenileme Kontrolü: Certbot, sertifikaları otomatik olarak yenilemek için bir cron işi de ayarlar. Yenilemenin çalıştığından emin olmak için aşağıdaki komutu kullanabilirsiniz:

sudo certbot renew --dry-run

Nginx Yapılandırmasında Ek Güvenlik Ayarları

WordPress için Nginx yapılandırmanıza bazı ek güvenlik başlıkları ekleyebilirsiniz. wordpress.conf dosyanızı tekrar açın (sudo nano /etc/nginx/sites-available/wordpress.conf) ve server bloğunun içine aşağıdaki satırları ekleyin:

# Güvenlik Başlıkları
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";
    add_header Referrer-Policy "no-referrer-when-downgrade";
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Bu başlıklar, sitenizi clickjacking, XSS (Cross-Site Scripting) gibi yaygın web saldırılarına karşı korumaya yardımcı olur. Strict-Transport-Security (HSTS) başlığı, tarayıcıların sitenize her zaman HTTPS üzerinden bağlanmasını sağlar. Değişiklikleri kaydettikten sonra Nginx’i yeniden başlatın.

sudo systemctl restart nginx

WordPress Güvenlik Eklentileri

WordPress’in kendisi için de güvenlik eklentileri (örneğin Wordfence, Sucuri Security) kurarak ek bir koruma katmanı sağlayabilirsiniz. Bu eklentiler, kötü amaçlı yazılım taraması, güvenlik duvarı, oturum açma denemelerini sınırlama gibi özellikler sunar.

Sıkça Sorulan Sorunlar ve Giderme

Kurulum sırasında veya sonrasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:

* 502 Bad Gateway Hatası: Bu genellikle PHP-FPM’in düzgün çalışmadığını veya Nginx’in PHP-FPM ile iletişim kuramadığını gösterir.
* PHP-FPM servisini kontrol edin: sudo systemctl status php7.0-fpm
* PHP-FPM yapılandırma dosyasında (/etc/php/7.0/fpm/php.ini) cgi.fix_pathinfo=0 olduğundan emin olun.
* Nginx yapılandırmanızdaki fastcgi_pass yolunun (unix:/run/php/php7.0-fpm.sock) doğru olduğundan emin olun.
* PHP-FPM ve Nginx’i yeniden başlatın.
* 403 Forbidden Hatası: Bu genellikle dosya veya dizin izinleriyle ilgilidir.
* WordPress dizininin (/var/www/html/wordpress) ve içindeki dosyaların www-data:www-data kullanıcısına ait olduğundan ve doğru izinlere (755 dizinler için, 644 dosyalar için) sahip olduğundan emin olun.
* Veritabanı Bağlantı Hatası: WordPress kurulum sihirbazında veya siteye erişmeye çalışırken bu hatayı alırsanız, wp-config.php dosyasındaki veritabanı bilgilerini kontrol edin.
* DB_NAME, DB_USER, DB_PASSWORD değerlerinin doğru olduğundan emin olun.
* MariaDB servisinin çalıştığından emin olun: sudo systemctl status mariadb
* Veritabanı kullanıcısının doğru veritabanına erişim yetkisi olduğundan emin olun. sudo mysql -u root -p ile MariaDB’ye girip SHOW GRANTS FOR 'wordpress_user'@'localhost'; komutunu çalıştırarak kontrol edebilirsiniz.
* “Pretty Permalinks” Çalışmıyor: WordPress’te güzel URL’ler (örneğin /yazi-adi yerine /p=123) çalışmıyorsa, Nginx yapılandırmanızdaki location / { try_files $uri $uri/ /index.php?$args; } bloğunun doğru olduğundan emin olun ve Nginx’i yeniden başlatın.

Sorun giderme sırasında Nginx ve PHP-FPM hata günlüklerini (/var/log/nginx/error.log ve /var/log/php7.0-fpm.log veya Nginx yapılandırmanızda belirtilen özel hata günlükleri) kontrol etmek, sorunun kaynağını belirlemede çok yardımcı olacaktır.

Sonuç

Bu kapsamlı rehberde, Debian 9 işletim sistemi üzerine Nginx, MariaDB ve PHP-FPM bileşenlerinden oluşan bir LEMP yığını kurmayı ve bu yığın üzerinde WordPress’i başarıyla çalıştırmayı adım adım öğrendiniz. Başlangıçtaki sistem güncellemesinden Nginx, MariaDB ve PHP-FPM kurulumuna, WordPress dosyalarının yapılandırılmasından Nginx sunucu bloğunun ayarlanmasına kadar her detayı ele aldık. Ayrıca, HTTPS ile güvenli bağlantı sağlamak için Let’s Encrypt kullanımı ve bazı ek güvenlik ipuçları da dahil olmak üzere post-kurulum iyileştirmelerini de inceledik.

Artık Debian 9 sunucunuzda çalışan, yüksek performanslı ve güvenli bir WordPress web sitesine sahipsiniz. Bu kurulum, sitenizin yüksek trafiği yönetmesine ve hızlı yanıt süreleri sunmasına olanak tanıyacak sağlam bir temel sağlar. Unutmayın ki, herhangi bir sunucu ortamında olduğu gibi, düzenli güncellemeler yapmak, yedeklemeleri almak ve güvenlik en iyi uygulamalarını takip etmek, sitenizin uzun ömürlü ve güvenli kalması için hayati öneme sahiptir. WordPress’in sunduğu geniş tema ve eklenti seçenekleriyle sitenizi dilediğiniz gibi özelleştirebilir ve yayınlamaya başlayabilirsiniz. Başarılı bir web deneyimi dileriz!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.