sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa Web Sunucuları Apache Kurulumu LAMP Stack Kurulumu: Apache + MySQL + PHP Ubunt...
🪶 Apache Kurulumu

LAMP Stack Kurulumu: Apache + MySQL + PHP Ubuntu 22.04

Ubuntu 22.04'te LAMP stack (Linux, Apache, MySQL, PHP) kurulumu, virtual host yapılandırması ve phpMyAdmin rehberi.

📅 1 Mayıs 2025 👁 7 görüntülenme ⏱ 4 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

LAMP Stack Nedir?

LAMP Stack; Linux, Apache, MySQL ve PHP'nin baş harflerinden oluşan klasik web sunucu yığınıdır. 2000'li yılların başından bu yana internet altyapısının omurgasını oluşturan LAMP, günümüzde hâlâ milyonlarca web sitesi tarafından kullanılmaktadır. Apache'nin zengin modül ekosistemi, .htaccess desteği ve virtual host esnekliği onu birçok senaryo için tercih edilen seçenek yapar.

Apache HTTP Server, dünya genelinde en yaygın kullanılan web sunucusu yazılımıdır. Prefork, Worker ve Event MPM (Multi-Processing Module) modelleri sayesinde farklı yük senaryolarına uyum sağlayabilir. PHP için mod_php modülü veya PHP-FPM ile çalışabilir; bu rehberde PHP-FPM kullanacağız çünkü daha iyi bellek yönetimi sunar.

Ön Gereksinimler

  • Ubuntu 22.04 LTS sunucu
  • Sudo yetkili kullanıcı
  • 80 ve 443 portlarına erişim
  • Alan adı (isteğe bağlı, IP ile de çalışır)

Adım 1: Sistem Güncellemesi

sudo apt update && sudo apt upgrade -y

Adım 2: Apache2 Kurulumu

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2

UFW ile Port Açma

sudo ufw allow in "Apache Full"
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

Apache Modüllerini Etkinleştirme

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod ssl
sudo a2enmod proxy_fcgi setenvif
sudo systemctl restart apache2

Adım 3: MySQL 8.0 Kurulumu

sudo apt install mysql-server -y
sudo mysql_secure_installation

Veritabanı ve Kullanıcı Oluşturma

sudo mysql
CREATE DATABASE lamp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'lamp_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'GucluSifre!2024';
GRANT ALL PRIVILEGES ON lamp_db.* TO 'lamp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Adım 4: PHP 8.1 Kurulumu

sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-xml \
  php8.1-mbstring php8.1-gd php8.1-zip php8.1-intl php8.1-bcmath php8.1-opcache

Apache'yi PHP-FPM ile Yapılandırma

sudo a2enconf php8.1-fpm
sudo systemctl restart apache2 php8.1-fpm

Adım 5: Virtual Host Yapılandırması

sudo nano /etc/apache2/sites-available/mysite.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/mysite
    ServerAdmin webmaster@example.com

    <Directory /var/www/mysite>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost"
    </FilesMatch>

    ErrorLog ${APACHE_LOG_DIR}/mysite_error.log
    CustomLog ${APACHE_LOG_DIR}/mysite_access.log combined
</VirtualHost>

Site Dizini Oluşturun ve Aktif Edin

sudo mkdir -p /var/www/mysite
sudo chown -R www-data:www-data /var/www/mysite
sudo a2ensite mysite.conf
sudo a2dissite 000-default.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Adım 6: .htaccess ile URL Yönlendirme

WordPress ve diğer uygulamaların temiz URL'ler kullanabilmesi için .htaccess dosyası oluşturun:

sudo nano /var/www/mysite/.htaccess
Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Adım 7: phpMyAdmin Kurulumu

Veritabanını web arayüzünden yönetmek için phpMyAdmin kurun:

sudo apt install phpmyadmin -y

Kurulum sırasında "apache2" seçeneğini işaretleyin ve dbconfig-common kurulumunu onaylayın. phpMyAdmin için ayrı bir parola belirleyin.

sudo ln -s /usr/share/phpmyadmin /var/www/mysite/phpmyadmin

phpMyAdmin Güvenlik Ayarı

sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Alias /dbadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    <IfModule mod_authz_core.c>
        Require ip 192.168.1.0/24
    </IfModule>
</Directory>

Apache Performans Optimizasyonu

MPM Event Moduna Geçiş

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2

KeepAlive Ayarları

sudo nano /etc/apache2/apache2.conf
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Sık Karşılaşılan Sorunlar

500 Internal Server Error

sudo tail -50 /var/log/apache2/error.log
sudo apache2ctl configtest

RewriteRule Çalışmıyor

mod_rewrite'ın etkin ve AllowOverride All'ın ayarlı olduğundan emin olun:

sudo a2enmod rewrite
sudo systemctl restart apache2

Sonuç

Ubuntu 22.04'te LAMP Stack kurulumunu ve temel yapılandırmasını tamamladınız. Apache'nin güçlü virtual host yapısı, .htaccess desteği ve phpMyAdmin ile veritabanı yönetimi bu yapıyı WordPress, Drupal ve klasik PHP uygulamaları için mükemmel kılar.

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.