Takip et

Ubuntu 12.04 LTS’de Apache Sanal Sunucuları Kurulumu: Tam Kılavuz

# Ubuntu 12.04 LTS’de Apache Sanal Sunucuları Kurulumu: Tam Kılavuz

Meta Açıklaması: Ubuntu 12.04 LTS sunucunuza Apache sanal sunucuları kurmayı öğrenin. Bu detaylı kılavuzda adım adım kurulum, yapılandırma ve performans optimizasyonu hakkında uzman seviyesinde bilgiler bulacaksınız. Fatih Soysal’ın hazırladığı bu rehberle web sunucunuzu profesyonelce yönetin.

Birden fazla web sitesini tek bir sunucu üzerinde barındırmak istiyorsunuz ama nereden başlayacağınızı bilmiyor musunuz? Tek bir IP adresiyle farklı alan adlarını yönetmek, kaynakları optimize etmek ve sunucu yönetimini basitleştirmek için Apache sanal sunucuları kullanmanız gerekiyor. Bu kapsamlı kılavuzda, Ubuntu 12.04 LTS üzerinde Apache sanal sunucularını nasıl kuracağınızı, yapılandıracağınızı ve optimize edeceğinizi adım adım öğreneceksiniz. Hazırsanız başlayalım!

Temel Kavramlar: Apache, Sanal Sunucular ve Ubuntu 12.04

Öncelikle, bazı temel kavramları anlamamız gerekiyor. Apache, en yaygın kullanılan açık kaynak web sunucularından biridir. Güvenilirliği, esnekliği ve geniş topluluk desteğiyle bilinir. Sanal sunucular ise, tek bir fiziksel sunucu üzerinde birden fazla bağımsız web sitesi barındırmanıza olanak tanıyan bir teknolojidir. Her sanal sunucu, kendi yapılandırmalarına, bellek ve işlemci kaynaklarına sahip olur. Ubuntu 12.04 LTS ise, artık desteklenmese de, birçok kuruluşta hala kullanılan stabil bir Linux dağıtımıdır. Bu kılavuzda, bu eski ama sağlam işletim sisteminde Apache sanal sunucularını nasıl kuracağınızı öğreneceğiz. Daha yeni bir Ubuntu sürümü kullanıyorsanız, bazı komutlar veya dosya yolları farklılık gösterebilir.

Apache ve Gerekli Paketlerin Kurulumu: Yeni Başlayanlar İçin Adım Adım

Bu bölümde, Ubuntu 12.04 LTS sisteminize Apache web sunucusunu ve gerekli paketleri nasıl kuracağınızı göreceğiz. Bu, sanal sunucu kurulumunun ilk ve en önemli adımıdır.

1. Güncelleme: İlk olarak, sisteminizi güncellemeniz gerekiyor:

sudo apt-get update
sudo apt-get upgrade

2. Apache Kurulumu: Şimdi Apache web sunucusunu kurabiliriz:

sudo apt-get install apache2

3. Apache Durumunun Kontrolü: Kurulumdan sonra, Apache’nin çalıştığını doğrulayalım:

sudo systemctl status apache2

“active (running)” mesajını görmeniz gerekiyor. Değilse, sudo systemctl start apache2 komutu ile başlatabilirsiniz.

4. Varsayılan Web Sayfasını Kontrol Etme: Tarayıcınızda http://localhost adresini ziyaret ederek, Apache’nin varsayılan web sayfasını görebilirsiniz. Bu, kurulumun başarılı olduğunu gösterir.

İlk Sanal Sunucunuzun Oluşturulması: Basit Kod Örneği

Şimdi, ilk sanal sunucumuzu oluşturalım. Bu örnekte, example.com alan adını kullanacağız. Bu alan adının gerçek bir alan adı kaydınız olması gerekmez; test amaçlı kullanabilirsiniz.

1. Sanal Sunucu Dizininin Oluşturulması:

sudo mkdir /var/www/example.com
sudo chown $USER:$USER /var/www/example.com

2. index.html Dosyasının Oluşturulması: example.com dizinine index.html adında bir dosya oluşturup içeriğini şu şekilde belirleyebilirsiniz:

<!DOCTYPE html>
<html>
<head>
<title>Example.com</title>
</head>
<body>
<h1>Merhaba, Example.com'a Hoş Geldiniz!</h1>
</body>
</html>

3. Sanal Sunucu Konfigürasyon Dosyasının Oluşturulması:

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

Aşağıdaki kodu dosyaya ekleyin (yer tutucu değerleri kendi değerlerinizle değiştirin):

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    <Directory /var/www/example.com>
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

4. Sanal Sunucunun Etkinleştirilmesi:

sudo a2ensite example.com
sudo systemctl reload apache2

Gerçek Hayat Senaryoları ve Optimizasyon İpuçları: Orta Seviye

Şimdi, daha gerçekçi bir senaryoya bakalım. Diyelim ki iki farklı web siteniz var: blog.fatihsoysal.com ve shop.fatihsoysal.com. Bu iki siteyi aynı sunucu üzerinde nasıl barındıracağız? Ayrıca, performans optimizasyonu için neler yapabiliriz?

Birden Fazla Sanal Sunucu: Yukarıdaki adımları izleyerek, blog.fatihsoysal.com ve shop.fatihsoysal.com için ayrı dizinler oluşturup, benzer şekilde sanal sunucu konfigürasyon dosyaları (/etc/apache2/sites-available/blog.fatihsoysal.com ve /etc/apache2/sites-available/shop.fatihsoysal.com) oluşturmanız gerekir. Her dosyada ServerName, ServerAlias, ve DocumentRoot direktiflerini ilgili değerlerle değiştirmeyi unutmayın. Sonrasında a2ensite komutu ile etkinleştirip systemctl reload apache2 ile Apache’yi yeniden başlatın.

Performans Optimizasyonu:

* .htaccess Dosyalarını Kullanmaktan Kaçının: .htaccess dosyaları performansı olumsuz etkileyebilir. Konfigürasyonları doğrudan Apache konfigürasyon dosyalarına eklemek daha verimlidir.
* Cacheleme: Apache’nin cacheleme özelliklerini kullanarak statik dosyaların (örneğin, resimler, CSS, JavaScript) sunucu yükünü azaltabilirsiniz.
* Mod_deflate: Bu modül, HTTP yanıtlarını sıkıştırarak bant genişliğini ve sunucu yükünü azaltır. sudo a2enmod deflate komutu ile etkinleştirebilirsiniz.
* Mod_expires: Bu modül, tarayıcıların statik dosyaları ne kadar süre cacheleyeceğini belirlemenizi sağlar. sudo a2enmod expires komutu ile etkinleştirebilirsiniz.
* HTTPS: Güvenlik için HTTPS kullanmanız önemlidir. Let’s Encrypt gibi ücretsiz SSL sertifikaları sağlayıcılarını kullanabilirsiniz. [fatihsoysal.com](https://fatihsoysal.com) adresinde daha fazla bilgi bulabilirsiniz. (Buraya Let’s Encrypt ile ilgili bir makale bağlantısı eklenebilir)

SSL Sertifikası Kurulumu ve Güvenlik: İleri Düzey

Bu bölümde, sanal sunucularınız için SSL sertifikası kurulumunu ve güvenlik önlemlerini ele alacağız. HTTPS, web sitenizin güvenliğini sağlamak için hayati önem taşır.

Let’s Encrypt ile SSL Sertifikası Kurulumu: Let’s Encrypt, ücretsiz ve otomatik SSL sertifikası sağlayıcısıdır. Certbot adlı bir araç kullanarak kolayca sertifika alabilirsiniz. Certbot’u kurmak ve sertifikayı almak için aşağıdaki adımları izleyebilirsiniz:

sudo apt-get install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com

Bu komut, example.com ve www.example.com alan adları için bir sertifika alır ve Apache’ye otomatik olarak entegre eder. Diğer alan adlarınız için de benzer komutları kullanabilirsiniz.

Güvenlik Önlemleri:

* Firewall: ufw gibi bir firewall kullanarak sunucunuzun güvenliğini artırabilirsiniz. Gerekli portları (80 ve 443) açmayı unutmayın.
* Güçlü Şifreler: Güçlü ve benzersiz şifreler kullanın.
* Düzenli Güncellemeler: Sisteminizi ve yazılımlarınızı düzenli olarak güncelleyin.
* Log Dosyalarını İzleme: Apache log dosyalarını düzenli olarak kontrol ederek olası güvenlik açıklarını tespit edebilirsiniz.
* SuID/GUID Dosyalarını Kontrol Etme: Sisteminizde izinleri yanlış ayarlanmış dosyaların olup olmadığını kontrol edin.

Performans Analizi ve Edge Case’ler: İleri Düzey

Bu bölümde, Apache sanal sunucularınızın performansını nasıl analiz edeceğinizi ve karşılaşabileceğiniz bazı özel durumları (edge case’ler) ele alacağız.

Performans Analizi:

* Apache Benchmark (ab): ab aracı, web sunucunuzun performansını test etmek için kullanılabilir. Örneğin, ab -n 1000 -c 100 http://example.com komutu, 1000 istek göndererek ve 100 eşzamanlı bağlantı kullanarak example.com adresini test eder.
* Webalizer ve AWStats: Bu araçlar, web sitenizin trafik istatistiklerini analiz etmenize yardımcı olur.
* Sistem İzleme Araçları: top, htop ve iostat gibi araçlar, sunucunuzun kaynak kullanımını (CPU, bellek, disk I/O) izlemek için kullanılabilir.

Edge Case’ler:

* Alan Adı Çakışmaları: Farklı sanal sunucularınızın alan adlarının çakışmamasına dikkat edin.
* Port Çakışmaları: Aynı portu farklı sanal sunucularınızda kullanmamaya dikkat edin.
* Dosya İzinleri: Dosya izinlerini doğru ayarlayın, aksi takdirde web siteniz çalışmayabilir veya güvenlik açıklarına neden olabilir.
* PHP ve Diğer Modüller: PHP veya diğer modülleri kurmanız gerekiyorsa, bunu doğru şekilde yapmanız ve konfigürasyon dosyalarını güncellemeniz gerekir.

Sonuç

Bu kılavuzda, Ubuntu 12.04 LTS üzerinde Apache sanal sunucularını kurma, yapılandırma ve optimize etme konusunda adım adım bir yol haritası sunduk. Unutmayın ki, bu sadece bir başlangıç noktasıdır. Web sunucunuzu güvenli ve verimli bir şekilde yönetmek için sürekli öğrenme ve güncellemeler yapmanız önemlidir. [fatihsoysal.com](https://fatihsoysal.com) adresinden daha fazla bilgi ve kaynak bulabilirsiniz.

Sıkça Sorulan Sorular (SSS):

1. Apache’yi nasıl yeniden başlatırım? sudo systemctl restart apache2 komutunu kullanın.
2. Sanal sunucu konfigürasyon dosyasını nerede bulurum? /etc/apache2/sites-available/ dizininde.
3. Bir sanal sunucuyu nasıl devre dışı bırakırım? sudo a2dissite <sanal_sunucu_adı> komutunu kullanın ve ardından sudo systemctl reload apache2 ile Apache’yi yeniden başlatın.
4. Apache log dosyalarını nerede bulurum? Genellikle /var/log/apache2/ dizininde.
5. Let’s Encrypt sertifikam süresi dolduğunda ne yapmalıyım? Certbot’u kullanarak sertifikanızı otomatik olarak yenileyebilirsiniz.

Yazar: Fatih Soysal

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version