Takip et

Ubuntu 14.04 Sunucusu Üzerine Apache ile Drupal Kurulumu

Ubuntu 14.04 Sunucusu Üzerine Apache ile Drupal Kurulumu Giriş İçerik yönetim sistemleri (CMS) günümüz web dünyasının temel taşlarından

Ubuntu 14.04 Sunucusu Üzerine Apache ile Drupal Kurulumu

Giriş

İçerik yönetim sistemleri (CMS) günümüz web dünyasının temel taşlarından biridir ve Drupal, esnekliği, ölçeklenebilirliği ve güçlü topluluğu sayesinde öne çıkan platformlardan biridir. Küçük kişisel bloglardan büyük kurumsal web sitelerine kadar geniş bir yelpazede kullanılabilen Drupal, açık kaynaklı yapısıyla geliştiricilere ve site yöneticilerine eşsiz bir kontrol sunar. Bu makalede, uzun süreli destek (LTS) sağlayan ve o dönemde oldukça yaygın kullanılan Ubuntu 14.04 sunucusu üzerine Apache web sunucusu ile Drupal’ın nasıl kurulacağını adım adım ele alacağız.

Ubuntu 14.04, kararlılığı ve güvenilirliği nedeniyle birçok sunucu ortamında tercih edilmiş bir işletim sistemi sürümüdür. Apache ise dünya genelinde en çok kullanılan web sunucularından biri olup, esnek yapılandırma seçenekleri ve geniş modül desteği ile Drupal gibi dinamik uygulamalar için ideal bir ortam sağlar. Bu kılavuz, Drupal’ı Ubuntu 14.04 ve Apache ortamında başarıyla kurmanız için gerekli tüm adımları detaylı bir şekilde açıklayacaktır.

Ön Koşullar

Bu kurulum rehberine başlamadan önce aşağıdaki ön koşulların yerine getirildiğinden emin olmalısınız:

  • Bir Ubuntu 14.04 sunucusuna sahip olmak. Bu sunucuya SSH erişiminiz ve root veya sudo yetkilerine sahip bir kullanıcınız olmalıdır.
  • Temel Linux komut satırı bilgisi.
  • Sunucunuzun internet bağlantısı olmalıdır.

Bu adımları izlerken, sunucunuzun IP adresini veya alan adınızı your_server_ip_or_domain şeklinde belirtilen yerlerde kullanmanız gerekecektir.

Sistem Güncellemesi

Kuruluma başlamadan önce sunucunuzdaki paket listelerini ve yüklü paketleri güncelleyerek olası uyumluluk sorunlarını gidermek ve en son güvenlik yamalarına sahip olmak önemlidir.

Paket Listelerini ve Yüklü Paketleri Güncelleme

Terminalinizi açın ve aşağıdaki komutları sırasıyla çalıştırın:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y

apt-get update komutu, yerel paket indeksinizi günceller. apt-get upgrade komutu, mevcut paketleri en yeni sürümlerine yükseltir. apt-get dist-upgrade ise bağımlılıkları daha akıllıca yöneterek sistem genelinde daha kapsamlı bir yükseltme yapar. Bu işlemlerden sonra, özellikle kernel güncellemeleri yapıldıysa, sunucuyu yeniden başlatmak iyi bir uygulamadır:

sudo reboot

Sunucunuz yeniden başlatıldıktan sonra SSH ile tekrar bağlanabilirsiniz.

Apache Web Sunucusu Kurulumu

Drupal, dinamik bir web sitesi olduğu için bir web sunucusuna ihtiyaç duyar. Bu rehberde Apache’yi kullanacağız.

Apache Kurulumu

Apache web sunucusunu kurmak için aşağıdaki komutu kullanın:

sudo apt-get install apache2 -y

Kurulum tamamlandıktan sonra Apache servisinin otomatik olarak başlaması gerekir. Tarayıcınızdan sunucunuzun IP adresine veya alan adına giderek Apache’nin düzgün çalışıp çalışmadığını kontrol edebilirsiniz. http://your_server_ip_or_domain adresine gittiğinizde “It works!” yazan varsayılan Apache sayfasını görmelisiniz.

Gerekli Apache Modüllerini Etkinleştirme

Drupal’ın sorunsuz çalışabilmesi için bazı Apache modüllerinin etkinleştirilmesi gerekmektedir. Özellikle URL yeniden yazma (mod_rewrite) Drupal’ın temiz URL’ler için olmazsa olmazıdır.

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod expires
sudo a2enmod deflate

Modülleri etkinleştirdikten sonra Apache servisini yeniden başlatmalısınız:

sudo service apache2 restart

MySQL Veritabanı Sunucusu Kurulumu

Drupal, tüm site içeriğini ve yapılandırmasını bir veritabanında saklar. Bu rehberde MySQL’i kullanacağız.

MySQL Kurulumu

MySQL sunucusunu ve istemcisini kurmak için aşağıdaki komutu çalıştırın:

sudo apt-get install mysql-server mysql-client -y

Kurulum sırasında MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parolayı güvenli bir yerde saklayın.

MySQL Güvenlik Ayarları

MySQL kurulumunu güvence altına almak için mysql_secure_installation betiğini çalıştırmak iyi bir uygulamadır:

sudo mysql_secure_installation

Bu betik size aşağıdaki soruları soracaktır:

  • Enter current password for root (enter for none): MySQL root parolanızı girin (yeni kurduysanız ve ilk defa çalıştırıyorsanız boş bırakıp Enter’a basabilirsiniz).
  • Change the root password? [Y/n] Parolayı değiştirmek isteyip istemediğinizi sorar. Zaten belirlediyseniz n diyebilirsiniz.
  • Remove anonymous users? [Y/n] Anonim kullanıcıları kaldırmayı seçin (Y).
  • Disallow root login remotely? [Y/n] Root kullanıcısının uzaktan giriş yapmasını engellemeyi seçin (Y).
  • Remove test database and access to it? [Y/n] Test veritabanını kaldırmayı seçin (Y).
  • Reload privilege tables now? [Y/n] Ayrıcalık tablolarını yeniden yüklemeyi seçin (Y).

Tüm sorulara Y yanıtını vererek MySQL kurulumunuzu daha güvenli hale getirebilirsiniz.

PHP ve Gerekli Modüllerin Kurulumu

Drupal, PHP ile yazılmıştır, bu nedenle PHP ve Drupal’ın ihtiyaç duyduğu bazı PHP modüllerinin kurulu olması gerekir. Ubuntu 14.04 varsayılan olarak PHP 5.5.9 ile gelir, bu da Drupal 7 için gayet uygundur.

PHP ve Modüllerin Kurulumu

Aşağıdaki komutla PHP ve Drupal için gerekli temel modülleri kurun:

sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-gd php5-curl php5-cli php5-mcrypt php5-intl -y
  • php5: PHP yorumlayıcısı.
  • libapache2-mod-php5: PHP’nin Apache ile entegrasyonunu sağlar.
  • php5-mysql: PHP’nin MySQL veritabanlarıyla iletişim kurmasını sağlar.
  • php5-gd: Görüntü işleme yetenekleri (örneğin, küçük resimler oluşturma) için gereklidir.
  • php5-curl: Uzak sunucularla iletişim kurmak için kullanılır.
  • php5-cli: Komut satırından PHP betiklerini çalıştırmak için gereklidir (Drush gibi araçlar için).
  • php5-mcrypt: Şifreleme işlevleri için gereklidir.
  • php5-intl: Uluslararasılaştırma ve yerelleştirme işlevleri için gereklidir.

Kurulum tamamlandıktan sonra Apache’yi yeniden başlatın, böylece PHP modülleri etkinleşir:

sudo service apache2 restart

PHP Kurulumunu Doğrulama (İsteğe Bağlı)

PHP’nin düzgün çalıştığını doğrulamak için phpinfo() fonksiyonunu içeren küçük bir dosya oluşturabilirsiniz.

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

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

Kaydedip kapatın (Ctrl+X, Y, Enter). Şimdi tarayıcınızdan http://your_server_ip_or_domain/info.php adresine gidin. PHP yapılandırma bilgilerini içeren bir sayfa görmelisiniz. Bu sayfa, PHP’nin ve yüklü modüllerin doğru çalıştığını gösterir. Güvenlik nedeniyle, bu dosyayı kontrol ettikten sonra silmeniz şiddetle tavsiye edilir:

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

PHP Ayarlarının Yapılandırılması

Drupal’ın performanslı ve sorunsuz çalışması için varsayılan PHP ayarlarında bazı değişiklikler yapılması gerekebilir. Özellikle bellek sınırı ve dosya yükleme boyutları Drupal’ın ihtiyaçlarına göre ayarlanmalıdır.

php.ini Dosyasını Düzenleme

PHP yapılandırma dosyası olan php.ini‘yi düzenlemek için aşağıdaki komutu kullanın:

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

Dosyayı açtıktan sonra aşağıdaki parametreleri bulun ve Drupal’ın gereksinimlerine uygun şekilde ayarlayın. Minimum değerler aşağıda verilmiştir, ancak sitenizin ihtiyaçlarına göre daha yüksek değerler belirleyebilirsiniz:

  • memory_limit: PHP betiklerinin kullanabileceği maksimum bellek miktarını belirler. Drupal için en az 256M önerilir.
    memory_limit = 256M
  • upload_max_filesize: Sunucuya yüklenebilecek maksimum dosya boyutunu belirler. Örneğin, 64M.
    upload_max_filesize = 64M
  • post_max_size: HTTP POST isteklerinin maksimum boyutunu belirler. Genellikle upload_max_filesize değerinden büyük veya eşit olmalıdır. Örneğin, 64M.
    post_max_size = 64M
  • max_execution_time: Bir PHP betiğinin çalışmasına izin verilen maksimum süreyi saniye cinsinden belirler. Uzun süren işlemler için 300 saniye veya daha fazlası uygun olabilir.
    max_execution_time = 300
  • date.timezone: PHP’nin doğru tarih ve saat işlevlerini kullanabilmesi için bir zaman dilimi belirlemeniz önemlidir. Kendi coğrafi bölgenize uygun bir zaman dilimi seçin (örneğin, “Europe/Istanbul”).
    date.timezone = Europe/Istanbul

Değişiklikleri kaydedip çıktıktan sonra, Apache’yi yeniden başlatarak PHP ayarlarının etkinleşmesini sağlayın:

sudo service apache2 restart

Drupal İçin MySQL Veritabanı ve Kullanıcı Oluşturma

Drupal kurulumuna başlamadan önce, Drupal’ın kullanacağı özel bir veritabanı ve bu veritabanına erişim yetkisi olan bir MySQL kullanıcısı oluşturmalısınız. Bu, güvenlik için iyi bir uygulamadır.

MySQL’e Giriş

MySQL root kullanıcısı olarak giriş yapın:

mysql -u root -p

İstendiğinde MySQL root parolanızı girin.

Veritabanı Oluşturma

Drupal için bir veritabanı oluşturun. Bu örnekte drupaldb adını kullanacağız. Karakter setini utf8 olarak ayarlamak önemlidir.

CREATE DATABASE drupaldb CHARACTER SET utf8 COLLATE utf8_general_ci;

Kullanıcı Oluşturma ve Yetkilendirme

Drupal için yeni bir MySQL kullanıcısı oluşturun ve bu kullanıcıya drupaldb veritabanı üzerinde tüm yetkileri verin. your_strong_password yerine güçlü bir parola belirlemeyi unutmayın.

CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON drupaldb.* TO 'drupaluser'@'localhost';

Değişiklikleri Uygulama ve Çıkış

Ayrıcalık tablolarını güncelleyin ve MySQL’den çıkın:

FLUSH PRIVILEGES;
EXIT;

Artık Drupal’ın kullanabileceği bir veritabanı ve kullanıcıya sahipsiniz.

Drupal’ı İndirme

Sistemimiz Drupal için hazır olduğuna göre, Drupal’ın kendisini indirip web sunucumuzun erişebileceği bir konuma yerleştirebiliriz. Ubuntu 14.04 ve PHP 5.5.9 ile uyumlu olduğu için Drupal 7’yi kullanacağız.

Drupal İndirme ve Çıkartma

Öncelikle, Drupal’ı geçici bir dizine indirelim. 7.x.x yerine en son Drupal 7 sürüm numarasını kullanmalısınız (örneğin, 7.99). En güncel sürümü Drupal’ın resmi web sitesinden kontrol edebilirsiniz.

cd /tmp
wget https://ftp.drupal.org/files/projects/drupal-7.x.x.tar.gz

İndirme tamamlandıktan sonra, sıkıştırılmış dosyayı açın:

tar -zxvf drupal-7.x.x.tar.gz

Bu işlem, drupal-7.x.x adında bir dizin oluşturacaktır.

Drupal Dosyalarını Web Kök Dizinine Taşıma

Şimdi Drupal dosyalarını Apache’nin sunacağı bir dizine taşımamız gerekiyor. Bu rehberde /var/www/drupal dizinini kullanacağız. Bu, /var/www/html altına yerleştirmekten daha temiz bir yapıdır, çünkü Drupal’ı doğrudan bir alan adı veya IP adresine bağlayabiliriz.

sudo mv drupal-7.x.x /var/www/drupal

Bu komut, indirilen Drupal dizinini /var/www/drupal olarak yeniden adlandırarak taşır.

Apache’yi Drupal İçin Yapılandırma

Drupal dosyalarını taşıdık, ancak Apache henüz bu dizini bir web sitesi olarak sunacak şekilde yapılandırılmadı. Bir Virtual Host (Sanal Sunucu) yapılandırması oluşturarak Apache’ye Drupal’ın nerede olduğunu ve nasıl hizmet vereceğini söyleyeceğiz.

Virtual Host Dosyası Oluşturma

Yeni bir Virtual Host dosyası oluşturalım:

sudo nano /etc/apache2/sites-available/drupal.conf

Dosyanın içine aşağıdaki içeriği yapıştırın. your_domain_or_ip yerine sunucunuzun IP adresini veya alan adını yazın.


    ServerAdmin admin@example.com
    ServerName your_domain_or_ip
    DocumentRoot /var/www/drupal

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
  • ServerAdmin: Yönetici e-posta adresinizi buraya yazın.
  • ServerName: Sunucunuzun alan adını veya IP adresini belirtir.
  • DocumentRoot: Drupal dosyalarının bulunduğu dizini gösterir.
  • bloğu: /var/www/drupal dizini için özel ayarlar içerir. AllowOverride All Drupal’ın .htaccess dosyalarını kullanmasına izin verir ki bu temiz URL’ler için hayati öneme sahiptir.

Değişiklikleri kaydedip dosyayı kapatın.

Virtual Host’u Etkinleştirme

Yeni oluşturduğunuz Virtual Host’u etkinleştirmek ve varsayılan siteyi devre dışı bırakmak için aşağıdaki komutları kullanın:

sudo a2ensite drupal.conf
sudo a2dissite 000-default.conf

Ardından, Apache servisini yeniden başlatın:

sudo service apache2 restart

Dosya İzinlerini Ayarlama

Drupal’ın düzgün çalışabilmesi ve dosya yüklemeleri gibi işlemleri gerçekleştirebilmesi için doğru dosya ve dizin izinlerine sahip olması gerekir. Ayrıca, Drupal’ın kurulum sırasında kendi yapılandırma dosyasını oluşturabilmesi için bazı izinler geçici olarak genişletilmelidir.

Dosya ve Dizin Sahipliğini Ayarlama

Drupal dosyalarının Apache web sunucusunun kullanıcısı (www-data) tarafından erişilebilir olmasını sağlamak için sahipliği ayarlayın:

sudo chown -R www-data:www-data /var/www/drupal

Temel Dizin İzinlerini Ayarlama

Tüm Drupal dizinleri için okuma ve çalıştırma, tüm dosyalar için okuma izinlerini ayarlayın:

sudo chmod -R 755 /var/www/drupal

settings.php Dosyasını Kopyalama ve İzinlerini Ayarlama

Drupal’ın yapılandırma dosyasını (settings.php) oluşturmak için varsayılan dosyayı kopyalayın:

sudo cp /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php

Kurulum sırasında Drupal’ın bu dosyaya yazabilmesi için geçici olarak yazma izni verin. Kurulum tamamlandıktan sonra bu izni geri alacağız.

sudo chmod 664 /var/www/drupal/sites/default/settings.php

Dosya Yükleme Dizinine İzin Verme

Drupal’ın yüklediği dosyaları (resimler, belgeler vb.) saklayacağı files dizini için yazma izni verilmelidir:

sudo mkdir -p /var/www/drupal/sites/default/files
sudo chmod -R 775 /var/www/drupal/sites/default/files

Bu izinler, www-data kullanıcısının ve www-data grubundaki diğer kullanıcıların dosya oluşturmasına ve değiştirmesine olanak tanır.

Drupal Web Kurulumunu Çalıştırma

Tüm sunucu yapılandırmaları tamamlandıktan sonra, Drupal’ın web tabanlı kurulum sihirbazını başlatmaya hazırız.

Web Tarayıcınızdan Erişin

Web tarayıcınızı açın ve sunucunuzun IP adresine veya alan adına gidin: http://your_server_ip_or_domain

Kurulum Adımları

Drupal kurulum sihirbazı sizi aşağıdaki adımlarda yönlendirecektir:

  1. Dil Seçimi: Tercih ettiğiniz kurulum dilini seçin (örneğin, Türkçe veya English).
  2. Kurulum Profili Seçimi: “Standard” (Standart) profili çoğu kullanım durumu için uygundur. Minimal bir kurulum istiyorsanız “Minimal” seçeneğini tercih edebilirsiniz.
  3. Veritabanı Yapılandırması: Bu adımda, daha önce oluşturduğumuz MySQL veritabanı bilgilerini girmeniz gerekecektir:
    • Database name: drupaldb
    • Database username: drupaluser
    • Database password: your_strong_password

    Gelişmiş seçenekler bölümünde genellikle herhangi bir değişiklik yapmanıza gerek yoktur.

  4. Kurulum Süreci: Drupal şimdi veritabanını kuracak ve gerekli modülleri etkinleştirecektir. Bu birkaç dakika sürebilir.
  5. Site Yapılandırması:
    • Site name: Web sitenizin adını girin (örneğin, “Benim Drupal Sitem”).
    • Site e-mail address: Sitenizin e-posta adresini girin.
    • Username: Yönetici kullanıcı adı oluşturun (örneğin, “admin”).
    • Password: Yönetici parolanızı girin ve onaylayın. Güçlü bir parola seçtiğinizden emin olun.
    • Country: Ülkenizi seçin.
    • Default time zone: Varsayılan zaman dilimini seçin.

Tüm bilgileri girdikten sonra “Save and continue” (Kaydet ve devam et) düğmesine tıklayın. Kurulum tamamlandığında, Drupal sitenizin ana sayfasına yönlendirileceksiniz.

Kurulum Sonrası Görevler

Drupal başarıyla kurulduktan sonra, sitenizin güvenliğini ve işlevselliğini artırmak için yapılması gereken birkaç önemli adım vardır.

settings.php Dosyası İzinlerini Geri Alma

Kurulum sırasında settings.php dosyasına yazma izni vermiştik. Kurulum tamamlandığında, güvenlik nedeniyle bu izni geri almalısınız:

sudo chmod 644 /var/www/drupal/sites/default/settings.php

Bu, dosyanın yalnızca okunabilir olmasını sağlar ve yetkisiz değişiklikleri engeller.

Güvenlik Güncellemeleri ve Modüller

Drupal paneline giriş yaptıktan sonra, sitenizin güvenliğini ve performansını artırmak için aşağıdaki adımları izleyin:

  • Drupal Güncellemeleri: Drupal çekirdeğini ve yüklü modülleri düzenli olarak güncelleyin. Drupal arayüzünde mevcut güncellemeler hakkında bildirimler alacaksınız.
  • Ek Modüller ve Temalar: Sitenizin işlevselliğini ve görünümünü genişletmek için Drupal.org adresinden ek modüller ve temalar indirebilirsiniz.
  • Drush Kurulumu (İsteğe Bağlı ama Önerilir): Drush, Drupal için bir komut satırı aracıdır. Modül yönetimi, önbellek temizleme, veritabanı işlemleri gibi birçok görevi komut satırından hızlıca yapmanızı sağlar.
    sudo apt-get install drush -y

    Drush kurulduktan sonra /var/www/drupal dizinine gidip drush status komutunu çalıştırarak doğru çalıştığını kontrol edebilirsiniz.

  • Cron Görevleri: Drupal’ın periyodik bakım görevlerini (örneğin, güncellemeleri kontrol etme, önbelleği temizleme) otomatik olarak çalıştırması için bir cron işi ayarlamanız önemlidir. Ubuntu’da cron işi ayarlamak için crontab -e komutunu kullanabilir ve aşağıdaki gibi bir satır ekleyebilirsiniz:
    0     wget -O - -q -t 1 http://your_domain_or_ip/cron.php?cron_key=YOUR_CRON_KEY >/dev/null 2>&1

    YOUR_CRON_KEY yerine Drupal’ın settings.php dosyasında bulunan veya Drupal arayüzünden alabileceğiniz gerçek cron anahtarını yazmalısınız.

Sonuç

Bu detaylı rehberde, Ubuntu 14.04 sunucusu üzerine Apache, MySQL ve PHP kullanarak Drupal 7’nin adım adım nasıl kurulduğunu öğrendiniz. Sistem güncellemelerinden başlayarak, web ve veritabanı sunucularının kurulumuna, PHP yapılandırmasına, Drupal dosyalarının indirilip yerleştirilmesine ve son olarak web tabanlı kurulum sihirbazının tamamlanmasına kadar tüm süreçleri başarıyla gerçekleştirdiniz.

Artık güçlü ve esnek bir içerik yönetim sistemi olan Drupal ile web sitenizi geliştirmeye başlayabilirsiniz. Kurulum sonrası güvenlik önlemlerini ve düzenli bakım görevlerini ihmal etmemek, sitenizin uzun ömürlü ve güvenli olmasını sağlayacaktır. Drupal’ın geniş modül ve tema ekosistemini keşfederek sitenizin potansiyelini tam olarak ortaya çıkarabilirsiniz. Unutmayın, herhangi bir web uygulamasında olduğu gibi, Drupal kurulumunuzu ve sunucunuzu güncel tutmak, güvenlik açıklarına karşı korunmanın en iyi yoludur.

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.