Pardus Server Üzerinde Web Sunucusu Kurulumu
Pardus Server üzerinde Apache Web Sunucusu kurulumunu, hostname ve FQDN yapılandırmasını, sanal host ayarlarını ve test işlemlerini adım adım öğreneceksiniz.
Bu senaryo özellikle okul laboratuvar ortamı ve Active Directory benzeri domain yapısı için uygundur.
📌 Senaryo Bilgileri
| Parametre | Değer |
|---|---|
| IP Adresi | 192.168.101.250/24 |
| Hostname | pserver |
| FQDN | bilisim.local |
| Web Sunucu | Apache2 |
| İşletim Sistemi | Pardus Server |
🧭 1️⃣ Sistem Hazırlığı
Öncelikle sisteminizi güncelleyin:
sudo apt update
sudo apt upgrade -y
🖥 2️⃣ Hostname ve FQDN Ayarları
🔹 Hostname Ayarlama
sudo hostnamectl set-hostname pserver
Kontrol etmek için:
hostnamectl
🔹 /etc/hosts Dosyasını Düzenleme
sudo nano /etc/hosts
Aşağıdaki satırı ekleyin veya düzenleyin:
192.168.101.250 pserver.bilisim.local pserver
Kaydedip çıkın.
🌐 3️⃣ Apache Web Sunucu Kurulumu
Pardus, Debian tabanlı olduğu için Apache kurulumu oldukça basittir.
sudo apt install apache2 -y
Apache servisini kontrol edelim:
sudo systemctl status apache2
Servis aktif değilse:
sudo systemctl start apache2
sudo systemctl enable apache2
🔥 4️⃣ Güvenlik Duvarı Ayarı
Eğer UFW aktifse:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Durumu kontrol edin:
sudo ufw status
📂 5️⃣ Web Sitesi Dizini Oluşturma
Varsayılan dizin:
/var/www/html
Biz domain yapısına uygun özel dizin oluşturacağız:
sudo mkdir -p /var/www/bilisim.local/public_html
Yetki ayarları:
sudo chown -R www-data:www-data /var/www/bilisim.local
sudo chmod -R 755 /var/www
📄 6️⃣ Test Sayfası Oluşturma
sudo nano /var/www/bilisim.local/public_html/index.html
İçerik:
<!DOCTYPE html>
<html>
<head>
<title>Bilisim Local</title>
</head>
<body>
<h1>Web Sunucu Başarıyla Çalışıyor!</h1>
<p>Sunucu: pserver.bilisim.local</p>
<p>IP: 192.168.101.250</p>
</body>
</html>
🌍 7️⃣ Apache Virtual Host Tanımlama
Yeni bir konfigürasyon dosyası oluşturun:
sudo nano /etc/apache2/sites-available/bilisim.local.conf
İçerik:
<VirtualHost *:80>
ServerAdmin admin@bilisim.local
ServerName pserver.bilisim.local
ServerAlias bilisim.local
DocumentRoot /var/www/bilisim.local/public_html
<Directory /var/www/bilisim.local/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/bilisim_error.log
CustomLog ${APACHE_LOG_DIR}/bilisim_access.log combined
</VirtualHost>
Siteyi Aktifleştirme
sudo a2ensite bilisim.local.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
🧪 8️⃣ Test Aşaması
İstemci bilgisayarda DNS ayarı yoksa test için:
Windows bilgisayarda:
C:\Windows\System32\drivers\etc\hosts
Şu satırı ekleyin:
192.168.101.250 pserver.bilisim.local
Ardından tarayıcıya yazın:
http://pserver.bilisim.local
📊 Ağ Diyagramı
Client PC
│
│ HTTP (80)
▼
192.168.101.250
pserver
bilisim.local
│
Apache2
│
/var/www/bilisim.local
🔐 9️⃣ (Opsiyonel) PHP Desteği
PHP kurulumu:
sudo apt install php libapache2-mod-php -y
sudo systemctl restart apache2
Test için:
sudo nano /var/www/bilisim.local/public_html/info.php
<?php phpinfo(); ?>
🏫 Eğitim Ortamı İçin Öneriler
✔ Aynı sunucuda DNS kurarak gerçek domain çözümlemesi yapabilirsiniz
✔ SSL için self-signed sertifika oluşturabilirsiniz
✔ Birden fazla VirtualHost tanımlayarak çoklu site senaryosu oluşturabilirsiniz
✔ Apache log dosyaları üzerinden trafik analizi yaptırabilirsiniz
🧠 Web Sunucu Mantığı (Öğrenci Seviyesi Açıklama)
Kullanıcı tarayıcıdan site adresini girer
DNS IP adresini çözer
İstek Apache’ye gelir
Apache ilgili klasördeki dosyayı kullanıcıya gönderir
🎯 Sonuç
Bu makalede:
✔ Pardus’ta hostname ve FQDN ayarladık
✔ Apache kurduk
✔ VirtualHost tanımladık
✔ Web sitesini yayınladık
✔ Test ettik
İstersen sana:
🖼 Web Sunucu infografik görseli
🔐 HTTPS + SSL eğitim makalesi
🏢 Active Directory benzeri domain + DNS + Web entegrasyonu
📘 Okul laboratuvarı için uygulama senaryosu PDF
hazırlayabilirim.
Bu rehberde, Pardus (Debian tabanlı) işletim sistemi üzerinde Apache, MariaDB ve PHP (LAMP yığını) kurulumunu, FQDN yapılandırmasını ve ağ ayarlarını detaylandıracağız.
1. Adım: Hostname ve FQDN Yapılandırması
Bir sunucunun ağ üzerinde tanımlanabilir olması için FQDN (Fully Qualified Domain Name) ayarlarının doğru yapılması kritiktir.
Hostname Değiştirme:
Terminali açın ve makine adını
pserverolarak güncelleyin:Bashsudo hostnamectl set-hostname pserverHosts Dosyasını Düzenleme:
IP adresi ile FQDN'i eşleştirmek için
/etc/hostsdosyasını düzenleyin:Bashsudo nano /etc/hostsDosyaya şu satırı ekleyin:
192.168.101.250 pserver.bilisim.local pserverKontrol:
Değişikliklerin doğruluğunu şu komutla teyit edin:
Bashhostname -f # Çıktı: pserver.bilisim.local
2. Adım: Sistem Güncelleme ve Apache Kurulumu
Sunucunun güncel olması güvenlik için ilk kuraldır.
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 -y
Apache'yi Başlatma ve Etkinleştirme:
sudo systemctl start apache2
sudo systemctl enable apache2
3. Adım: Veritabanı (MariaDB) Kurulumu
Web uygulamalarınızın verilerini saklamak için güvenilir bir SQL sunucusu kuralım.
sudo apt install mariadb-server -y
Güvenlik Yapılandırması:
Aşağıdaki komutu çalıştırarak root şifresi belirleyin ve gereksiz erişimleri kapatın:
sudo mysql_secure_installation
4. Adım: PHP ve Gerekli Modüllerin Kurulumu
Pardus üzerinde dinamik içerikler (Django projelerinizden farklı olarak PHP tabanlı yapılar için) PHP kurulumunu gerçekleştirelim:
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml -y
5. Adım: Apache Sanal Konak (Virtual Host) Yapılandırması
bilisim.local adresine gelen istekleri karşılamak için bir yapılandırma dosyası oluşturalım.
Dizin Oluşturma:
Bashsudo mkdir -p /var/www/bilisim.local/public_html sudo chown -R $USER:$USER /var/www/bilisim.local/public_htmlKonfigürasyon Dosyası:
Bashsudo nano /etc/apache2/sites-available/bilisim.local.confİçine şu bilgileri yapıştırın:
Apache<VirtualHost *:80> ServerAdmin admin@bilisim.local ServerName bilisim.local ServerAlias pserver.bilisim.local DocumentRoot /var/www/bilisim.local/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>Siteyi Aktif Etme:
Bashsudo a2ensite bilisim.local.conf sudo a2dissite 000-default.conf sudo systemctl reload apache2
6. Adım: Güvenlik Duvarı (UFW) Ayarları
Sunucunuza web trafiği için izin vermeyi unutmayın:
sudo ufw allow 'Apache Full'
sudo ufw enable
Özet ve Sonuç
Artık 192.168.101.250 IP adresine sahip Pardus sunucunuz, bilisim.local FQDN'i üzerinden hizmet vermeye hazır. /var/www/bilisim.local/public_html dizinine atacağınız bir index.php dosyası ile sunucunuzu test edebilirsiniz.
Not: Eğer bu sunucuya ağdaki diğer bilgisayarlardan
bilisim.localyazarak erişmek isterseniz, ağınızdaki DNS sunucusuna bir kayıt eklemeli veya istemci bilgisayarlarınhostsdosyasına bu IP'yi tanımlamalısınız.
🔐 Pardus Sunucuda HTTPS + SSL Kurulumu
(192.168.101.250 – pserver.bilisim.local)
Bu makalede Pardus Server üzerinde çalışan Apache HTTP Server için HTTPS (SSL/TLS) yapılandırmasını adım adım öğreneceğiz.
Senaryo bilgilerimiz:
| Parametre | Değer |
|---|---|
| IP | 192.168.101.250 |
| Hostname | pserver |
| FQDN | pserver.bilisim.local |
| Domain | bilisim.local |
| Web Sunucu | Apache2 |
📌 HTTPS Nedir?
HTTP → Şifresiz veri iletir
HTTPS → SSL/TLS ile şifreli veri iletir
🔐 Amaç:
Veri güvenliği
Kimlik doğrulama
Man-in-the-Middle saldırılarını engelleme
🧭 1️⃣ SSL Modülünü Aktifleştirme
Apache SSL modülünü açıyoruz:
sudo a2enmod ssl
sudo systemctl restart apache2
🔑 2️⃣ Self-Signed SSL Sertifikası Oluşturma
(Laboratuvar ve okul ortamı için)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/bilisim.local.key \
-out /etc/ssl/certs/bilisim.local.crt
Sizden şu bilgiler istenir:
Country Name: TR
Organization: Bilişim Lisesi
Common Name: pserver.bilisim.local
⚠️ Common Name mutlaka FQDN olmalı.
📂 3️⃣ Apache HTTPS VirtualHost Oluşturma
Yeni dosya oluşturun:
sudo nano /etc/apache2/sites-available/bilisim.local-ssl.conf
İçerik:
<VirtualHost *:443>
ServerName pserver.bilisim.local
DocumentRoot /var/www/bilisim.local/public_html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/bilisim.local.crt
SSLCertificateKeyFile /etc/ssl/private/bilisim.local.key
<Directory /var/www/bilisim.local/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>
🚀 4️⃣ SSL Siteyi Aktifleştirme
sudo a2ensite bilisim.local-ssl.conf
sudo systemctl reload apache2
🔥 5️⃣ Firewall Ayarı
sudo ufw allow 443/tcp
sudo ufw reload
🧪 6️⃣ Test Aşaması
Tarayıcıya yazın:
https://pserver.bilisim.local
Self-signed olduğu için:
⚠️ “Güvenli değil” uyarısı çıkar
Bu normaldir (gerçek sertifika değil).
🔄 7️⃣ HTTP → HTTPS Yönlendirme
Mevcut 80 port VirtualHost dosyasını açın:
sudo nano /etc/apache2/sites-available/bilisim.local.conf
İçine şunu ekleyin:
<VirtualHost *:80>
ServerName pserver.bilisim.local
Redirect permanent / https://pserver.bilisim.local/
</VirtualHost>
Apache yeniden başlatın:
sudo systemctl restart apache2
🏢 Gerçek Sertifika (Let’s Encrypt)
Gerçek ortamda ücretsiz sertifika için:
Let's Encrypt
Kurulum:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
Domain internetten erişilebilir olmalıdır.
📊 HTTPS Çalışma Mantığı
Kullanıcı
│
│ HTTPS (443)
▼
Apache SSL
│
Sertifika Doğrulama
│
Şifreli Veri İletimi
🧠 Eğitim İçin Deney Senaryosu
Öğrencilere şu deneyleri yaptırabilirsiniz:
✔ Wireshark ile HTTP trafiğini inceleme
✔ HTTPS trafiğinde verinin şifreli olduğunu gösterme
✔ Self-signed ile gerçek sertifika farkını karşılaştırma
✔ Sertifika süresini değiştirerek test etme
🔐 Güvenlik İyileştirmeleri
Apache SSL yapılandırmasını güçlendirmek için:
sudo nano /etc/apache2/mods-available/ssl.conf
Şu ayarları aktif edin:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5
Apache yeniden başlatın:
sudo systemctl restart apache2
🎯 Sonuç
Bu makalede:
✔ SSL modülü aktifleştirildi
✔ Self-signed sertifika oluşturuldu
✔ HTTPS VirtualHost yazıldı
✔ HTTP → HTTPS yönlendirme yapıldı
✔ Gerçek sertifika alternatifi anlatıldı
🔐 Pardus Sunucuda HTTPS + SSL Kurulumu
(192.168.101.250 – pserver.bilisim.local)
Bu makalede Pardus Server üzerinde çalışan Apache HTTP Server için HTTPS (SSL/TLS) yapılandırmasını adım adım öğreneceğiz.
Senaryo bilgilerimiz:
| Parametre | Değer |
|---|---|
| IP | 192.168.101.250 |
| Hostname | pserver |
| FQDN | pserver.bilisim.local |
| Domain | bilisim.local |
| Web Sunucu | Apache2 |
📌 HTTPS Nedir?
HTTP → Şifresiz veri iletir
HTTPS → SSL/TLS ile şifreli veri iletir
🔐 Amaç:
Veri güvenliği
Kimlik doğrulama
Man-in-the-Middle saldırılarını engelleme
🧭 1️⃣ SSL Modülünü Aktifleştirme
Apache SSL modülünü açıyoruz:
sudo a2enmod ssl
sudo systemctl restart apache2
🔑 2️⃣ Self-Signed SSL Sertifikası Oluşturma
(Laboratuvar ve okul ortamı için)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/bilisim.local.key \
-out /etc/ssl/certs/bilisim.local.crt
Sizden şu bilgiler istenir:
Country Name: TR
Organization: Bilişim Lisesi
Common Name: pserver.bilisim.local
⚠️ Common Name mutlaka FQDN olmalı.
📂 3️⃣ Apache HTTPS VirtualHost Oluşturma
Yeni dosya oluşturun:
sudo nano /etc/apache2/sites-available/bilisim.local-ssl.conf
İçerik:
<VirtualHost *:443>
ServerName pserver.bilisim.local
DocumentRoot /var/www/bilisim.local/public_html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/bilisim.local.crt
SSLCertificateKeyFile /etc/ssl/private/bilisim.local.key
<Directory /var/www/bilisim.local/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>
🚀 4️⃣ SSL Siteyi Aktifleştirme
sudo a2ensite bilisim.local-ssl.conf
sudo systemctl reload apache2
🔥 5️⃣ Firewall Ayarı
sudo ufw allow 443/tcp
sudo ufw reload
🧪 6️⃣ Test Aşaması
Tarayıcıya yazın:
https://pserver.bilisim.local
Self-signed olduğu için:
⚠️ “Güvenli değil” uyarısı çıkar
Bu normaldir (gerçek sertifika değil).
🔄 7️⃣ HTTP → HTTPS Yönlendirme
Mevcut 80 port VirtualHost dosyasını açın:
sudo nano /etc/apache2/sites-available/bilisim.local.conf
İçine şunu ekleyin:
<VirtualHost *:80>
ServerName pserver.bilisim.local
Redirect permanent / https://pserver.bilisim.local/
</VirtualHost>
Apache yeniden başlatın:
sudo systemctl restart apache2
🏢 Gerçek Sertifika (Let’s Encrypt)
Gerçek ortamda ücretsiz sertifika için:
Let's Encrypt
Kurulum:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
Domain internetten erişilebilir olmalıdır.
📊 HTTPS Çalışma Mantığı
Kullanıcı
│
│ HTTPS (443)
▼
Apache SSL
│
Sertifika Doğrulama
│
Şifreli Veri İletimi
🧠 Eğitim İçin Deney Senaryosu
Öğrencilere şu deneyleri yaptırabilirsiniz:
✔ Wireshark ile HTTP trafiğini inceleme
✔ HTTPS trafiğinde verinin şifreli olduğunu gösterme
✔ Self-signed ile gerçek sertifika farkını karşılaştırma
✔ Sertifika süresini değiştirerek test etme
🔐 Güvenlik İyileştirmeleri
Apache SSL yapılandırmasını güçlendirmek için:
sudo nano /etc/apache2/mods-available/ssl.conf
Şu ayarları aktif edin:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5
Apache yeniden başlatın:
sudo systemctl restart apache2
🎯 Sonuç
Bu makalede:
✔ SSL modülü aktifleştirildi
✔ Self-signed sertifika oluşturuldu
✔ HTTPS VirtualHost yazıldı
✔ HTTP → HTTPS yönlendirme yapıldı
✔ Gerçek sertifika alternatifi anlatıldı
Yorumlar