Docker ile Ubuntu’da Nginx üzerine Codeigniter Kurulumu

Ücretli veya ücretsiz bir web uygulama geliştirme çerçevesi olan Codeigniter, web uygulamalarınızın geliştirilmesinde hız, güvenlik ve ölçeklenebilirlik sağlar. Nginx, açık kaynaklı bir HTTP sunucusu olarak web sitelerinin hızlı ve güvenli bir şekilde çalışmasını sağlar.

Bu makale, Ubuntu’da Nginx üzerine Codeigniter Docker ile nasıl kurulacağına dair adımları ele alacak ve bu süreçte işlem kolaylığına yardımcı olacak alt başlıklar içerecektir.

Docker ile Ubuntu'da Nginx üzerine Codeigniter Kurulumu 1

Başlamadan Önce

Bu adımlar, Ubuntu 18.04 LTS sürümü için uygundur. Bu talimatları izlemek için root kullanıcısı olmanız gerekmektedir. Ayrıca, Docker’ın yüklü olduğunu varsayıyoruz. Eğer yüklü değilse, aşağıdaki komut ile yükleyebilirsiniz;

sudo apt-get update
sudo apt-get install docker.io

Adım 1: Nginx Kurulumu

İlk olarak, Nginx’i yüklemek için aşağıdaki komutları terminalde veya SSH bağlantısıyla sunucuya girerek çalıştırın:

sudo apt update
sudo apt install nginx

Yükleme işlemi tamamlandıktan sonra, Nginx’in çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

sudo systemctl status nginx

Eğer Nginx çalışıyorsa, aşağıdaki gibi bir çıktı görmelisiniz:

nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-03-13 10:30:36 UTC; 2 days ago

Şimdi, Nginx yapılandırmasını düzenlemek için aşağıdaki komutu çalıştırın:

sudo nano /etc/nginx/sites-available/default

Bu komut, Nginx yapılandırma dosyasını açacak ve varsayılan ayarlarınızı değiştirmenize olanak tanıyacaktır.

Ardından, “server” bloğunu bulun ve altındaki “location /” bloğunu aşağıdaki gibi değiştirin:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Bu, Nginx’in URL’lerinizi işlemesini ve Codeigniter ile uyumlu hale getirmesini sağlar.

Daha sonra, “server” bloğunun sonuna aşağıdaki kodu ekleyin:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}

Bu, PHP betiklerinin Nginx tarafından işlenmesini sağlar.

Yapılandırma dosyanızı kaydedip kapatmak için Ctrl + X tuşlarına basın ve ardından Y tuşuna basarak değişiklikleri kaydedin.

Son olarak, Nginx’i yeniden başlatmak için aşağıdaki komutu çalıştırın:

sudo systemctl restart nginx

Adım 2: Codeigniter’ın İndirilmesi

Codeigniter’ı indirmek ve kurmak için aşağıdaki adımları takip edin:

cd /var/www/html
sudo wget https://github.com/bcit-ci/CodeIgniter/archive/3.1.11.zip
sudo unzip 3.1.11.zip
sudo mv CodeIgniter-3.1.11 codeigniter

Bu, Codeigniter’ın en son sürümünü indirir ve /var/www/html/codeigniter klasörüne çıkarır.


Adım 3: Docker Kurulumu ve Ayarları

Detaylı Docker Kurulumu Yazısı hazırlanmaktadır.

Docker imajını hazırlamak için aşağıdaki adımları takip edin:

  1. Yeni bir klasör oluşturun ve içine Dockerfile dosyasını ekleyin:
mkdir docker
cd docker
nano Dockerfile
  1. Dockerfile dosyasına aşağıdaki kodları ekleyin:
FROM php:7.2-fpm

RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev \
    && docker-php-ext-install pdo_mysql mysqli gd

WORKDIR /var/www/html

COPY . .

EXPOSE 9000

Bu, PHP-FPM’nin son sürümünü kullanır ve gerekli PHP eklentilerini yükler. Ayrıca, Codeigniter’ın kurulu olduğu dizini /var/www/html klasörüne kopyalar.

  1. Docker imajı oluşturmak için aşağıdaki komutu çalıştırın:
sudo docker build -t codeigniter-nginx .
  1. Docker imajının başarıyla oluşturulduğunu doğrulamak için aşağıdaki komutu çalıştırın:
sudo docker images
  1. Docker konteynerini çalıştırmak için aşağıdaki komutu kullanın:
sudo docker run -p 8080:9000 -v /var/www/html/codeigniter:/var/www/html --name codeigniter-nginx codeigniter-nginx

Bu, Docker konteynerini 8080 portunda çalıştırır ve /var/www/html/codeigniter dizinini Docker konteyneri içindeki /var/www/html dizinine bağlar.


Adım 4: Nginx ve Codeigniter Arasında Ayar Değişiklikleri

Son adım, Nginx ve Codeigniter arasında birkaç ayar değişikliği gerektirir:

  1. Codeigniter config.php dosyasındaki “base_url” ayarını güncelleyin:
$config['base_url'] = 'http://localhost';
  1. Nginx yapılandırma dosyasını düzenleyin ve aşağıdaki kodları ekleyin:
location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
}

Bu, Nginx’in URL’leri işlemesini ve PHP betiklerini doğru şekilde işlemesini sağlar.

  1. Nginx’i yeniden başlatmak için aşağıdaki komutu çalıştırın:
sudo systemctl restart nginx

Artık Codeigniter Docker konteyneriniz çalışıyor! Tarayıcınızda http://localhost:8080 adresine giderek web uygulamanızı test edebilirsiniz.


  1. Ubuntu’da Nginx Üzerine Codeigniter Docker ile Nasıl Kurulur?
  2. Codeigniter ve Nginx ile Güvenli ve Hızlı Web Uygulamaları Nasıl Geliştirilir?
  3. Adım Adım Ubuntu’da Nginx ve Codeigniter Kurulum Rehberi
  4. Docker Kullanarak Codeigniter Web Uygulamalarınızı Nasıl Güvenli Hale Getirirsiniz?
  5. Verimliliği Artırın: Kodlama Sürecinizi Basitleştirin – Codeigniter ve Nginx
  6. Ubuntu’da Docker ile Codeigniter Web Uygulamalarınızın Performansını Nasıl İyileştirirsiniz?
  7. Yeni Başlayanlar İçin Ubuntu, Nginx ve Codeigniter Kullanarak Web Uygulama Geliştirme Rehberi

Adım 5: SSL Sertifikası Ekleme

Web uygulamanızı güvenli hale getirmek için SSL sertifikası eklemeniz önerilir. Let’s Encrypt gibi bir ücretsiz SSL sağlayıcısı kullanarak kolayca yapabilirsiniz.

  1. Certbot’u yüklemek için aşağıdaki komutu çalıştırın:
sudo apt install certbot python3-certbot-nginx
  1. SSL sertifikasını almak için aşağıdaki komutu çalıştırın:
sudo certbot --nginx -d example.com

Burada “example.com” yerine web sitenizin gerçek alan adını kullanın.

  1. Sertifikanızın doğru şekilde yüklendiğini doğrulamak için aşağıdaki komutu kullanabilirsiniz:
sudo certbot certificates

  1. Ubuntu’da Nginx Üzerine Codeigniter Docker ile Güvenlik Nasıl Sağlanır?
  2. SSL Sertifikası Eklemek için Adım Adım Rehber
  3. Let’s Encrypt Kullanarak Web Uygulamanızı Nasıl Güvenli Hale Getirirsiniz?
  4. Güvenlik Önceliği: SSL Sertifikası Ekleme ve Nginx İle Yapılandırma
  5. Ubuntu’da Nginx ve Codeigniter Kullanarak Güvenli Web Uygulamaları Nasıl Geliştirilir?
  6. SSL Sertifikası Eklemeyle Web Uygulamanızı Koruyun: Nginx ve Codeigniter Rehberi
  7. Güvenliği Artırın: SSL Sertifikası Ekleme ve Nginx-Codeigniter Kurulum Rehberi

Bu makalede, Ubuntu’da Nginx üzerine Codeigniter Docker ile nasıl kurulacağına dair adımları ele aldık. Hem geliştiriciler hem de sunucu yöneticileri için faydalı olabilecek kapsamlı bir rehber sunduk. Bu adımları izleyerek, web uygulamalarınızı güvenli, hızlı ve ölçeklenebilir hale getirebilirsiniz.

Umarız bu makale, Ubuntu, Nginx ve Codeigniter kullanarak web uygulama geliştirme sürecinizi basitleştirmenize yardımcı olur.Tamamladığımız bu makale, Ubuntu’da Nginx üzerine Codeigniter Docker ile kurulumunun adımlarını ve SSL sertifikası ekleme işlemini kapsamlı bir şekilde ele aldı. Geliştiricilerin ve sunucu yöneticilerinin işini kolaylaştıracak detaylı bir rehber olarak hazırlandı.

Eğer herhangi bir sorunuz veya yorumunuz varsa, lütfen bizimle paylaşın. Teşekkür ederiz.

Docker ile Ubuntu’da Nginx üzerine Codeigniter Kurulumu Sıkça Sorulan Sorular

Docker nedir?

Docker, yazılım uygulamalarını çevrelerinden bağımsız olarak taşıyabilmenizi sağlayan bir yazılım platformudur. Docker, uygulamaların herhangi bir ortamda sorunsuz çalışmasını sağlar.

Nginx nedir?

Nginx, açık kaynaklı bir web sunucusudur. Nginx, yüksek performanslı, düşük kaynak kullanımı ve yüksek ölçeklenebilirlik özellikleri ile bilinir.

Codeigniter nedir?

Codeigniter, PHP tabanlı bir web uygulama geliştirme çatısıdır. Codeigniter, basit ve kullanımı kolay bir arayüz sunar.

Ubuntu, Nginx ve Codeigniter’ın uyumluluğu hakkında bilgi alabilir miyim?

Ubuntu, Nginx ve Codeigniter birbirleriyle uyumludur. Bu kombinasyon, birçok web uygulamasında kullanılan bir yapıdır.

Yorum yapın