Linux - Docker kurulumu, Lucee ve Apache Container Yönetimi
Docker, uygulamaların hızlı bir şekilde oluşturulmasına, test edilmesine ve dağıtılmasına olanak tanıyan bir yazılım platformudur. Docker; yazılımı, kitaplıklar, sistem araçları, kod ve çalışma zamanı da dahil olmak üzere yazılımın çalışması için ihtiyaç duyduğu her şeye sahip olan konteynerler adı verilen standart birimler halinde paketler. Bu makalede Linux Ubuntu üzerinde Docker kurulumu, Docker Compose dosyasıyla Lucee ve Apache containerlerinin yönetiminin ve Workcloud ile kurulumunun nasıl yapılacağı tarif edilir.
Docker Kurulumu
Çalışmalara başlamadan önce sunucu üzerinde önceden yapılmış bir docker kurulumu varsa bu kurulum kaldırılmalıdır. Bunun için aşağıdaki komut çalıştırılabilir.
Komut:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
Docker kurulumu için aşağıdaki komutlar sırasıyla çalıştırılmalıdır.
1. Docker paketleri apt paket yöneticisiyle indirilir.
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
2. Apt paket yöneticisine docker reposu tarif edilir.
- echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
- sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo apt-get update
3. Docker paketlerinin kurulumu başlatılır.
- sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. Docker kurulumu doğrulanır.
- docker –version
- docker compose version
Docker ve Compose yönetiminde kullanılan komutlar
- Tüm container listesini çeker.
Komut: docker ds / docker container ls - Docker servisini yeniden başlatır.
Komut: sudo systemctl restart docker - Docker servisini yeniler.
Komut: sudo systemctl reload docker - Compose yeniden başlatır.
Komut: docker compose restart
Komut: docker compose restart apache2 - Container içerisine girer.
Komut: docker compose exec apache bash
Docker kurulumları tamamlandıktan sonra proje dizini oluşturulur, DockerFile, ve docker- compose.yml dosyaları oluşturulur.
1. Docker compose dizini oluşturulur: lucee-apache-docker
2. İçerisinde 2 adet uygulama klasörü oluşturulur ve ayrı ayrı Dockerfile eklenir.
apache
lucee
3. docker-compose.yml dosyası oluşturulur ve container ayarları tarif edilir. Compose dosyasının içeriği aşağıdaki gibi olmalıdır.
services:
apache:
build: ./apache
image: ubuntu/apache2:latest
container_name: apache-app
ports:
- "80:80"
- "443:443"
volumes:
- ./webroot:/var/www
- ./apache/apache2.conf:/etc/apache2/apache2.conf
- ./apache/sites-available:/etc/apache2/sites-available
- ./apache/bash/start-apache.sh:/usr/local/bin/start-apache.sh
- ./apache/bash/enable-sites.sh:/usr/local/bin/enable-sites.sh
entrypoint: ["/usr/local/bin/start-apache.sh","/usr/local/bin/enable-sites.sh"]
depends_on:
- lucee
networks:
- app-network
lucee:
build: ./lucee
image: lucee/lucee:6.0
container_name: lucee-app
ports:
- "8888:8888"
volumes:
- ./webroot:/var/www
- ./lucee/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml
- ./apache/sites-available:/etc/apache2/sites-available
environment:
- LUCEE_ADMIN_PASSWORD=qwerty
networks:
- app-network
networks:
app-network:
driver: bridge
4. Aynı dizinde webroot klasörü oluşturulur ve bu klasör içerisine workcloud isimli bir klasör açılarak, workcloud reposu clone yapılır.
Bu işlemler tamamlandıktan sonra dizin yapısı aşağıdaki gibi olacaktır.
Apache Ayarları
1. apache DockerFile oluşturulur: DockerFile içeriği aşağıdaki gibi olmalıdır;
Aşağıdaki koda göre;
apache2 son sürüm docker image kurulur.
apt, ca-certificates, curl ve git paketleri yüklenir.
mod_cfml dosyaları container içerisine kopyalanır.
a2enmod, ssl, rewrite, proxy ve mod_cfml paketleri aktif edilir.
FROM ubuntu/apache2:latest
RUN apt-get update && apt-get install -y ca-certificates curl git
COPY ./mods-available/mod_cfml.so /usr/lib/apache2/modules/mod_cfml.so
COPY ./mods-available/mod_cfml.load /etc/apache2/mods-available/mod_cfml.load
COPY ./mods-available/mod_cfml.conf /etc/apache2/mods-available/mod_cfml.conf
# Modülleri etkinleştir
RUN a2enmod ssl rewrite proxy proxy_http headers mod_cfml
2. apache2.conf dosyası oluşturularak standart bir apache2.conf dosyası bu dosyanın içeriğine yazılır.
3. apache2 lucee proxy ayarları yapılır: apache2.conf dosyasının en altına aşağıdaki kodlar eklenir.
ProxyPreserveHost On
ProxyPassMatch ^/(.+\.cf[cm])(/.*)?$ http://lucee-app:8888/$1$2
ProxyPassMatch ^/(.+\.cfml)(/.*)?$ http://lucee-app:8888/$1$2
ProxyPassReverse / http://lucee-app:8888/
RequestHeader set X-Forwarded-Proto "http"
Lucee Ayarları
1. Lucee DockerFile oluşturulur: DockerFile içeriği aşağıdaki gibi olmalıdır.
Aşağıdaki koda göre;
Lucee’nin 6.0 sürümü yüklenir.
apt, ca-certificates, curl ve git paketleri yüklenir.
Lucee tomcat konfigürasyon ayarları container içerisine kopyalanır.
FROM lucee/lucee:6.0RUN apt-get update && apt-get install -y ca-certificates curl git
COPY ./tomcat/lib/mod_cfml-valve_v1.1.11.jar /usr/local/tomcat/lib/mod_cfml-valve_v1.1.11.jar
COPY ./tomcat/lib/servlet-filter-utils-1.1.1.jar /usr/local/tomcat/lib/servlet-filter-utils-1.1.1.jar
Tüm klasörleme ve dosyalama sonucunda oluşan dizin yapısı aşağıdaki gibi olmalıdır.
Geri Bildirim
Linux - Docker ve Workcube Kurulumu
Linux üzerinde Docker ve Workcube kurulumu nasıl yapılır?
Linux ve Windows sunucularda Workcube kurmak için Workcloud
Workcloud; Web tabanlı Workcube kurulum uygulamasıdır. Workcube kurmak için öncelikle sunucunuzda /workcloud domainiyle Workcube kurulum kodlarını git üzerinden klonlayarak bir web sitesi oluşturulur. Workcloud ile Workcube adım adım kurulur. Workcloud uygulamasını sunucunuzda kurmak için Sudo veya Powershell komutları kullanabilirsiniz.