Blog

Eğitimler, rehberler ve ürün haberleri.

Geliştiriciler

LAMP ve LEMP nedir?

3 Kasım 2026 4 dk okuma
Bu yazıyı paylaş

LAMP ve LEMP, bir web sitesini çalıştıran dört yazılımın kısaltmasıdır: Linux, bir web sunucusu, bir veritabanı ve PHP. LAMP'taki A harfi Apache, LEMP'teki E harfi Nginx demektir (Nginx "engine-x" diye okunduğu için E harfini alır). Veritabanı ikisinde de MySQL ya da MariaDB, programlama dili PHP'dir.

WordPress, WooCommerce ve Joomla gibi PHP uygulamaları bu yığında çalışır. WordPress.org web sunucusu olarak Apache ya da Nginx'i önerir, yani ikisi de uygun bir tabandır. Hangisini seçtiğiniz uygulamanın çalışıp çalışmayacağını değil, ayarları nasıl yazdığınızı değiştirir.

Yığın nasıl çalışır?

KatmanLAMPLEMPGörevi
İşletim sistemiLinuxLinuxHer şeyin üzerinde çalıştığı taban
Web sunucusuApacheNginxTarayıcıdan gelen istekleri karşılar
VeritabanıMySQL ya da MariaDBMySQL ya da MariaDBYazıları, kullanıcıları, siparişleri saklar
DilPHPPHP, PHP-FPM ileSayfayı üretir

Bir istek yığında şöyle ilerler:

  1. Tarayıcı alan adınıza istek gönderir. İstek sunucunuzun 80 ya da 443 portuna ulaşır.
  2. Web sunucusu isteği karşılar. İstenen bir resim ya da CSS dosyasıysa doğrudan kendisi verir.
  3. İstenen bir PHP dosyasıysa web sunucusu onu PHP'ye iletir ve PHP kodu çalıştırır.
  4. PHP gerekirse veritabanına sorar (örneğin yazıyı ya da ürünü çeker), sayfayı üretir. Web sunucusu sayfayı tarayıcıya geri gönderir.

Bir sayfa açılmıyorsa katmanlara sırayla bakın: systemctl status nginx, systemctl status phpX.Y-fpm ve systemctl status mariadb. X.Y yerine PHP sürümünüzü yazın (Ubuntu 24.04'te 8.3), LAMP'ta nginx yerine apache2 yazın. Hangisi çalışmıyorsa sorun orada başlıyordur.

LAMP ile LEMP arasındaki fark

  • Apache .htaccess dosyalarını okur, Nginx okumaz. Nginx'te kurallar sunucu yapılandırmasına yazılır.
  • Nginx PHP'yi kendi içinde çalıştırmaz, istekleri PHP-FPM adlı ayrı bir servise iletir. Apache PHP'yi kendi içinde ya da PHP-FPM ile çalıştırabilir.
  • Yapılandırma klasörleri farklıdır. Ubuntu'da Apache için /etc/apache2, Nginx için /etc/nginx kullanılır.
  • Bellek kullanımını web sunucusu seçiminden çok PHP-FPM işçi sayısı ve veritabanı ayarları belirler.
  • Birinin kesin olarak üstün olduğu söylenemez. İkisi de yaygındır, elinizdeki rehber ve alışkanlığınız belirleyici olur.

MySQL mi MariaDB mi?

MariaDB, MySQL'den ayrılan açık kaynaklı bir veritabanıdır ve komutlar ile istemciler büyük ölçüde uyumludur. WordPress'in resmi gereksinim sayfası ikisini de kabul eder, güncel asgari sürümleri oradan kontrol edin. Ubuntu'da mariadb-server paketi tek komutla kurulur. MariaDB belgesine göre 10.4 sürümünden beri root hesabı varsayılan olarak unix_socket ile doğrulanır. Sunucuda sudo mariadb yazmanız yeter, root parolası gerekmez.

Ubuntu'da LEMP kurulumu

Adımlar Ubuntu ve Debian içindir. Önce sunucuya SSH ile bağlanın. Örneklerde alan adı olarak ornek.com kullanılıyor.

  1. Paket listesini yenileyin: sudo apt update
  2. Gerekli paketleri kurun: sudo apt install nginx mariadb-server php-fpm php-mysql. Kurulan sürümler paket deposundaki sürümlerdir.
  3. Veritabanını sertleştirin: sudo mariadb-secure-installation. Anonim kullanıcıları ve test veritabanını kaldırma, uzaktan root girişini kapatma sorularına evet deyin.
  4. Site klasörünü oluşturun: sudo mkdir -p /var/www/ornek
  5. sudo nano /etc/nginx/sites-available/ornek ile bir dosya açın ve şu satırı yapıştırın: server { listen 80; server_name ornek.com www.ornek.com; root /var/www/ornek; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/phpX.Y-fpm.sock; } }
  6. Soketin gerçek adını ls /run/php/ gösterir. phpX.Y-fpm.sock yerine onu yazın.
  7. Siteyi etkinleştirin: sudo ln -s /etc/nginx/sites-available/ornek /etc/nginx/sites-enabled/
  8. Ayarı sınayın ve uygulayın: sudo nginx -t ardından sudo systemctl reload nginx
  9. ufw kullanıyorsanız 80 ve 443 portlarını açın: sudo ufw allow 80/tcp ve sudo ufw allow 443/tcp. SSH portunun (22) açık olduğundan emin olun.

PHP'nin çalıştığını sınamak için bir deneme dosyası yazın:

echo '<?php phpinfo();' | sudo tee /var/www/ornek/info.php

Alan adı henüz sunucuya bağlı değilse sunucunun içinden curl -H 'Host: ornek.com' http://127.0.0.1/info.php ile deneyin. Çalıştığını gördükten hemen sonra dosyayı silin: sudo rm /var/www/ornek/info.php. Bu sayfa sunucunuzun ayrıntılarını herkese gösterir.

Uygulama için veritabanı

sudo mariadb ile veritabanı kabuğunu açın ve her uygulama için ayrı bir veritabanı ile kullanıcı oluşturun. Güçlü parolayı kendiniz belirleyin:

CREATE DATABASE ornekdb CHARACTER SET utf8mb4;

CREATE USER 'ornekkullanici'@'localhost' IDENTIFIED BY 'guclu-bir-parola';

GRANT ALL ON ornekdb.* TO 'ornekkullanici'@'localhost';

WordPress kurulum ekranına bu üç değeri (veritabanı, kullanıcı, parola) yazarsınız. WordPress'te güzel bağlantıların çalışması için Nginx satırındaki =404 ifadesini /index.php?$args ile değiştirin.

LAMP için fark

Apache'li yığın için paketleri şöyle kurarsınız:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql

Siteyi /etc/apache2/sites-available altında tanımlayıp sudo a2ensite ornek ile açarsınız. Güzel bağlantılar için sudo a2enmod rewrite çalıştırın ve Apache'yi sudo systemctl restart apache2 ile yeniden başlatın. .htaccess dosyalarının işlemesi için sitenin klasörüne AllowOverride All yazmanız gerekir. Apache'yi PHP-FPM ile de çalıştırabilirsiniz, bu, olay tabanlı event modeliyle uyumludur. Veritabanı adımları LEMP'tekiyle aynıdır.

Kurulumdan sonra

  • HTTPS sertifikası ekleyin. Let's Encrypt ücretsizdir ve Certbot hem Nginx hem Apache ile çalışır.
  • Web sunucusunun yazması gereken klasörlerin sahibini ayarlayın. Ubuntu ve Debian'da web sunucusu www-data kullanıcısıyla çalışır: sudo chown -R www-data:www-data /var/www/ornek.
  • Güncellemeleri sudo apt update && sudo apt upgrade ile düzenli kurun. Kurulumdan sonra işletim sistemi ve yazılım güncellemeleri size aittir.
  • Veritabanını mariadb-dump ile ayrıca yedekleyin. Sunucunun günlük yedeği fiyata dahildir, yine de önemli verilerin ek bir kopyasını kendiniz saklayın.

Yığını hazır istiyorsanız Seturack'ta LAMP ya da LEMP seçeneğiyle sipariş verin, kendiliğinden kurulur. Yalnız WordPress istiyorsanız WordPress VPS seçeneği yeterlidir: kurulum yaklaşık 4-5 dakika sürer, adres ve şifre panelde görünür.

Seturack'ta kurulu gelir: LAMP, LEMP.

Yorumlar0

Henüz Yorum Yok

İlk düşüncenizi paylaşan siz olun.

Tartışmaya Katıl

Yorum bırakmak için lütfen giriş yapın veya kaydolun.

Hiçbir Yazıyı Kaçırmayın

En yeni eğitim, rehber ve ürün haberlerini gelen kutunuzda alın.

Bülten aboneliğiniz alındı.