Takip et

WordPress’i Debian 10 Üzerine LAMP ile Kurulumu: Kapsamlı Bir Rehber

WordPress’i Debian 10 Üzerine LAMP ile Kurulumu: Kapsamlı Bir Rehber Giriş Günümüzde web sitelerinin büyük çoğunluğu, içerik yönetim sis

WordPress’i Debian 10 Üzerine LAMP ile Kurulumu: Kapsamlı Bir Rehber

Giriş

Günümüzde web sitelerinin büyük çoğunluğu, içerik yönetim sistemleri (CMS) aracılığıyla yönetilmektedir. Bu sistemler arasında WordPress, kullanım kolaylığı, esnekliği ve geniş eklenti/tema ekosistemi sayesinde açık ara lider konumdadır. Kendi WordPress sitenizi kurmak istiyorsanız, bunu bir sunucu üzerinde barındırmanız gerekir. Bu rehberde, popüler ve güvenilir bir Linux dağıtımı olan Debian 10 (“Buster”) üzerine, WordPress’in çalışması için gerekli olan LAMP (Linux, Apache, MySQL/MariaDB, PHP) yığınını nasıl kuracağınızı ve yapılandıracağınızı adım adım anlatacağız. Bu kapsamlı rehber, teknik bilgiye sahip kullanıcılardan, sunucu yönetimi konusunda yeni olanlara kadar geniş bir kitleye hitap etmektedir.

LAMP yığını, dinamik web uygulamaları çalıştırmak için endüstri standardı haline gelmiş güçlü ve açık kaynaklı bir yazılım grubudur. Linux işletim sistemi üzerinde Apache web sunucusu, MySQL veya MariaDB veritabanı ve PHP programlama dili bir araya gelerek WordPress gibi uygulamaların sorunsuz bir şekilde çalışmasını sağlar. Debian 10, kararlılığı ve güvenlik odaklı yapısıyla, bu tür bir kurulum için mükemmel bir temel sunar. Bu rehberi tamamladığınızda, kendi WordPress sitenizi tamamen kontrol edebilir ve web dünyasına ilk adımınızı güvenle atabilirsiniz.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olunuz:

* Debian 10 Yüklü Bir Sunucu: Fiziksel bir sunucu, sanal makine (VM) veya bulut tabanlı bir VPS (Virtual Private Server) olabilir. Önemli olan Debian 10 işletim sisteminin kurulu ve çalışır durumda olmasıdır.
* Sudo Yetkilerine Sahip Bir Kullanıcı: Kurulum işlemleri için root yetkileri gereklidir. Güvenlik nedeniyle doğrudan root kullanıcısıyla çalışmak yerine, sudo grubuna dahil edilmiş normal bir kullanıcı hesabı kullanılması önerilir.
* İnternet Bağlantısı: Sunucunun paketleri indirebilmesi için aktif bir internet bağlantısı olmalıdır.
* Temel Linux Komut Satırı Bilgisi: Temel komutlar (cd, ls, nano, apt) hakkında bilgi sahibi olmak süreci kolaylaştıracaktır.
* Minimum Donanım Gereksinimleri: WordPress ve LAMP yığını için en az 1GB RAM ve 10GB depolama alanı önerilir. Ancak bu değerler sitenizin trafiğine ve içeriğine göre değişiklik gösterebilir.

Kuruluma başlamadan önce, sunucunuzun paket listesini güncelleyerek ve kurulu paketleri yükselterek temiz bir başlangıç yapmanızı tavsiye ederiz:

sudo apt update
sudo apt upgrade -y

Bu komutlar, sisteminizin en güncel güvenlik yamalarına ve yazılım versiyonlarına sahip olmasını sağlar.

LAMP Yığını Kurulumu

WordPress’in çalışması için temel oluşturan LAMP yığınını adım adım kuracağız.

Apache Web Sunucusu Kurulumu

Apache, internetteki en popüler web sunucularından biridir ve web sayfalarını kullanıcılara ulaştırmaktan sorumludur. Kurulumu oldukça basittir:

sudo apt install apache2 -y

Kurulum tamamlandıktan sonra Apache servisinin otomatik olarak başlaması gerekir. Durumunu kontrol edebilirsiniz:

sudo systemctl status apache2

Çıktıda active (running) ibaresini görmelisiniz. Apache’nin düzgün çalıştığını test etmek için sunucunuzun IP adresini veya alan adını bir web tarayıcısında açın. Debian’ın varsayılan Apache karşılama sayfasını görmelisiniz.

Eğer bir güvenlik duvarı (UFW – Uncomplicated Firewall) kullanıyorsanız, Apache’nin gelen bağlantılara izin vermesi için kuralları ayarlamanız gerekir:

sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status

Apache Full profili, hem HTTP (80) hem de HTTPS (443) portlarından gelen trafiğe izin verir. ufw enable komutu güvenlik duvarını etkinleştirir (eğer daha önce etkin değilse).

MariaDB Veritabanı Sunucusu Kurulumu

WordPress, tüm içerik, kullanıcı bilgileri ve ayarlarını bir veritabanında saklar. MySQL’in açık kaynaklı bir çatalı olan MariaDB, performans ve uyumluluk açısından mükemmel bir seçenektir.

sudo apt install mariadb-server -y

Kurulumdan sonra MariaDB’yi güvenli hale getirmek önemlidir:

sudo mysql_secure_installation

Bu komut sizi bir dizi soruyla yönlendirecektir:

* Enter current password for root (none): İlk kurulumda root şifresi yoktur, bu yüzden sadece Enter tuşuna basın.
* Set root password? [Y/n]: Y yazıp güçlü bir root şifresi belirleyin. Bu şifreyi unutmayın, çünkü veritabanı yönetimi için gerekecektir.
* Remove anonymous users? [Y/n]: Y yazarak anonim kullanıcıları kaldırın.
* Disallow root login remotely? [Y/n]: Güvenlik için Y yazarak root kullanıcısının uzaktan bağlantısını devre dışı bırakın.
* Remove test database and access to it? [Y/n]: Y yazarak test veritabanını kaldırın.
* Reload privilege tables now? [Y/n]: Y yazarak yetki tablolarını yeniden yükleyin.

Bu adımlar, MariaDB kurulumunuzu önemli ölçüde güvenli hale getirecektir.

PHP Kurulumu ve Yapılandırması

PHP, WordPress’in yazıldığı sunucu tarafı betik dilidir. WordPress’in sorunsuz çalışması için PHP ve bazı gerekli uzantılarını kurmalıyız. Debian 10 depolarında genellikle PHP 7.3 bulunur.

sudo apt install php libapache2-mod-php php-mysql php-cli php-fpm php-json php-gd php-mbstring php-xml php-curl php-zip php-intl -y

Bu paketlerin açıklamaları:

* php: PHP yorumlayıcısı.
* libapache2-mod-php: Apache’nin PHP modülü, PHP kodlarının Apache tarafından işlenmesini sağlar.
* php-mysql: PHP’nin MySQL/MariaDB veritabanlarıyla iletişim kurmasını sağlayan uzantı. WordPress için zorunludur.
* php-cli: Komut satırından PHP betiklerini çalıştırmak için kullanılır.
* php-fpm: Yüksek performanslı PHP işleme için alternatif bir yöntem (bu rehberde doğrudan kullanılmasa da, bazı eklentiler veya daha gelişmiş yapılandırmalar için faydalı olabilir).
* php-json, php-gd, php-mbstring, php-xml, php-curl, php-zip, php-intl: WordPress ve birçok eklentisi için gerekli olan çeşitli PHP uzantılarıdır.

Kurulumdan sonra Apache’nin PHP modülünü etkinleştirmemiz ve Apache’yi yeniden başlatmamız gerekir:

sudo a2enmod php7.3
sudo systemctl restart apache2

PHP’nin düzgün çalıştığını test etmek için bir info.php dosyası oluşturalım:

sudo nano /var/www/html/info.php

Dosyanın içine aşağıdaki satırı ekleyin:

Kaydedin ve kapatın (Ctrl+X, Y, Enter). Şimdi web tarayıcınızda http://sunucu_ip_adresiniz/info.php adresine gidin. PHP yapılandırma sayfasını görmelisiniz. Güvenlik nedeniyle bu dosyayı testten sonra silmeyi unutmayın:

sudo rm /var/www/html/info.php

PHP Yapılandırması (İsteğe Bağlı ama Önemli):
WordPress’in büyük dosyalar yüklemesine veya karmaşık işlemleri gerçekleştirmesine izin vermek için bazı PHP ayarlarını düzenlemek faydalı olabilir. php.ini dosyasını düzenleyeceğiz:

sudo nano /etc/php/7.3/apache2/php.ini

Aşağıdaki değerleri bulup (Ctrl+W ile arama yapabilirsiniz) önerilen değerlere göre değiştirin:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300

Değişiklikleri kaydettikten sonra Apache’yi yeniden başlatın:

sudo systemctl restart apache2

WordPress İçin Veritabanı Oluşturma

WordPress için özel bir veritabanı ve veritabanı kullanıcısı oluşturmak, güvenlik açısından iyi bir uygulamadır.

MariaDB komut istemcisine root kullanıcısı olarak giriş yapın:

sudo mysql -u root -p

İstendiğinde MariaDB root şifrenizi girin.

Şimdi WordPress için bir veritabanı, bir kullanıcı ve bu kullanıcıya veritabanı üzerinde tam yetki verelim. wordpress_db, wordpress_user ve GUCLU_SIFRE kısımlarını kendi istediğiniz güvenli değerlerle değiştirmeyi unutmayın:

CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'GUCLU_SIFRE';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Bu komutlar sırasıyla:
1. wordpress_db adında yeni bir veritabanı oluşturur.
2. wordpress_user adında ve localhost üzerinden erişimi olan bir kullanıcı oluşturur, bu kullanıcıya GUCLU_SIFRE ile erişilebilir.
3. wordpress_user‘a wordpress_db üzerindeki tüm yetkileri verir.
4. Veritabanı yetkilerini yeniler.
5. MariaDB istemcisinden çıkar.

WordPress İndirme ve Yapılandırma

Şimdi WordPress dosyalarını indirip web sunucumuzun erişebileceği bir konuma taşıyacağız.

WordPress Dosyalarını İndirme

WordPress’in en son sürümünü resmi web sitesinden indirelim ve sıkıştırılmış dosyayı açalım:

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

Bu komutlar, /tmp dizinine WordPress’in en son sürümünü indirir ve wordpress adında bir dizine açar.

WordPress Dosyalarını Taşıma ve İzinleri Ayarlama

WordPress dosyalarını Apache’nin web kök dizinine taşıyacağız. Genellikle /var/www/html kullanılır, ancak birden fazla site barındırıyorsanız veya daha düzenli bir yapı istiyorsanız, kendi alan adınızla bir dizin oluşturmak daha iyidir. Bu rehberde yourdomain.com adında bir dizin kullanacağız.

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

Şimdi WordPress dosyaları için doğru izinleri ve sahipliği ayarlamamız gerekiyor. Apache web sunucusu www-data kullanıcısı ve grubu altında çalışır, bu yüzden WordPress dosyalarının bu kullanıcıya ait olması gerekir:

sudo chown -R www-data:www-data /var/www/html/yourdomain.com
sudo chmod -R 755 /var/www/html/yourdomain.com

* chown -R www-data:www-data: yourdomain.com dizini ve içindeki tüm dosyaların sahipliğini www-data kullanıcısına ve grubuna verir.
* chmod -R 755: Dizinlere okuma, yazma ve çalıştırma (7), dosyalara ise okuma ve çalıştırma (5) izni verir. Bu, web sunucusunun dosyaları okumasına ve çalıştırmasına izin verirken, güvenlik açısından doğru bir ayardır.

Apache Sanal Ana Bilgisayar Yapılandırması

Apache’nin yourdomain.com adresine gelen istekleri doğru WordPress kurulumuna yönlendirmesi için bir sanal ana bilgisayar (Virtual Host) dosyası oluşturmamız gerekir.

sudo nano /etc/apache2/sites-available/yourdomain.com.conf

Aşağıdaki içeriği dosyaya yapıştırın. yourdomain.com kısımlarını kendi alan adınızla değiştirmeyi unutmayın:


    ServerAdmin webmaster@yourdomain.com
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html/yourdomain.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    

* ServerAdmin: Yöneticinin e-posta adresi.
* ServerName: Sitenizin birincil alan adı.
* ServerAlias: Sitenizin diğer alan adları (örn. www.yourdomain.com).
* DocumentRoot: WordPress dosyalarının bulunduğu dizin.
* bloğu: Bu dizin için özel ayarları tanımlar. AllowOverride All WordPress’in permalink’ler için .htaccess dosyalarını kullanmasına izin verir.

Dosyayı kaydedin ve kapatın. Şimdi yeni sanal ana bilgisayarı etkinleştirelim ve varsayılan siteyi devre dışı bırakalım:

sudo a2ensite yourdomain.com.conf
sudo a2dissite 000-default.conf

WordPress’in permalink’lerinin çalışması için Apache’nin rewrite modülünü etkinleştirmemiz gerekir:

sudo a2enmod rewrite

Tüm değişikliklerin geçerli olması için Apache’yi yeniden başlatın:

sudo systemctl restart apache2

Eğer yerel bir geliştirme ortamında çalışıyorsanız ve henüz gerçek bir alan adınız yoksa, /etc/hosts dosyanızı düzenleyerek yourdomain.com adresini sunucunuzun IP adresine yönlendirebilirsiniz:

sudo nano /etc/hosts

Dosyanın sonuna aşağıdaki satırı ekleyin (sunucu_ip_adresiniz yerine kendi sunucunuzun IP adresini yazın):

sunucu_ip_adresiniz yourdomain.com www.yourdomain.com

WordPress Kurulumunu Tamamlama

Artık tüm sunucu tarafı kurulumlar tamamlandı. Şimdi WordPress’in web tabanlı kurulum sihirbazını kullanarak son adımları tamamlayalım.

Web tarayıcınızı açın ve http://yourdomain.com adresine gidin (veya yerel test yapıyorsanız http://localhost/yourdomain.com veya http://sunucu_ip_adresiniz).

WordPress karşılama ekranını görmelisiniz. İlk olarak dil seçimi yapın ve “Devam Et” butonuna tıklayın.

Bir sonraki adımda, WordPress size veritabanı bilgilerine ihtiyacı olduğunu söyleyecektir. “Başlayalım!” butonuna tıklayın.

Şimdi aşağıdaki bilgileri doldurun (daha önce MariaDB için oluşturduğumuz bilgilerle eşleşmelidir):

* Veritabanı Adı: wordpress_db (veya kendi belirlediğiniz isim)
* Kullanıcı Adı: wordpress_user (veya kendi belirlediğiniz kullanıcı adı)
* Parola: GUCLU_SIFRE (veya kendi belirlediğiniz şifre)
* Veritabanı Sunucusu: localhost
* Tablo Öneki: wp_ (varsayılan olarak bırakmak genellikle güvenlidir, ancak birden fazla WordPress kurulumu yapıyorsanız veya güvenlik için değiştirebilirsiniz, örneğin wpx_).

Bilgileri girdikten sonra “Gönder” butonuna tıklayın. WordPress, veritabanı bağlantısını test edecek ve başarılı olursa bir sonraki adıma geçecektir.

“Kurulumu Çalıştır” butonuna tıklayın.

Son olarak, sitenizin temel bilgilerini girmeniz istenecektir:

* Site Başlığı: Web sitenizin adı (örn. “Benim Harika Blogum”).
* Kullanıcı Adı: WordPress yönetici paneline giriş yapmak için kullanacağınız kullanıcı adı. admin kullanmaktan kaçının! Güvenli ve benzersiz bir kullanıcı adı seçin.
* Parola: Yönetici hesabınız için güçlü bir parola belirleyin. WordPress size otomatik olarak güçlü bir parola önerecektir. Bu parolayı güvenli bir yere kaydettiğinizden emin olun.
* E-posta Adresiniz: Yönetici e-posta adresiniz. Şifre sıfırlama ve bildirimler için kullanılacaktır.
* Arama Motoru Görünürlüğü: “Arama motorlarının bu siteyi indekslemesini engelle” seçeneği, siteniz henüz geliştirme aşamasındaysa veya yayına hazır değilse faydalıdır. Canlı bir site için bu kutucuğun işaretli olmadığından emin olun.

Tüm bilgileri doldurduktan sonra “WordPress’i Kur” butonuna tıklayın.

Kurulum tamamlandığında, WordPress size başarılı bir mesaj gösterecek ve yönetici paneline giriş yapmanız için bir bağlantı sunacaktır. “Giriş Yap” butonuna tıklayın, belirlediğiniz kullanıcı adı ve şifre ile WordPress yönetim paneline erişin. Tebrikler, WordPress kurulumunuz başarıyla tamamlandı!

Sık Karşılaşılan Sorunlar ve Çözümleri

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

* “Error establishing a database connection” (Veritabanı bağlantı hatası):
* wp-config.php dosyasındaki veritabanı adı, kullanıcı adı, şifre veya sunucu adı (genellikle localhost) bilgilerini kontrol edin.
* MariaDB servisinin çalışıp çalışmadığını kontrol edin: sudo systemctl status mariadb.
* MariaDB root şifrenizle giriş yapıp wordpress_user‘ın ve wordpress_db‘nin doğru şekilde oluşturulduğunu doğrulayın.
* “White Screen of Death” (Beyaz Ölüm Ekranı):
* Genellikle PHP bellek limitlerinin yetersiz olmasından veya hatalı bir eklenti/temadan kaynaklanır. php.ini dosyasındaki memory_limit değerini artırın (örn. 256M).
* WordPress hata ayıklama modunu etkinleştirin (wp-config.php içindeki define('WP_DEBUG', true); satırını ekleyerek) ve hatanın kaynağını loglardan inceleyin.
* Tüm eklentileri devre dışı bırakıp sorunun devam edip etmediğini kontrol edin (FTP/SSH üzerinden eklenti klasörünü yeniden adlandırarak).
* Permalinks (Kalıcı Bağlantılar) Çalışmıyor:
* Apache rewrite modülünün etkin olduğundan emin olun: sudo a2enmod rewrite ve sudo systemctl restart apache2.
* Sanal ana bilgisayar yapılandırmanızdaki bloğunda AllowOverride All olduğundan emin olun.
* Dosya Yükleme Hataları veya Medya Kütüphanesi Sorunları:
* WordPress dosyalarının ve dizinlerinin doğru sahipliğe ve izinlere sahip olduğundan emin olun: sudo chown -R www-data:www-data /var/www/html/yourdomain.com ve sudo chmod -R 755 /var/www/html/yourdomain.com.
* php.ini dosyasındaki upload_max_filesize ve post_max_size değerlerini kontrol edin ve gerekirse artırın.
* Apache Başlamıyor veya Hata Veriyor:
* Apache yapılandırma dosyalarında (özellikle yeni oluşturduğunuz sanal ana bilgisayar dosyasında) sözdizimi hatası olup olmadığını kontrol edin: sudo apache2ctl configtest.
* Hata loglarını inceleyin: sudo tail -f /var/log/apache2/error.log.

Güvenlik İpuçları

WordPress kurulumunuzu tamamladıktan sonra güvenliğini sağlamak büyük önem taşır:

* Güçlü Parolalar Kullanın: Hem WordPress yönetici paneli, hem de veritabanı kullanıcıları için uzun, karmaşık ve benzersiz parolalar kullanın.
* WordPress ve Eklentileri Güncel Tutun: WordPress çekirdeğini, temaları ve eklentileri düzenli olarak güncelleyin. Güvenlik açıkları genellikle eski sürümlerde bulunur.
* SSL/TLS Kullanın (HTTPS): Let’s Encrypt gibi ücretsiz sertifika sağlayıcıları ile sitenize HTTPS ekleyin. Bu, kullanıcılarınızın ve sitenizin verilerini şifreler. Certbot ile kolayca kurulabilir.
* wp-config.php Güvenliği: Bu dosya hassas veritabanı bilgilerini içerir. Dosya izinlerini 644 veya 640 olarak ayarlayabilirsiniz (sahibi okuma/yazma, grup/diğerleri sadece okuma). sudo chmod 644 /var/www/html/yourdomain.com/wp-config.php.
* wp-admin Dizinini Korumak: .htaccess kullanarak wp-admin dizinine sadece belirli IP adreslerinden erişime izin verebilir veya ek bir şifre koruması ekleyebilirsiniz.
* Yedeklemeler: Sitenizin düzenli yedeklerini alın. Hem dosyaları hem de veritabanını yedeklemeyi unutmayın.
* Güvenlik Eklentileri: Wordfence, iThemes Security gibi popüler güvenlik eklentileri, kötü amaçlı saldırılara karşı ek koruma sağlayabilir.
* Debian Güvenlik Duvarı (UFW): Sunucunuzda sadece gerekli portların açık olduğundan emin olun (HTTP/S, SSH). sudo ufw status ile durumu kontrol edin.
* SSH Güvenliği: SSH için varsayılan portu (22) değiştirmeyi, parola ile girişi devre dışı bırakıp anahtar tabanlı kimlik doğrulamayı kullanmayı ve fail2ban gibi araçlarla kaba kuvvet saldırılarına karşı koruma sağlamayı düşünün.
* XML-RPC Devre Dışı Bırakma: Eğer kullanmıyorsanız, wp-config.php dosyasına add_filter('xmlrpc_enabled', '__return_false'); ekleyerek XML-RPC’yi devre dışı bırakabilirsiniz. Bu, bazı DDoS saldırılarına karşı koruma sağlar.

Sonuç

Bu rehberde, Debian 10 üzerine bir LAMP yığını kurarak WordPress’i başarılı bir şekilde nasıl kuracağınızı adım adım öğrendiniz. Apache web sunucusu, MariaDB veritabanı ve PHP programlama dilinin birleşimiyle, güçlü ve esnek bir içerik yönetim sistemi olan WordPress için sağlam bir temel oluşturdunuz. Kurulum sürecinde karşılaşabileceğiniz olası sorunlara değindik ve sitenizin güvenliğini sağlamak için önemli ipuçları paylaştık.

Artık kendi WordPress sitenizin kontrolü tamamen sizde. İçerik oluşturmaya başlayabilir, temanızı özelleştirebilir ve sitenizin işlevselliğini artırmak için binlerce eklentiden faydalanabilirsiniz. Unutmayın ki sunucu yönetimi ve web sitesi güvenliği sürekli dikkat gerektiren konulardır. Düzenli güncellemeler yapmak, yedeklemeler almak ve güvenlik en iyi uygulamalarını takip etmek, sitenizin uzun ömürlü ve sorunsuz çalışmasını sağlayacaktır. Web dünyasındaki yolculuğunuzda başarılar 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

Gönder

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.
Exit mobile version