Evde AWS Kullanarak LAMP Sunucusu Kurulumu: Adım Adım Kılavuz
Evde kendi web sunucunuzu kurmak istiyorsunuz ama karmaşık yapılandırmalar sizi korkutuyor mu? Bu kapsamlı kılavuz, Amazon Web Services (AWS) kullanarak evinizde güvenli ve performanslı bir LAMP (Linux, Apache, MySQL, PHP) sunucusu kurmanızı sağlayacak adım adım bir yol haritası sunuyor. AWS'in esnekliği ve ölçeklenebilirliği sayesinde, basit bir blogdan karmaşık web uygulamalarına kadar çeşitli projeler için ideal bir çözüm elde edeceksiniz.
Öğrenme Yol Haritası
Bu kılavuz, farklı deneyim seviyelerine göre hazırlanmıştır:
- Yeni Başlayan: Temel AWS kavramları, EC2 instance oluşturma ve SSH bağlantısı.
- Orta Seviye: LAMP stack kurulumu, güvenlik konfigürasyonları, temel web uygulaması dağıtımı.
- İleri Seviye: Performans optimizasyonu, otomasyon araçları, yük dengeleme ve ölçeklenebilir mimariler.
Temel Kavramlar: AWS ve LAMP Stack
AWS, bulutta hizmet sunan lider bir platformdur. EC2 (Elastic Compute Cloud), sanal sunucular (instance'lar) oluşturmanızı sağlar. LAMP ise web uygulamaları geliştirmek için yaygın kullanılan bir açık kaynak yazılım yığınını temsil eder: Linux (işletim sistemi), Apache (web sunucusu), MySQL (veritabanı) ve PHP (sunucu tarafı programlama dili). Bu kılavuz, AWS EC2 üzerinde Ubuntu Linux dağıtımı kullanarak bir LAMP sunucusu kurulumunu ele alacaktır. Daha fazla bilgi için fatihsoysal.com sitesini ziyaret edebilirsiniz.
Adım 1: AWS Hesabı Oluşturma ve EC2 Instance Başlatma
Öncelikle bir AWS hesabı oluşturmanız ve hesabınızı doğrulamanız gerekmektedir. Daha sonra AWS Management Console'a giriş yaparak EC2 servisini bulun. Yeni bir instance başlatmak için “Launch Instance” butonuna tıklayın. Amazon Machine Image (AMI) seçimi yaparken Ubuntu Server'ı tercih edin. Instance tipi seçimi ise projenizin ihtiyaçlarına bağlıdır; t2.micro gibi ücretsiz katman için uygun bir instance ile başlayabilirsiniz. Güvenlik grupları (security groups) bölümünde, SSH (port 22) ve HTTP (port 80) trafiğini izin verdiğinizden emin olun. Instance'ı başlattıktan sonra, public DNS adresini not edin. Bu adrese SSH kullanarak bağlanacaksınız.
Adım 2: SSH Bağlantısı ve Sistem Güncellemeleri
Tercih ettiğiniz SSH istemcisini (Putty, Terminal vs.) kullanarak public DNS adresine bağlanın. Kullanıcı adı genellikle ubuntudur. Bağlantı kurulduktan sonra, sistem güncellemelerini gerçekleştirmek için aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade -y
Bu işlem, sistemin en son güvenlik yamalarına sahip olmasını sağlayacaktır. Bu aşamada, sisteminizin güvenliğini sağlamak için sudo komutunu dikkatli kullanmanız ve güçlü bir parola seçmeniz önem taşır.
Adım 3: Apache Web Sunucusunun Kurulumu ve Konfigürasyonu
Apache web sunucusunu kurmak için aşağıdaki komutu çalıştırın:
sudo apt install apache2 -y
Kurulum tamamlandıktan sonra, Apache'nin çalışıp çalışmadığını kontrol etmek için tarayıcınızda public DNS adresinizi girin. Apache'nin varsayılan “It works!” sayfasını görmelisiniz. Apache'nin konfigürasyon dosyalarına erişmek için /etc/apache2/ dizinini inceleyebilirsiniz. Örneğin, sanal sunucular oluşturmak için sites-available dizinindeki dosyaları düzenleyebilirsiniz. Daha fazla bilgi için fatihsoysal.com sitesindeki rehberleri inceleyebilirsiniz.
Adım 4: MySQL Veritabanı Sunucusunun Kurulumu ve Güvenlik Ayarları
MySQL'i kurmak için aşağıdaki komutu kullanın:
sudo apt install mysql-server -y
Kurulum sırasında MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parolayı unutmamanız çok önemlidir. Kurulumdan sonra, MySQL sunucusunun güvenliğini sağlamak için aşağıdaki komutları çalıştırın:
sudo mysql_secure_installation
Bu komut, güvenlik açıklarını ortadan kaldıracak bir dizi adım gerçekleştirecektir. Örneğin, anonim kullanıcıları kaldıracak ve uzaktan root girişini devre dışı bırakacaktır. MySQL sunucusu ile ilgili detaylı bilgiler için fatihsoysal.com sitesindeki makalelerimize göz atabilirsiniz.
Adım 5: PHP'nin Kurulumu ve Apache ile Entegrasyonu
PHP'yi ve gerekli PHP modüllerini kurmak için aşağıdaki komutu kullanın:
sudo apt install php libapache2-mod-php php-mysql -y
Kurulumdan sonra, Apache'yi yeniden başlatarak değişikliklerin etkili olmasını sağlayın:
sudo systemctl restart apache2
PHP'nin doğru şekilde kurulduğunu ve Apache ile entegre olduğunu doğrulamak için, /var/www/html dizinine basit bir PHP dosyası (örneğin, info.php) oluşturup içinde kodunu yazarak tarayıcınızdan erişebilirsiniz. Bu, PHP'nin kurulu sürümü ve konfigürasyonu hakkında detaylı bilgi verecektir.
Adım 6: Güvenlik Önlemleri ve En İyi Uygulamalar
Dikkat: Bu aşamada aldığınız güvenlik önlemleri, sunucunuzun güvenliği için son derece önemlidir. Zayıf güvenlik önlemleri, sunucunuzun saldırılara açık kalmasına neden olabilir.
- Güçlü ve benzersiz parolalar kullanın.
- SSH erişimini yalnızca güvenilir IP adresleriyle sınırlayın.
- Düzenli olarak güvenlik güncellemeleri yapın.
- Firewall kullanın ve gereksiz portları kapatın.
- Web uygulamalarınız için düzenli yedekleme planı oluşturun.
Bu güvenlik ipuçlarını takip ederek, sunucunuzun güvenliğini önemli ölçüde artırabilirsiniz. Daha fazla güvenlik ipucu için fatihsoysal.com sitesini ziyaret edin.
İleri Düzey Konular: Performans Optimizasyonu ve Ölçeklendirme
Kurulum tamamlandıktan sonra, sunucunuzun performansını optimize etmek için çeşitli yöntemler kullanabilirsiniz. Örneğin, daha güçlü bir instance türüne geçebilir, caching mekanizmaları (Redis, Memcached) kullanabilir veya CDN (Content Delivery Network) entegre edebilirsiniz. Yüksek trafik durumlarında, yük dengeleme (load balancing) kullanarak trafiği birden fazla instance arasında dağıtabilir ve sunucunuzun ölçeklenebilirliğini sağlayabilirsiniz. Bu ileri seviye konular, daha büyük ve karmaşık projeler için kritik öneme sahiptir. Daha fazla bilgi için AWS belgelerini inceleyebilirsiniz.
Sonuç ve Sıkça Sorulan Sorular
Bu kılavuz, AWS üzerinde basit bir LAMP sunucusu kurulumunu adım adım açıkladı. Ancak, karmaşık web uygulamaları için daha gelişmiş konfigürasyonlar ve güvenlik önlemleri gerekebilir. Daha fazla bilgi için AWS belgelerini ve fatihsoysal.com sitesini ziyaret edebilirsiniz.
Sıkça Sorulan Sorular
- Soru: AWS ücretsiz katmanını kullanabilir miyim? Cevap: Evet, t2.micro instance türü ve diğer bazı ücretsiz kaynakları kullanarak ücretsiz katman avantajlarından yararlanabilirsiniz. Ancak, kullanımınız ücretsiz katman limitlerini aşarsa ücretlendirme başlayacaktır.
- Soru: Sunucumu nasıl yedekleyebilirim? Cevap: AWS'in sunduğu EBS (Elastic Block Store) snapshot'larını kullanarak disklerinizi yedekleyebilirsiniz. Ayrıca, sisteminizi düzenli olarak yedekleyebileceğiniz otomasyon araçları da kullanabilirsiniz.
- Soru: Sunucumun güvenliğini nasıl artırabilirim? Cevap: Güçlü parolalar kullanın, firewall kurun, gereksiz portları kapatın, düzenli güncellemeler yapın ve güvenlik açıklarını düzenli olarak tarayın.
- Soru: Yüksek trafik durumunda ne yapmalıyım? Cevap: Yük dengeleme (Load Balancing) kullanarak trafiği birden fazla instance arasında dağıtabilir ve sunucunuzun ölçeklenebilirliğini sağlayabilirsiniz.
- Soru: Başka hangi dağıtımları kullanabilirim? Cevap: Ubuntu dışında Amazon Linux, CentOS gibi farklı Linux dağıtımları da kullanabilirsiniz.
Yazar: Fatih Soysal
