İçeriğe geç

Linux Web Sunucu Kurulumu

Linux işletim sistemi üzerinde bir web sunucusu kurmak, özellikle performans, güvenlik ve esneklik açısından büyük avantajlar sunar. Bu rehberde, Linux işletim sisteminde Apache veya Nginx kullanarak bir web sunucusunun nasıl kurulacağını ve yapılandırılacağını adım adım anlatacağız.


1. Gerekli Bileşenlerin Kurulumu

Öncelikle, kullanacağınız dağıtımın güncel olduğundan emin olun:

sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL

Ardından, ihtiyacınıza göre Apache veya Nginx sunucusunu yükleyebilirsiniz.

Apache Web Sunucusu Kurulumu

sudo apt install apache2 -y   # Debian/Ubuntu
sudo yum install httpd -y # CentOS/RHEL

Apache’yi başlatın ve sistem başlangıcında çalışmasını sağlayın:

sudo systemctl start apache2   # Ubuntu/Debian
sudo systemctl enable apache2

sudo systemctl start httpd # CentOS/RHEL
sudo systemctl enable httpd

Sunucunun durumunu kontrol etmek için:

sudo systemctl status apache2  # Ubuntu/Debian
sudo systemctl status httpd # CentOS/RHEL

Nginx Web Sunucusu Kurulumu

Nginx kullanmayı tercih ediyorsanız:

sudo apt install nginx -y      # Debian/Ubuntu
sudo yum install nginx -y # CentOS/RHEL

Sunucuyu başlatın:

sudo systemctl start nginx
sudo systemctl enable nginx

Durumunu kontrol edin:

sudo systemctl status nginx

Kurulum tamamlandıktan sonra, tarayıcınızı açarak http://sunucu-ip-adresi veya http://localhost adresine giderek sunucunun çalışıp çalışmadığını kontrol edebilirsiniz.


2. Güvenlik Duvarı Ayarları (Linux Firewall)

Web sunucusuna dışarıdan erişim sağlamak için güvenlik duvarı kurallarını güncellemelisiniz.

Apache İçin

sudo ufw allow 'Apache'  # Ubuntu/Debian
sudo firewall-cmd --permanent --add-service=http # CentOS/RHEL
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Nginx İçin

sudo ufw allow 'Nginx Full'  # Ubuntu/Debian
sudo firewall-cmd --permanent --add-service=http # CentOS/RHEL
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Güvenlik duvarı kurallarını listelemek için:

sudo ufw status   # Ubuntu/Debian
sudo firewall-cmd --list-all # CentOS/RHEL

3. Sanal Host (Virtual Host) Yapılandırması

Birden fazla web sitesi barındırmak için sanal host (virtual host) yapılandırması yapmanız gerekir.

Apache İçin Virtual Host Ayarları

Örnek bir web sitesi için /var/www/example.com dizinini oluşturun:

sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www

Varsayılan konfigürasyon dosyasını oluşturun:

sudo nano /etc/apache2/sites-available/example.com.conf

Aşağıdaki içeriği ekleyin:

<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Yeni siteyi etkinleştirin:

sudo a2ensite example.com.conf
sudo systemctl restart apache2

Nginx İçin Virtual Host Ayarları

Konfigürasyon dosyasını oluşturun:

sudo nano /etc/nginx/sites-available/example.com

Şu içeriği ekleyin:

server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;

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

Dosyayı etkinleştirin:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo systemctl restart nginx

4. SSL Sertifikası Kurulumu (Let’s Encrypt)

HTTPS kullanarak güvenliği artırmak için Let’s Encrypt ücretsiz SSL sertifikasını kurabilirsiniz.

Öncelikle Certbot’u yükleyin:

sudo apt install certbot python3-certbot-apache -y  # Apache için
sudo apt install certbot python3-certbot-nginx -y # Nginx için

SSL sertifikasını alın ve yapılandırın:

sudo certbot --apache   # Apache için
sudo certbot --nginx # Nginx için

Yenileme işlemi için:

sudo certbot renew --dry-run

5. PHP ve Veritabanı Kurulumu (Opsiyonel)

PHP ve MySQL/MariaDB ile dinamik web siteleri çalıştırabilirsiniz.

PHP Kurulumu

sudo apt install php php-cli php-mysql php-xml php-curl -y  # Ubuntu/Debian
sudo yum install php php-cli php-mysql php-xml php-curl -y # CentOS/RHEL

Apache’yi kullanıyorsanız:

sudo systemctl restart apache2

Nginx kullanıyorsanız PHP-FPM yükleyin:

sudo apt install php-fpm -y
sudo systemctl restart nginx

MariaDB (MySQL) Kurulumu

sudo apt install mariadb-server -y  # Ubuntu/Debian
sudo yum install mariadb-server -y # CentOS/RHEL

MariaDB güvenlik ayarlarını yapın:

sudo mysql_secure_installation

6. Web Sunucusunun Test Edilmesi

Kurulumu test etmek için info.php dosyası oluşturabilirsiniz:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Tarayıcınıza http://sunucu-ip-adresi/info.php yazarak PHP’nin çalıştığını kontrol edebilirsiniz.

Bu kılavuzda Linux üzerinde Apache veya Nginx kullanarak bir web sunucusu kurma adımlarını öğrendiniz. Sunucunuzu güvenli ve optimize tutmak için düzenli olarak güncellemeler yapmayı unutmayın.

Eğer daha fazla destek veya ileri düzey yapılandırmalar hakkında bilgiye ihtiyacınız varsa, yorum yapabilir veya bana ulaşabilirsiniz!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

2 + 2 =