Turkticaret.net Üzerinde Django Projesi Canlıya Alma
Kendi bilgisayarımızda geliştirdiğimiz bir Django web projesini paylaşımlı bir hosting ortamında yayına almak, standart bir WordPress kurulumundan biraz daha farklı yapılandırmalar gerektirir.
bugrayalcin.com.tr alan adı üzerinden ilerleyerek, Turkticaret.net altyapısında standart bir hosting paketinden Python destekli sunucuya nasıl geçiş yapılacağını ve projenin nasıl yayına alınacağını adım adım inceleyeceğiz.
1. Hazırlık ve Mevcut Sunucudan Ayrılma
Turkticaret.net üzerinde standart bir web hosting paketi aldığınızda, bu paket varsayılan olarak standart PHP işlemleri için optimize edilmiştir. Django gibi Python tabanlı bir projeyi çalıştırabilmek için projenizi sistemin Python/Node.js destekli özel sunucularına taşımanız gerekir.
Destek ekibinin de belirttiği üzere, bu geçişi sağlamak için öncelikle alan adımızı mevcut standart panelden silmeliyiz.
⚠️ Önemli Uyarı: Bu işleme başlamadan önce mevcut sitenizde bulunan tüm dosyaların ve veritabanlarının yedeğini bilgisayarınıza indirdiğinizden emin olun. Alan adı silindiğinde eski verileriniz kaybolacaktır.
Turkticaret.net müşteri paneline giriş yapın.
Sol menüden Hosting İşlemleri -> Yeni Web Hosting Paketleri adımını izleyin.
Mevcut hosting paketinizin içindeki Tanımlı Domainler listesine gelin.
Önce varsa "Alias (Park)" domainleri, en son ise ana domaininizi (bizim örneğimizde
bugrayalcin.com.tr) İşlemler -> Sil butonunu kullanarak kaldırın.
(Destek ekibinin yönlendirmesi aşağıdaki görselde yer almaktadır.)
2. Python/Node.js Destekli Yeni Sunucuyu Tanımlama
Alan adımızı boşa çıkardıktan sonra, şimdi onu Python kodlarımızı derleyebilecek doğru sunucu mimarisine bağlayacağız.
Aynı hosting yönetimi sayfasında bulunan "Yeni Alan Adı Ekle" veya "Domain Tanımla" butonuna tıklayın.
Karşınıza çıkan pencerede şu kritik seçimleri yapmalısınız:
Eklenecek Alan Adı: Kendi domaininizi yazın (
bugrayalcin.com.tr).Hosting Türü: Linux seçeneğini tercih edin.
Hosting Paneli: İşte en önemli kısım burası! Açılır menüye tıklayın ve standart panel yerine "Python/Nodejs Hosting" seçeneğini işaretleyin.
Bu seçimleri yapıp "Ekle" butonuna bastığınızda, sistem alan adınızı Python altyapısına sahip yeni bir sunucuya atayacaktır.
3. Yeni Sunucu Bilgilerini Kaydetme ve DNS Ayarları
Tanımlama işlemi tamamlandığında sistem size yeni bir başarı penceresi sunacaktır. Bu pencere, uygulamanızın yeni evinin anahtarlarını içerir.
Bu ekranda yer alan:
Panel URL: (Örn:
https://python01.turkticaret.net)Panel Kullanıcı Adı: (Örn:
bug6lyalcicomtr)Panel Şifresi
bilgilerini mutlaka güvenli bir yere kopyalayın. Artık tüm dosya yükleme ve terminal işlemlerinizi bu yeni panel adresi üzerinden gerçekleştireceksiniz.
Ayrıca ekranın alt kısmında yer alan Name Server (DNS) bilgilerine dikkat edin. Yeni sunucuya geçtiğiniz için, alan adınızın ayarlarından Name Server adreslerinizi (ns1, ns2, ns3.turkticaret.net olarak) güncellemeyi unutmayın.
4. Yeni Panele Giriş ve Dosya Yükleme İşlemleri
DNS yönlendirmelerinizi yaptıktan ve kaydettiğiniz bilgilerle yeni Panel URL'nize (python01.turkticaret.net) giriş yaptıktan sonra sizi standart bir cPanel arayüzü karşılayacaktır.
Bu arayüzde Files (Dosyalar) bölümü altındaki File Manager (Dosya Yöneticisi) aracına tıklayın.
Güvenlik açısından, Django dosyalarınızı herkesin erişebildiği
public_htmlklasörüne değil, ana dizinde oluşturacağınız yeni bir klasöre (Örn:django_app) yükleyin.
Projenizi yüklemeden önce lokaldeki settings.py dosyanızda DEBUG = False yaptığınızdan ve terminalden pip freeze > requirements.txt komutu ile kütüphane listenizi çıkardığınızdan emin olun. .venv gibi sanal ortam dosyalarını sunucuya yüklemeyin, sadece kodlarınızı yükleyin.
1. ZIP dosyasını cPanel'e yükleyin
cPanel → File Manager
Şuraya girin:
public_html
veya alt domain kullanıyorsanız onun klasörüne.
Sonra:
Upload
sikayet_projesi.zipyükleYükleme bitince
ZIP'e sağ tık → Extract
Şöyle görünmeli:
public_html/
sikayet_projesi/
manage.py
config/
petitions/
requirements.txt
2. Python uygulaması oluşturun
cPanel → Setup Python App
Görselde zaten var.
Create Application deyin.
Önerilen ayarlar:
Python version
Python 3.12 veya 3.11
(3.13 varsa Django 6 ile uyabilir ama 3.11/3.12 daha güvenli)
Application root
ZIP'in içindeki proje klasörü:
sikayet_projesi
veya tam yol:
/home/kullaniciadi/sikayet_projesi
Application URL
Ana domain:
/
veya alt domain:
sikayet
Startup file
Django için:
passenger_wsgi.py
Application Entry Point
application
Create deyin.
3. Terminal açın
cPanel → Terminal
Görselde var.
Terminalde:
Önce Python app ortamını aktif edin.
cPanel oluşturunca size şu tip komut verir:
source /home/USERNAME/virtualenv/sikayet_projesi/3.12/bin/activate
Onu çalıştırın.
4. Requirements kurun
Terminal:
cd ~/sikayet_projesi
Sonra:
pip install -r requirements.txt
Kurulacak paketler:
Django
djangorestframework
jazzmin
Pillow
corsheaders
5. passenger_wsgi.py oluşturun
Proje kökünde oluşturun:
sikayet_projesi/passenger_wsgi.py
İçeriği:
import os
import sys
sys.path.insert(0, os.path.dirname(__file__))
os.environ.setdefault(
"DJANGO_SETTINGS_MODULE",
"config.settings"
)
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
6. Static dosyaları toplayın
Bu adım önemli.
Terminal:
python manage.py collectstatic
Sorarsa:
yes
7. Migration kontrolü
SQLite dosyanız ZIP içinde mevcut:
db.sqlite3
Yine de çalıştırın:
python manage.py migrate
8. Superuser oluşturun (gerekiyorsa)
Admin hesabınız yoksa:
python manage.py createsuperuser
9. .htaccess kontrolü
Bazı hostinglerde gerekebilir.
public_html/.htaccess
şu şekilde olabilir:
PassengerAppRoot /home/USERNAME/sikayet_projesi
PassengerPython /home/USERNAME/virtualenv/sikayet_projesi/3.12/bin/python
10. Python App'i restart edin
Setup Python App →
Restart
butonuna basın.
11. Siteyi test edin
Tarayıcıda:
bugrayalcin.com.tr
Admin:
bugrayalcin.com.tr/admin
Projede dikkatimi çeken birkaç nokta:
1. DEBUG=False
Bu doğru.
2. ALLOWED_HOSTS=["*"]
Çalışır ama güvenlik için sonra bunu değiştirin:
ALLOWED_HOSTS = [
"bugrayalcin.com.tr",
"www.bugrayalcin.com.tr"
]
3. Gmail SMTP
.env dosyanız var.
Hostingte bunun çalışması için .env içine gerçek bilgiler girin:
EMAIL_HOST_USER=mail@gmail.com
EMAIL_HOST_PASSWORD=uygulama_sifresi


Yorumlar
Yorum Gönder