Linux, Docker ve PostgreSQL ile Self-Hosting Altyapı Yönetimi
Türkiye ve KKTC'deki işletmeler için Linux, Docker ve PostgreSQL kullanarak kendi sunucu altyapınızı kurma ve yönetme süreçlerini adım adım inceleyin.

İşletmelerin operasyonel verimliliklerini artırırken maliyetleri optimize etme arayışları, bulut bağımlılığını azaltan yöntemleri ön plana çıkarmaktadır. Bu bağlamda, kendi sunucularınız üzerinde tam kontrol sağlayan Sunucu & Bulut Altyapısı çözümleri, veri egemenliğini korumak adına kritik bir rol oynamaktadır. Bu teknik rehberde, kurumsal altyapı süreçlerini optimize etmek için Linux sunucu yönetimi, Docker konteyner mimarisi ve PostgreSQL veritabanı kurulum adımlarını ele alacağız.
1. Linux Sunucu Yönetimi ve Temel Hazırlıklar
Self-hosting süreçlerinin ilk adımı, güvenli ve kararlı bir işletim sistemi ortamı hazırlamaktır. Sunucu üzerinde gereksiz servislerin kapatılması, güvenlik duvarı (firewall) yapılandırmalarının tamamlanması ve kullanıcı yetkilendirmelerinin en az yetki prensibine (principle of least privilege) göre düzenlenmesi gerekir. Sunucu & Bulut Altyapısı hizmetlerinde de temel alınan bu aşamada, sistem güncellemelerinin periyodik olarak yapılması kararlılığı artırır.
- SSH erişimini sadece anahtar (key-based) doğrulama ile sınırlandırın.
- UFW veya benzeri güvenlik duvarı araçlarıyla sadece gerekli portları dış dünyaya açın.
- Zaman senkronizasyonu (NTP) ayarlarını yapılandırın.
2. Docker ile Konteyner Mimarisi Kurulumu
Uygulamaların izole ortamlarda çalıştırılması, bağımlılık çakışmalarını önler ve dağıtım süreçlerini standartlaştırır. Docker altyapısını kurarken servislerin kaynak limitlerinin belirlenmesi ve ağ (network) izolasyonunun sağlanması önem taşır. Sunucu & Bulut Altyapısı kapsamında, konteynerlerin yeniden başlatma politikaları (restart policies) sistemin kesintisiz çalışması için doğru konfigüre edilmelidir.
Docker Compose ile Orkestrasyon
Çoklu servis barındıran yapılar için Docker Compose kullanımı operasyonel yükü azaltır. Veritabanı ve web servislerinin aynı sanal ağ üzerinde haberleşmesi, dış dünyaya kapalı bir iç iletişim katmanı oluşturur.
3. PostgreSQL Veritabanı Entegrasyonu ve Veri Güvenliği
Kurumsal uygulamaların omurgasını oluşturan veritabanı yönetimi, yüksek performans ve güvenli veri saklama gerektirir. PostgreSQL kurulumunu Docker konteyneri içerisinde gerçekleştirirken, kalıcı veri depolama (volume persistence) mekanizmasının doğru yapılandırılması hayati önemdedir. Sunucu & Bulut Altyapısı süreçlerinde, veritabanı yedekleme stratejilerinin otomatize edilmesi olası veri kayıplarının önüne geçer.
- Veri dizinlerini (data directory) harici bir disk veya güvenli bir volume üzerine mount edin.
- Güçlü Parola Politikaları ve rol tabanlı erişim kontrolü (RBAC) uygulayın.
- Otomatik yedekleme betikleri (cron jobs) ile veritabanı yedeğini farklı bir konuma periyodik olarak aktarın.
4. Nginx ile Ters Vekil (Reverse Proxy) ve SSL Yapılandırması
İç ağda çalışan servislerin dış dünyaya güvenli bir şekilde sunulması için Nginx ters vekil olarak konumlandırılır. SSL/TLS sertifikalarının entegrasyonu, şifrelenmiş veri transferi sağlayarak kurumsal standartları karşılar. Sunucu & Bulut Altyapısı mimarilerinde doğru yönlendirme kuralları (server blocks) yazmak, hem performans hem de güvenlik açısından temel bir adımdır.
5. Varsayımsal Senaryo: E-Ticaret Platformu İçin Altyapı Entegrasyonu
Orta ölçekli bir e-ticaret girişimi, ani trafik artışlarında performans kaybı yaşamamak ve veri gizliliğini korumak amacıyla Sunucu & Bulut Altyapısı çözümlerini kendi donanımları üzerine kurmaya karar vermiştir. Bu senaryoda, Linux tabanlı tek bir fiziksel sunucu üzerinde Docker Compose kullanılarak hem PostgreSQL veritabanı hem de ana web uygulaması izole konteynerler halinde ayağa kaldırılmıştır. Mimari kurgulanırken, ani yüklenmelerde bellek sızıntılarını önlemek adına her konteynere sıkı RAM ve CPU limitleri atanmıştır. Nginx ters vekil katmanı, gelen HTTP isteklerini güvenli bir şekilde SSL sonlandırması yaparak iç ağdaki konteynerlere yönlendirir. Olası bir donanım arızasında veri kaybını sıfıra indirmek için, günlük veritabanı yedeği şifrelenerek harici bir bulut depolama alanına otomatik olarak aktarılır. Bu hipotetik kurgu, işletmelerin dışa bağımlı kalmadan tam kontrolle operasyon yürütmesini sağlar.
6. Detaylı Uygulama ve Hata Yönetimi Kontrol Listesi
Self-hosting süreçlerinin sürdürülebilir olması, disiplinli bir kontrol listesinin eksiksiz uygulanmasına bağlıdır. Sunucu & Bulut Altyapısı yönetiminde karşılaşılan yaygın hataları önlemek için aşağıdaki adımları sırasıyla takip edebilirsiniz.
- Sistem Güncellemeleri: Çekirdek (kernel) ve paket güncellemelerini test ortamında doğruladıktan sonra üretim sunucusunda uygulayın.
- Docker Kaynak Limitleri: Bellek (RAM) ve işlemci tüketimini izlemek için cgroups yapılandırmalarını ve restart politikalarını gözden geçirin.
- PostgreSQL Bakımı: VACUUM ve REINDEX işlemlerini yoğun saatler dışında çalışacak şekilde planlayın, disk doluluk oranlarını izleyin.
- Ağ İzolasyonu: Veritabanı portlarını dış dünyaya tamamen kapatıp yalnızca uygulama konteynerlerinin erişebileceği köprü ağlar (bridge networks) oluşturun.
- Hata Yönetimi ve Loglama: Konteyner loglarını merkezi bir dizinde toplayarak anormal durumlar için erken uyarı sistemleri kurun.
Kaynaklar
- Sunucu & Bulut Altyapısı — Cy Logic Software