Web geliştirme dünyası, zaman geçtikçe daha karmaşık hale geliyor. Yıllardır geleneksel LAMP yığını (Linux, Apache, MySQL, PHP) sayesinde çok sayıda dinamik web sitesi ve uygulama geliştirildi. Ancak, yazılım geliştirme sürecini daha hızlı, verimli ve taşınabilir hale getirmek için Docker gibi modern araçlar devreye girdi. Peki, Linux üzerinde Docker ve LAMP yığınıyla hızlı bir geliştirme ortamı kurmak nasıl mümkün olur? Bu yazıda, her seviyedeki geliştirici için Docker ile LAMP kurulumu adımlarını ve ipuçlarını keşfedeceğiz.
Neden Docker?
Docker, LAMP yığınına entegre edilerek geliştiricilerin yerel geliştirme ortamlarında tutarlılığı sağlar. Docker konteynerleri ile, her şey tam olarak ihtiyaç duyduğunuz versiyonlar ve bağımlılıklar ile çalışır. Bu, projenizin her zaman doğru bir şekilde çalışmasını sağlar.
LAMP Yığınına Adım Adım Docker Kurulumu
# 1. Docker ve Docker Compose Yükleyin
sudo apt update
sudo apt install docker.io
sudo apt install docker-compose
sudo systemctl enable docker
sudo systemctl start docker
Yukarıdaki komutlar Docker ve Docker Compose'u kurmak için kullanılır. Docker’ın düzgün çalıştığından emin olmak için aşağıdaki komutu yazabilirsiniz:
sudo docker --version
Bu komut, Docker sürümünü gösterecektir.
# 2. Dockerfile ve docker-compose.yml Dosyalarını Hazırlayın
İlk olarak, Dockerfile’ınızı oluşturun. Aşağıdaki basit örnek, Apache ve PHP’yi birleştiren bir Dockerfile’dır:
FROM php:7.4-apache
COPY src/ /var/www/html/
RUN docker-php-ext-install mysqli
Bu Dockerfile, PHP’yi Apache ile birleştirip, `src/` klasöründeki dosyaları konteynerin içine kopyalar. Ayrıca, MySQL için gerekli olan `mysqli` uzantısını da yükler.
Şimdi, bir `docker-compose.yml` dosyası oluşturalım. Bu dosya, MySQL ve Apache/PHP konteynerlerini bir arada çalıştırmamıza olanak tanır.
version: '3.1'
services:
apache:
build: .
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
depends_on:
- mysql
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: my_database
Bu yapılandırma ile, iki konteynerimiz olacak: Apache/PHP ve MySQL. Apache, `src` klasöründeki web dosyalarını sunacak ve MySQL ise veritabanı yönetimini üstlenecek.
# 3. Ortamı Başlatın
docker-compose up -d
Bu komut, tüm konteynerleri başlatır ve arka planda çalışmasına olanak tanır.
# 4. Web Uygulamanızın Çalıştığından Emin Olun
Docker ile LAMP Yığını Kurmanın Avantajları
- Taşınabilirlik: Docker konteynerleri, uygulamanın tüm bağımlılıklarını içerir, bu da uygulamanızın başka bir makinada veya sunucuda sorunsuz bir şekilde çalışmasını sağlar.
- Verimlilik: Docker ile geliştirme ortamları hızlı bir şekilde oluşturulabilir. Böylece zaman kaybetmeden projeye odaklanabilirsiniz.
- Kolay Yönetim: Docker Compose ile, çoklu servisleri (Apache, PHP, MySQL) tek bir komutla yönetebilirsiniz.
Sonuç
---