Takip et

Sistem Hazırlığı ve Temel Bileşenlerin Kurulumu

gpEasy, kullanıcı dostu arayüzü ve hafif yapısıyla dikkat çeken, açık kaynaklı bir İçerik Yönetim Sistemidir (CMS). Özellikle basit

gpEasy, kullanıcı dostu arayüzü ve hafif yapısıyla dikkat çeken, açık kaynaklı bir İçerik Yönetim Sistemidir (CMS). Özellikle basit web siteleri, bloglar veya küçük kurumsal siteler için hızlı ve etkili çözümler sunar. Bu rehberde, gpEasy CMS’i NGINX web sunucusu ve PHP5-FPM ile Debian 7 işletim sistemi üzerinde nasıl kuracağınızı adım adım öğreneceksiniz. Debian 7 artık eski bir sürüm olsa da, bu rehber belirli bir senaryoyu ele almakta ve o dönemin teknolojilerini kullanarak kurulum sürecini detaylandırmaktadır.

Sistem Hazırlığı ve Temel Bileşenlerin Kurulumu

Kuruluma başlamadan önce, Debian 7 sunucunuzun güncel olduğundan ve gerekli paketlerin yüklenebilir durumda olduğundan emin olmalıyız. Bu adımda işletim sistemini güncelleyecek ve NGINX, PHP5-FPM ile birlikte gpEasy’nin ihtiyaç duyduğu diğer PHP modüllerini kuracağız.

Sistem Güncellemesi

İlk olarak, sunucunuzdaki paket listesini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:

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

sudo komutu, kök (root) yetkilerine sahip olmadan bu işlemleri yapabilmenizi sağlar. Eğer doğrudan root kullanıcısı olarak giriş yaptıysanız sudo kullanmanıza gerek yoktur.

NGINX Kurulumu

NGINX, yüksek performanslı ve düşük kaynak tüketimli bir web sunucusudur. gpEasy’nin hızlı çalışması için ideal bir seçimdir. NGINX’i kurmak için aşağıdaki komutu kullanın:

sudo apt-get install nginx -y

Kurulum tamamlandıktan sonra, NGINX servisi otomatik olarak başlayacaktır. Çalışıp çalışmadığını kontrol etmek için tarayıcınızdan sunucunuzun IP adresini ziyaret edebilirsiniz. “Welcome to nginx!” yazısını görmelisiniz.

PHP5-FPM ve Gerekli Modüllerin Kurulumu

gpEasy, PHP ile yazılmıştır, bu yüzden PHP yorumlayıcısına ihtiyacımız var. NGINX ile en iyi performansı elde etmek için PHP-FPM (FastCGI Process Manager) kullanacağız. Ayrıca gpEasy’nin düzgün çalışması için bazı ek PHP modülleri de gereklidir.

sudo apt-get install php5-fpm php5-mysql php5-gd php5-cli unzip wget -y
  • php5-fpm: PHP FastCGI Process Manager. NGINX ile PHP arasındaki iletişimi sağlar.
  • php5-mysql: gpEasy’nin veritabanı ile iletişim kurması için gerekli MySQL desteği.
  • php5-gd: gpEasy’nin resim işleme (thumbnail oluşturma, boyutlandırma vb.) yetenekleri için gereklidir.
  • php5-cli: Komut satırı üzerinden PHP betiklerini çalıştırmak için kullanılır, bazen CMS bakımı için faydalı olabilir.
  • unzip: İndirdiğimiz gpEasy ZIP arşivini açmak için gereklidir.
  • wget: gpEasy kurulum dosyasını indirmek için kullanılır.

Kurulum tamamlandıktan sonra PHP5-FPM servisini başlatın:

sudo service php5-fpm start

Veritabanı Kurulumu ve Yapılandırması

gpEasy, içeriklerini depolamak için bir veritabanına ihtiyaç duyar. Bu rehberde MySQL veritabanını kullanacağız.

MySQL Sunucusu Kurulumu

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

sudo apt-get install mysql-server -y

Kurulum sırasında, MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parolayı güvenli bir yere not edin.

MySQL Güvenlik Ayarları

MySQL kurulumunu daha güvenli hale getirmek için aşağıdaki komutu çalıştırın:

sudo mysql_secure_installation

Bu komut size bir dizi soru soracaktır:

  • Enter current password for root (enter for none): Kurulum sırasında belirlediğiniz MySQL root parolasını girin.
  • Change the root password? [Y/n]: Genellikle “n” seçeneğini seçebilirsiniz, zaten güçlü bir parola belirlemiştik.
  • Remove anonymous users? [Y/n]: “Y” seçeneğini seçerek anonim kullanıcıları kaldırın.
  • Disallow root login remotely? [Y/n]: “Y” seçeneğini seçerek root kullanıcısının uzaktan bağlantısını engelleyin. Bu, güvenlik için önemlidir.
  • Remove test database and access to it? [Y/n]: “Y” seçeneğini seçerek test veritabanını kaldırın.
  • Reload privilege tables now? [Y/n]: “Y” seçeneğini seçerek ayrıcalık tablolarını güncelleyin.

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

Şimdi gpEasy’nin kullanacağı özel bir veritabanı ve kullanıcı oluşturacağız. Bu, güvenlik açısından iyi bir uygulamadır, çünkü gpEasy’ye MySQL root yetkilerini vermek yerine sadece kendi veritabanına erişim izni veririz.

MySQL komut satırına root olarak giriş yapın:

mysql -u root -p

İstendiğinde MySQL root parolanızı girin. Ardından aşağıdaki komutları sırasıyla çalıştırın:

CREATE DATABASE gpeasy_db;
CREATE USER 'gpeasy_user'@'localhost' IDENTIFIED BY 'guclu_parolaniz';
GRANT ALL PRIVILEGES ON gpeasy_db.* TO 'gpeasy_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
  • gpeasy_db: gpEasy için oluşturduğumuz veritabanının adı.
  • gpeasy_user: gpEasy’nin veritabanına bağlanmak için kullanacağı kullanıcı adı.
  • guclu_parolaniz: Bu kısmı mutlaka güçlü ve benzersiz bir parola ile değiştirin.

Bu adımları tamamladıktan sonra, gpEasy için bir veritabanı ve bu veritabanına tam erişim yetkisi olan bir kullanıcı oluşturmuş olacaksınız.

NGINX ve PHP-FPM Yapılandırması

gpEasy’nin düzgün çalışması için NGINX’i ve PHP-FPM’i yapılandırmamız gerekiyor.

NGINX Sanal Host Yapılandırması

NGINX, sanal host (server block) dosyaları ile farklı web sitelerini yönetir. gpEasy için yeni bir sanal host dosyası oluşturacağız.

Varsayılan NGINX yapılandırmasını kaldırın (veya yedekleyin):

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

Yeni bir yapılandırma dosyası oluşturun:

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

Aşağıdaki içeriği dosyaya yapıştırın. your_domain_or_ip kısmını kendi alan adınız veya sunucunuzun IP adresi ile değiştirin:

server {
    listen 80;
    server_name your_domain_or_ip; # Alan adınızı veya IP adresinizi buraya yazın
    root /var/www/html/gpeasy; # gpEasy dosyalarının bulunacağı dizin
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php5-fpm.sock; # PHP-FPM soket yolu
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Resim ve diğer statik dosyalar için önbellekleme
    location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
        expires 365d;
        log_not_found off;
    }

    # Dotfiles (.htaccess, .env vb.) erişimini engelle
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

Dosyayı kaydedin (Ctrl+O, Enter, Ctrl+X).

Şimdi bu yapılandırmayı etkinleştirmek için sites-enabled dizinine bir sembolik bağlantı oluşturun:

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

NGINX yapılandırmasının doğru olup olmadığını kontrol edin:

sudo nginx -t

Eğer “test is successful” mesajını görürseniz, NGINX servisini yeniden başlatın:

sudo service nginx restart

PHP5-FPM Yapılandırması

PHP-FPM için bazı küçük ayarlar yapmamız gerekebilir. Özellikle cgi.fix_pathinfo ve date.timezone ayarları önemlidir.

PHP5-FPM’in ana yapılandırma dosyasını açın:

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

Aşağıdaki satırları bulun ve değerlerini güncelleyin:

  • cgi.fix_pathinfo=1 satırını bulun ve cgi.fix_pathinfo=0 olarak değiştirin. Bu, NGINX ile PHP-FPM arasındaki güvenlik açığını kapatır.
  • ;date.timezone = satırını bulun, başındaki noktalı virgülü kaldırın ve kendi zaman diliminizi ekleyin (örn: date.timezone = Europe/Istanbul). Bu, PHP’nin doğru zaman dilimini kullanmasını sağlar ve log hatalarını önler.

Dosyayı kaydedin ve PHP5-FPM servisini yeniden başlatın:

sudo service php5-fpm restart

gpEasy Kurulum Dosyalarının Hazırlanması

NGINX ve PHP-FPM yapılandırmalarını tamamladığımıza göre, gpEasy dosyalarını indirip web sunucumuzun erişebileceği bir konuma yerleştirebiliriz.

gpEasy İndirme ve Çıkartma

gpEasy’nin en son sürümünü (veya Debian 7 ile uyumlu bir sürümünü) indirmek için wget kullanın. Bu rehber için gpEasy 5.1.1 sürümünü kullanacağız:

cd /tmp
wget https://github.com/gpEasy/gpEasy/releases/download/5.1.1/gpEasy_5.1.1.zip
sudo unzip gpEasy_5.1.1.zip -d /var/www/html/gpeasy
  • cd /tmp: İndirme işlemini geçici bir dizinde yapıyoruz.
  • wget ...: gpEasy ZIP dosyasını indiriyoruz.
  • sudo unzip ... -d /var/www/html/gpeasy: İndirilen dosyayı NGINX’in yapılandırdığımız web kök dizini olan /var/www/html/gpeasy içine çıkartıyoruz. Eğer NGINX yapılandırmanızda farklı bir dizin belirttiyseniz, burayı da ona göre güncelleyin.

Dizin İzinlerini Ayarlama

NGINX ve PHP-FPM’in gpEasy dosyalarına yazma ve okuma erişimi olması gerekir. Bu genellikle www-data kullanıcısı ve grubudur.

sudo chown -R www-data:www-data /var/www/html/gpeasy
sudo chmod -R 755 /var/www/html/gpeasy
  • chown -R www-data:www-data /var/www/html/gpeasy: /var/www/html/gpeasy dizini ve tüm alt dizinlerinin sahibini www-data kullanıcısı ve grubuna ayarlar.
  • chmod -R 755 /var/www/html/gpeasy: Dizinlere 755 (sahip okuma/yazma/çalıştırma, grup ve diğerleri okuma/çalıştırma) ve dosyalara 644 (sahip okuma/yazma, grup ve diğerleri okuma) izinlerini verir. gpEasy’nin bazı dizinlere yazma iznine ihtiyacı olabilir (örneğin data, themes, plugins). Kurulum sırasında bu izinler otomatik olarak kontrol edilecektir.

gpEasy Web Arayüzü ile Kurulum ve Son Adımlar

Artık tüm sunucu tarafı hazırlıkları tamamlandı. Tarayıcınız üzerinden gpEasy’nin web tabanlı kurulum sihirbazını çalıştırabiliriz.

Kurulum Sihirbazını Başlatma

Web tarayıcınızı açın ve NGINX yapılandırmanızda belirttiğiniz alan adını veya sunucunuzun IP adresini takip eden gpEasy dizinini ziyaret edin. Örneğin:

http://your_domain_or_ip/gpeasy

gpEasy kurulum sihirbazı sizi karşılayacaktır. Adımları dikkatlice takip edin:

  1. Dil Seçimi: Tercih ettiğiniz dili seçin ve devam edin.
  2. Sistem Gereksinimleri Kontrolü: gpEasy, sunucunuzun gerekli PHP modüllerine ve dosya izinlerine sahip olup olmadığını kontrol edecektir. Her şey doğru yapılandırıldıysa, tüm maddelerin yeşil tik ile işaretlenmesi gerekir. Eğer bir sorun varsa, yukarıdaki adımları kontrol edin (özellikle PHP modülleri ve dizin izinleri).
  3. Veritabanı Ayarları: Bu adımda, daha önce oluşturduğumuz MySQL veritabanı bilgilerini girmeniz gerekecek:
    • Database Server: localhost (veya MySQL sunucunuzun IP adresi)
    • Database Name: gpeasy_db
    • Database User: gpeasy_user
    • Database Password: guclu_parolaniz (oluşturduğunuz parola)

    Bilgileri girdikten sonra veritabanı bağlantısını test edin.

  4. Yönetici Hesabı Oluşturma: gpEasy yönetici panelinize giriş yapmak için bir kullanıcı adı, e-posta adresi ve güçlü bir parola belirleyin. Bu bilgileri unutmayın.
  5. Kurulumu Tamamlama: Gerekli bilgileri girdikten sonra gpEasy kurulumu tamamlanacaktır.

Kurulum Sonrası Önemli Adımlar

Kurulum tamamlandıktan sonra, gpEasy genellikle sizi yönetici paneline yönlendirecektir. Güvenlik açısından yapmanız gereken birkaç şey var:

  1. Kurulum Klasörünü Kaldırma: gpEasy’nin kendisi kurulum tamamlandıktan sonra /gpeasy/install dizinini kaldırmanızı isteyebilir veya otomatik olarak kaldırabilir. Eğer kalmışsa, manuel olarak silin:
    sudo rm -r /var/www/html/gpeasy/install

    Bu, yetkisiz kişilerin kurulum sihirbazını tekrar çalıştırmasını engeller.

  2. Yedekleme: Web sitenizin ve veritabanınızın düzenli yedeklerini almayı unutmayın.
  3. Güvenlik Güncellemeleri: gpEasy, NGINX ve PHP dahil tüm sistem bileşenlerinin güncel olduğundan emin olun.

Tebrikler! gpEasy CMS’i NGINX ve PHP5-FPM ile Debian 7 sunucunuza başarıyla kurdunuz. Artık web sitenizi oluşturmaya ve içeriğinizi yönetmeye başlayabilirsiniz.

Sonuç ve Sıkça Sorulan Sorular (SSS)

Bu rehberde, Debian 7 işletim sistemi üzerinde NGINX ve PHP5-FPM kullanarak gpEasy CMS’in adım adım kurulumunu gerçekleştirdik. Sistem hazırlığından veritabanı kurulumuna, NGINX ve PHP-FPM yapılandırmasından gpEasy dosya hazırlığına ve son web arayüzü kurulumuna kadar tüm süreçleri detaylıca inceledik. gpEasy’nin hafif ve hızlı yapısı, NGINX’in yüksek performansı ve PHP5-FPM’in etkin kaynak yönetimi sayesinde, web siteniz hızlı ve stabil bir şekilde çalışacaktır.

Sıkça Sorulan Sorular (SSS)

gpEasy’nin minimum gereksinimleri nelerdir?
gpEasy genellikle PHP 5.3 veya üzeri (bu rehberde PHP 5.x kullandık), MySQL 5.0 veya üzeri bir veritabanı ve Apache veya NGINX gibi bir web sunucusu gerektirir.
Kurulumda izin hataları alıyorum, ne yapmalıyım?
Bu genellikle dosya ve dizin izinlerinin yanlış ayarlanmasından kaynaklanır. /var/www/html/gpeasy dizini ve altındaki tüm dosyaların sahibi www-data:www-data olmalı ve dizin izinleri 755, dosya izinleri 644 olmalıdır. Aşağıdaki komutları tekrar çalıştırın:

sudo chown -R www-data:www-data /var/www/html/gpeasy
sudo find /var/www/html/gpeasy -type d -exec chmod 755 {} \;
sudo find /var/www/html/gpeasy -type f -exec chmod 644 {} \;
NGINX 502 Bad Gateway hatası veriyor, neden?
Bu hata genellikle NGINX’in PHP-FPM ile iletişim kuramamasından kaynaklanır. Olası nedenler:

  • PHP5-FPM servisi çalışmıyor. sudo service php5-fpm start komutuyla başlatın ve sudo service php5-fpm status ile kontrol edin.
  • NGINX yapılandırmanızdaki fastcgi_pass yolu (unix:/var/run/php5-fpm.sock) yanlış veya PHP-FPM bu soketi dinlemiyor. PHP-FPM yapılandırma dosyasını (/etc/php5/fpm/pool.d/www.conf) kontrol edin.
  • /var/log/nginx/error.log ve /var/log/php5-fpm.log dosyalarını kontrol ederek daha fazla bilgi edinebilirsiniz.
gpEasy’yi güncelledikten sonra sorun yaşıyorum, ne yapmalıyım?
Güncelleme sonrası sorunlar genellikle önbellekleme veya veritabanı şeması uyuşmazlığından kaynaklanır.

  • gpEasy’nin yönetici panelinden önbelleği temizleyin.
  • Tarayıcınızın önbelleğini temizleyin.
  • Sunucu tarafında, gpEasy’nin data/cache dizinini manuel olarak silebilirsiniz.
  • Eğer büyük bir güncelleme ise, resmi gpEasy belgelerindeki güncelleme talimatlarını dikkatlice inceleyin.
Debian 7 yerine daha güncel bir sürüm kullanabilir miyim?
Evet, kesinlikle! Debian 7 artık desteklenmeyen eski bir sürümdür ve güvenlik açıkları içerebilir. Üretim ortamları için Debian’ın en son stabil sürümünü (şu anda Debian 12 “Bookworm”) kullanmanız şiddetle tavsiye edilir. Kurulum adımları benzer olsa da, PHP sürümü (PHP 8.x), paket adları (php-fpm yerine php5-fpm vb.) ve servis yönetim komutları (systemctl yerine service) farklılık gösterebilir.

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.