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=1satırını bulun vecgi.fix_pathinfo=0olarak 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/gpeasyiç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/gpeasydizini ve tüm alt dizinlerinin sahibiniwww-datakullanı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ğindata,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:
- Dil Seçimi: Tercih ettiğiniz dili seçin ve devam edin.
- 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).
- 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.
- Database Server:
- 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.
- 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:
- Kurulum Klasörünü Kaldırma: gpEasy’nin kendisi kurulum tamamlandıktan sonra
/gpeasy/installdizinini kaldırmanızı isteyebilir veya otomatik olarak kaldırabilir. Eğer kalmışsa, manuel olarak silin:sudo rm -r /var/www/html/gpeasy/installBu, yetkisiz kişilerin kurulum sihirbazını tekrar çalıştırmasını engeller.
- Yedekleme: Web sitenizin ve veritabanınızın düzenli yedeklerini almayı unutmayın.
- 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/gpeasydizini ve altındaki tüm dosyaların sahibiwww-data:www-dataolmalı 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 startkomutuyla başlatın vesudo service php5-fpm statusile kontrol edin. - NGINX yapılandırmanızdaki
fastcgi_passyolu (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.logve/var/log/php5-fpm.logdosyalarını kontrol ederek daha fazla bilgi edinebilirsiniz.
- PHP5-FPM servisi çalışmıyor.
- 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/cachedizinini 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-fpmyerinephp5-fpmvb.) ve servis yönetim komutları (systemctlyerineservice) farklılık gösterebilir.
