Ana içeriğe geç

Ubuntu 22.04 LEMP Kurulumu (Nginx, MySQL, PHP)

Bu rehberde ne öğreneceksiniz?

Bu rehberde Ubuntu sunucunuzu tam donanımlı bir web platformuna dönüştürmeyi öğreneceksiniz.
Nginx, MySQL ve PHP-FPM bileşenlerini birlikte kullanarak hızlı ve güvenli bir altyapı kuracağız.


Teknik Özet

Ana konu: Ubuntu üzerinde LEMP (Linux, Nginx, MySQL, PHP) kurulumu
Çözülen problem: PHP tabanlı web uygulamaları için uçtan uca sunucu altyapısı
Adımlar: Nginx → MySQL → PHP-FPM → Nginx yapılandırması → testler

Not: Ubuntu 24.04 kullanıyorsanız php8.1-fpm yerine php8.3-fpm kullanın.


Ön Gereksinimler

  • Ubuntu 22.04 sunucu
  • Root olmayan, sudo yetkili kullanıcı
  • UFW güvenlik duvarı aktif

1️⃣ Nginx Web Sunucusu Kurulumu

sudo apt update
sudo apt install nginx
  • Bu komutlar paket listesini günceller ve Nginx’i kurar.

1.1 Güvenlik Duvarı Ayarı


sudo ufw allow 'Nginx HTTP'
sudo ufw status
  • Bu adım HTTP trafiğine izin verir.

1.2 Tarayıcıdan test edin:


http://SUNUCU_IP

2️⃣ MySQL Veritabanı Kurulumu


sudo apt install mysql-server
sudo mysql_secure_installation
  • Bu adımlar MySQL’i kurar ve temel güvenliği sağlar.

Öneri: Root yerine uygulamalar için ayrı kullanıcı oluşturun.


3️⃣ PHP ve PHP-FPM Kurulumu

1. Nginx, PHP kodlarını doğrudan çalıştıramaz. Bu işi PHP-FPM üstlenir.


sudo apt install php8.1-fpm php-mysql
  • Bu komut PHP işlemcisini ve MySQL desteğini kurar.


php -v
  • Bu komut PHP sürümünü doğrular.

2. Nginx ve PHP-FPM Neden Birlikte Kullanılır?

  • Nginx, statik dosyaları çok hızlı sunar

  • PHP-FPM, PHP kodlarını güvenli ve izole şekilde işler

  • Bu yapı yüksek trafikte daha stabil çalışır


4️⃣ Nginx Server Block Oluşturma


sudo mkdir /var/www/rabisu.cloud
sudo chown -R $USER:$USER /var/www/rabisu.cloud
sudo nano /etc/nginx/sites-available/rabisu.cloud
  • Bu adımlar site dizinini oluşturur ve yapılandırma dosyasını açar.


server {
listen 80;
server_name rabisu.cloud www.rabisu.cloud;
root /var/www/rabisu.cloud;

index index.php index.html;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}
  • Bu yapılandırma PHP-FPM entegrasyonunu sağlar.

4.1 Siteyi Aktifleştirme


sudo ln -s /etc/nginx/sites-available/rabisu.cloud /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx

5️⃣ PHP Çalışıyor mu Test Edelim


nano /var/www/rabisu.cloud/info.php


<?php
phpinfo();

Tarayıcıdan açın:


http://SUNUCU_IP/info.php

Testten sonra mutlaka silin:


sudo rm /var/www/rabisu.cloud/info.php

Sıkça Sorulan Sorular (SSS)

1. 502 Bad Gateway hatası neden olur? Genellikle PHP-FPM çalışmıyordur veya socket yolu yanlıştır.


sudo systemctl status php8.1-fpm
ls /run/php/

2. Bir sunucuda birden fazla site olur mu? Evet. Her domain için ayrı server block oluşturabilirsiniz.

3. PHP sürümünü nasıl güncellerim? Yeni sürümü kurup fastcgi_pass yolunu güncellemeniz yeterlidir.

Sonuç Artık tam fonksiyonel bir LEMP altyapınız var. Bu yapı WordPress, Laravel ve özel PHP projeleri için idealdir. 🔐 Bir sonraki adım olarak Let’s Encrypt SSL eklemeniz şiddetle önerilir. 🚀 Yüksek performanslı projeler için Rabisu Bulut üzerindeki optimize edilmiş Ubuntu sunucularını hemen deneyebilirsiniz.