Takip et

Railo CFML Motorunu Debian 7 veya Ubuntu 13 VPS Üzerinde Tomcat ve Apache ile Kurulumu

Railo CFML Motorunu Debian 7 veya Ubuntu 13 VPS Üzerinde Tomcat ve Apache ile Kurulumu Giriş Günümüz web geliştirme dünyasında farklı progr

Railo CFML Motorunu Debian 7 veya Ubuntu 13 VPS Üzerinde Tomcat ve Apache ile Kurulumu

Giriş

Günümüz web geliştirme dünyasında farklı programlama dilleri ve platformlar önemli bir yer tutmaktadır. Bunlardan biri de, özellikle dinamik web uygulamaları geliştirmek için kullanılan CFML (ColdFusion Markup Language) dilidir. CFML, kolay öğrenilebilir sözdizimi ve güçlü özellikleriyle bilinir. Bu makalede, CFML uygulamalarını çalıştırmak için popüler bir açık kaynak motoru olan Railo’nun, Debian 7 (Wheezy) veya Ubuntu 13 (Saucy Salamander) işletim sistemine sahip bir Sanal Özel Sunucu (VPS) üzerinde Apache web sunucusu ve Apache Tomcat uygulama sunucusu ile nasıl kurulacağını adım adım detaylı bir şekilde ele alacağız. Bu kılavuz, eski ama hala belirli projelerde veya öğrenme amaçlı kullanılabilecek bu sistemler üzerinde Railo kurulumu yapmak isteyenler için kapsamlı bir rehber niteliğindedir.

CFML ve Railo Nedir?

CFML, Adobe tarafından geliştirilen ColdFusion platformunun temelini oluşturan bir betik dilidir. Sunucu tarafında çalışan bu dil, veritabanı etkileşimleri, dosya işlemleri, e-posta gönderimi gibi birçok yaygın web uygulamasını kolayca geliştirmeye olanak tanır. Başlangıçta ticari bir ürün olan ColdFusion’ın açık kaynak alternatifi olarak Railo geliştirilmiştir. Railo, Java tabanlı bir CFML motoru olup, ColdFusion’ın birçok özelliğini desteklerken aynı zamanda performans ve esneklik sunar. Railo, 2015 yılında Lucee adıyla fork edilmiş olsa da, Railo’nun kendisi hala belirli sistemlerde aktif olarak kullanılmaktadır ve bu kılavuz, spesifik olarak Railo kurulumuna odaklanmaktadır.

Neden Railo?

Railo, açık kaynak olması, güçlü performansı ve ColdFusion ile yüksek uyumluluğu sayesinde birçok geliştirici için cazip bir seçenektir. Java Sanal Makinesi (JVM) üzerinde çalıştığı için platformlar arası uyumluluk sunar ve Java ekosisteminin geniş araç ve kütüphane desteğinden faydalanabilir. Ayrıca, Tomcat gibi yaygın ve güvenilir bir uygulama sunucusu ile entegre çalışabilmesi, onu kurumsal düzeyde uygulamalar için de uygun kılar. Bu kurulum, bir web sunucusu (Apache) ile bir uygulama sunucusu (Tomcat) arasında köprü kurarak, statik içeriklerin Apache tarafından daha verimli sunulmasını, dinamik CFML içeriğinin ise Railo tarafından Tomcat aracılığıyla işlenmesini sağlar.

Debian 7 / Ubuntu 13 Seçimi

Bu makale, özellikle Debian 7 veya Ubuntu 13 gibi daha eski işletim sistemi sürümlerini hedeflemektedir. Bu seçim, belirli eski projelerin gereksinimlerini karşılamak veya eski donanımlarda yeni kurulumlar yapmak zorunda kalan kullanıcılar için önemlidir. Modern Linux dağıtımlarında kurulum süreçleri benzer olsa da, paket isimleri, versiyonlar ve servis yönetim komutları (özellikle systemd yerine sysvinit kullanılması) farklılık gösterebilir. Bu kılavuz, bu eski sürümlerin kendine özgü gereksinimlerini dikkate alarak adım adım talimatlar sunacaktır.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olunuz:

VPS Erişimi

* Bir VPS Hesabı: Debian 7 veya Ubuntu 13 işletim sistemi kurulu bir VPS’e sahip olmanız gerekmektedir.
* SSH Erişimi: VPS’inize root kullanıcısı olarak veya sudo yetkisine sahip bir kullanıcı ile SSH üzerinden erişebilmelisiniz. Tüm komutlar root kullanıcısı ile veya sudo önekiyle çalıştırılacaktır.

Temel Linux Bilgisi

* Temel Linux komut satırı bilgisi (dizinler arası gezinme, dosya işlemleri, metin düzenleyiciler gibi) faydalı olacaktır.

Alan Adı

* Kurulumu yapacağınız sunucuya yönlendirilmiş bir alan adınızın olması (örneğin, ornek.com) veya en azından sunucunun IP adresini bilmeniz gerekmektedir. Bu, sanal host yapılandırması için önemlidir.

Sistem Güncellemesi ve Temel Araçların Kurulumu

Herhangi bir kuruluma başlamadan önce, sisteminizin güncel olduğundan ve gerekli temel araçların yüklü olduğundan emin olmak en iyi uygulamadır.

Sistem Güncellemesi

VPS’inize SSH ile bağlandıktan sonra, paket listesini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:

sudo apt-get update
sudo apt-get upgrade -y

Bu komutlar, sisteminizin güvenliğini ve kararlılığını artırır ve daha sonra yükleyeceğimiz yazılımların bağımlılık sorunları yaşamasını engeller.

Temel Araçlar

Bazı temel araçlar, kurulum ve yapılandırma süreçlerinde faydalı olacaktır. Özellikle unzip ve wget gibi araçlar, dosyaları indirmek ve çıkarmak için gereklidir.

sudo apt-get install -y unzip wget curl nano

* unzip: Sıkıştırılmış .zip dosyalarını açmak için.
* wget: İnternet üzerinden dosya indirmek için.
* curl: Web istekleri yapmak ve dosya indirmek için.
* nano: Basit bir komut satırı metin düzenleyicisi (isteğe bağlı, vi veya vim de kullanabilirsiniz).

Java Geliştirme Kitinin (JDK) Kurulumu

Railo, bir Java uygulaması olduğu için çalışmak için bir Java Sanal Makinesi (JVM) gerektirir. Bu nedenle, bir Java Geliştirme Kiti (JDK) kurmamız şarttır.

Oracle JDK vs OpenJDK

Java’nın iki ana dağıtımı vardır: Oracle tarafından sağlanan Oracle JDK ve açık kaynaklı bir alternatif olan OpenJDK. Bu eski sistemlerde genellikle OpenJDK daha kolay kurulabilir ve çoğu durumda yeterlidir. Bu kılavuzda OpenJDK kurulumunu tercih edeceğiz. Railo’nun bu versiyonu için Java 7 genellikle önerilir.

OpenJDK Kurulumu

Debian 7 ve Ubuntu 13 depolarında genellikle OpenJDK 7 bulunur. Kurulum için aşağıdaki komutu kullanın:

sudo apt-get install -y openjdk-7-jdk

Kurulum tamamlandıktan sonra, Java’nın doğru şekilde yüklendiğini kontrol edebilirsiniz:

java -version
javac -version

Çıktıda “openjdk version 1.7.x” gibi bir ibare görmelisiniz.

JAVA_HOME Ortam Değişkeni

Bazı Java uygulamaları ve scriptleri, Java kurulum dizinini belirtmek için JAVA_HOME ortam değişkenine ihtiyaç duyar. Bu değişkeni ayarlamak için, öncelikle Java’nın nereye kurulduğunu bulmamız gerekir. Genellikle /usr/lib/jvm/java-7-openjdk-amd64 (veya benzeri bir dizin) altına kurulur.

Java’nın tam yolunu bulmak için:

sudo update-alternatives --config java

Bu komut size Java’nın yüklü olduğu yolları gösterecektir. En uygun olanını seçin veya yolunu not alın. Örneğin, /usr/lib/jvm/java-7-openjdk-amd64/jre.

Şimdi JAVA_HOME değişkenini ayarlayalım. Bu değişkeni kalıcı hale getirmek için /etc/environment dosyasına eklemek en iyisidir:

sudo nano /etc/environment

Dosyanın sonuna aşağıdaki satırı ekleyin (kendi Java yolunuzla güncellediğinizden emin olun):

JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"

Değişiklikleri kaydedin ve dosyadan çıkın (Ctrl+O, Enter, Ctrl+X). Ardından, ortam değişkenini mevcut oturumunuzda etkinleştirmek için:

source /etc/environment

Doğrulama için:

echo $JAVA_HOME

Doğru yolu görmelisiniz.

Apache Tomcat Kurulumu

Railo bir WAR (Web Application Archive) dosyası olarak dağıtılır ve çalışmak için bir servlet container’a ihtiyaç duyar. Apache Tomcat, bu amaçla en yaygın kullanılan açık kaynaklı sunuculardan biridir.

Tomcat İndirme

Tomcat’i doğrudan Apache web sitesinden indireceğiz. Bu eski sistemler için Tomcat 7 sürümü uygundur. En son Tomcat 7 sürümünü indirmek için Apache Tomcat arşiv sayfasına gidin (örneğin, archive.apache.org/dist/tomcat/tomcat-7/v7.0.x/bin/). En son 7.0.x sürümünü seçin. Bu kılavuz için 7.0.99 sürümünü kullanacağız.

cd /opt
sudo wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.99/bin/apache-tomcat-7.0.99.tar.gz

/opt dizini, isteğe bağlı yazılımlar için standart bir konumdur.

Tomcat Kurulum Dizini Oluşturma

İndirdiğimiz Tomcat arşivini /opt dizinine çıkaracağız ve kolay yönetim için sembolik bir bağ oluşturacağız.

sudo tar -xvzf apache-tomcat-7.0.99.tar.gz
sudo mv apache-tomcat-7.0.99 tomcat7
sudo ln -s tomcat7 latest-tomcat7

Artık Tomcat dosyaları /opt/tomcat7 dizininde bulunuyor.

Tomcat Kullanıcısı Oluşturma

Güvenlik nedenleriyle, Tomcat’i root kullanıcısı yerine ayrı, yetkisiz bir kullanıcı altında çalıştırmak en iyi uygulamadır.

sudo useradd -r -m -U -d /opt/tomcat7 -s /bin/false tomcat7

* -r: Sistem kullanıcısı oluşturur.
* -m: Ev dizini oluşturur.
* -U: Kullanıcı ile aynı adı taşıyan bir grup oluşturur.
* -d /opt/tomcat7: Ev dizinini belirtir.
* -s /bin/false: Kabuk erişimini devre dışı bırakır.

Şimdi Tomcat dizininin sahipliğini bu yeni kullanıcıya verin:

sudo chown -R tomcat7:tomcat7 /opt/tomcat7
sudo chmod -R u+rwx,g+rx,o+rx /opt/tomcat7/conf
sudo chmod -R u+rwx,g+r,o+r /opt/tomcat7/webapps
sudo chmod -R u+rwx,g+r,o+r /opt/tomcat7/work
sudo chmod -R u+rwx,g+r,o+r /opt/tomcat7/temp
sudo chmod -R u+rwx,g+r,o+r /opt/tomcat7/logs

Tomcat Başlatma Scripti (SysVinit)

Debian 7 ve Ubuntu 13, servisleri yönetmek için sysvinit sistemini kullanır. Tomcat’i bir servis olarak başlatmak, durdurmak ve yeniden başlatmak için bir init.d scripti oluşturacağız.

sudo nano /etc/init.d/tomcat7

Aşağıdaki içeriği dosyaya yapıştırın:

#!/bin/bash
### BEGIN INIT INFO

Provides: tomcat7

Required-Start: $network $syslog

Required-Stop: $network $syslog

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Start and stop the tomcat7 servlet container

Description: Tomcat 7 is a servlet container developed by the Apache Software Foundation.

### END INIT INFO

Environment variables

export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" # Java yolunuzu kontrol edin! export CATALINA_HOME="/opt/tomcat7" export CATALINA_BASE="/opt/tomcat7" export TOMCAT_USER="tomcat7" export CLASSPATH="$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar" case "$1" in start) echo "Starting Tomcat 7..." su -p -s /bin/sh $TOMCAT_USER $CATALINA_HOME/bin/startup.sh echo "Tomcat 7 started." ;; stop) echo "Stopping Tomcat 7..." su -p -s /bin/sh $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh echo "Tomcat 7 stopped." ;; restart) echo "Restarting Tomcat 7..." su -p -s /bin/sh $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh sleep 5 su -p -s /bin/sh $TOMCAT_USER $CATALINA_HOME/bin/startup.sh echo "Tomcat 7 restarted." ;; status) PID=$(ps -ef | grep $CATALINA_HOME | grep -v grep | awk '{print $2}') if [ -z "$PID" ]; then echo "Tomcat 7 is not running." else echo "Tomcat 7 is running (PID: $PID)." fi ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0

JAVA_HOME yolunun doğru olduğundan emin olun! Dosyayı kaydedin ve çıkın. Ardından, scripti çalıştırılabilir yapın ve sistem başlangıcında otomatik başlaması için kaydedin:

sudo chmod +x /etc/init.d/tomcat7
sudo update-rc.d tomcat7 defaults

Tomcat Servisini Başlatma ve Durdurma

Şimdi Tomcat servisini başlatabiliriz:

sudo service tomcat7 start

Tarayıcınızda sunucunuzun IP adresini veya alan adınızı 8080 portuyla (http://your_ip_address:8080) ziyaret ederek Tomcat’in varsayılan karşılama sayfasını görmelisiniz. Eğer görmüyorsanız, güvenlik duvarınızı (varsa) kontrol edin ve 8080 portuna izin verin.

Servisi durdurmak için: sudo service tomcat7 stop
Yeniden başlatmak için: sudo service tomcat7 restart
Durumunu kontrol etmek için: sudo service tomcat7 status

Tomcat Yönetim Paneli (İsteğe Bağlı)

Tomcat’in yönetim panellerini kullanmak isterseniz, /opt/tomcat7/conf/tomcat-users.xml dosyasını düzenlemeniz gerekir. Ancak güvenlik nedeniyle, üretim ortamlarında bu panellerin erişimini kısıtlamak veya tamamen kaldırmak en iyisidir.

sudo nano /opt/tomcat7/conf/tomcat-users.xml

etiketi içine aşağıdaki satırları ekleyin, güvenli bir kullanıcı adı ve şifre belirlediğinizden emin olun:



Tomcat’i yeniden başlatın: sudo service tomcat7 restart. Artık http://your_ip_address:8080/manager/html adresinden yönetici panelinize erişebilirsiniz.

Apache HTTP Sunucusunun Kurulumu

Apache HTTP Sunucusu, statik dosyaları (HTML, CSS, JavaScript, resimler) sunmak ve gelen istekleri Tomcat’e yönlendirmek için kullanılacaktır.

Apache Kurulumu

sudo apt-get install -y apache2

Kurulum tamamlandıktan sonra, tarayıcınızda sunucunuzun IP adresini veya alan adınızı ziyaret ederek Apache’nin varsayılan “It works!” sayfasını görmelisiniz.

Apache Modüllerini Etkinleştirme

Apache’nin Tomcat ile iletişim kurabilmesi ve URL’leri yeniden yazabilmesi için bazı modülleri etkinleştirmemiz gerekecek. mod_proxy_ajp modülü, Apache’nin AJP (Apache JServ Protocol) kullanarak Tomcat ile konuşmasını sağlar. mod_rewrite ise URL yeniden yazma kuralları için gereklidir.

sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo service apache2 restart

Railo CFML Motorunun Kurulumu

Şimdi Railo motorunu Tomcat’e bir web uygulaması olarak dağıtma zamanı.

Railo WAR Dosyasını İndirme

Railo’nun WAR (Web Application Archive) dosyasını indireceğiz. Railo’nun eski sürümleri için getrailo.org adresi artık mevcut değil. Alternatif olarak, Railo’nun GitHub sayfasından veya diğer arşivlerden uygun bir sürüm bulmanız gerekebilir. Bu örnek için Railo 4.2.1 sürümünü kullanacağız.

cd /opt
sudo wget https://cdn.lucee.org/railo-4.2.1.000.war -O Railo.war

Not: Yukarıdaki URL, Lucee’nin CDN’inden Railo WAR dosyasını çekmektedir. Eğer bu URL çalışmazsa, başka bir güvenilir kaynaktan Railo 4.2.1 WAR dosyasını bulmanız gerekebilir.

Railo’yu Tomcat’e Dağıtma

İndirdiğimiz Railo.war dosyasını Tomcat’in webapps dizinine kopyalamamız yeterlidir. Tomcat, bu dosyayı otomatik olarak açacak ve bir web uygulaması olarak dağıtacaktır.

sudo mv /opt/Railo.war /opt/tomcat7/webapps/ROOT.war
sudo chown tomcat7:tomcat7 /opt/tomcat7/webapps/ROOT.war

ROOT.war olarak adlandırmak, Railo’nun Tomcat’in varsayılan kök uygulaması (/) olarak çalışmasını sağlar. Eğer farklı bir bağlamda çalıştırmak isterseniz (örneğin /railo), dosyayı railo.war olarak adlandırıp /opt/tomcat7/webapps/ dizinine kopyalayabilirsiniz. Ancak bu makalede kök uygulaması olarak devam edeceğiz.

Şimdi Tomcat’i yeniden başlatın ki Railo uygulamasını dağıtabilsin:

sudo service tomcat7 restart

Birkaç dakika bekleyin. Tomcat, ROOT.war dosyasını /opt/tomcat7/webapps/ROOT/ dizinine açacaktır. Bu dizini kontrol ederek dosyaların açılıp açılmadığını görebilirsiniz:

ls -l /opt/tomcat7/webapps/ROOT/

Eğer dosyaları görüyorsanız, Railo başarıyla dağıtılmıştır.

Apache ve Tomcat Arasında Bağlantı Kurulumu (Mod_JK ile)

Apache’nin gelen web isteklerini, özellikle .cfm, .cfc gibi CFML uzantılı olanları Tomcat’e yönlendirmesi için bir bağlayıcıya ihtiyacımız var. mod_jk bu amaçla yaygın olarak kullanılan bir Apache modülüdür.

Mod_JK Nedir?

mod_jk, Apache HTTP Sunucusu ile Tomcat gibi Java servlet container’ları arasında AJP (Apache JServ Protocol) kullanarak iletişim kurmasını sağlayan bir modüldür. AJP, HTTP’ye göre daha verimli bir protokoldür çünkü istek ve yanıt verilerini daha az overhead ile iletir.

Mod_JK Kurulumu

mod_jk modülünü sistemin paket yöneticisi aracılığıyla kurabiliriz:

sudo apt-get install -y libapache2-mod-jk

Bu komut, mod_jk‘yı kuracak ve Apache yapılandırma dizininde gerekli dosyaları oluşturacaktır.

Mod_JK Yapılandırması

mod_jk‘nın çalışabilmesi için workers.properties ve uriworkermap.properties dosyalarını yapılandırmamız gerekir.

1. workers.properties Oluşturma:
Bu dosya, mod_jk‘nın hangi Tomcat örnekleriyle iletişim kuracağını tanımlar.

sudo nano /etc/apache2/workers.properties

Aşağıdaki içeriği ekleyin:

# Define a list of workers that will be used by the jk connector
worker.list=worker1

Define worker1

worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 worker.worker1.connection_pool_size=10 worker.worker1.connection_pool_timeout=600

* worker.list=worker1: Tek bir worker (Tomcat örneği) tanımladığımızı belirtir.
* worker.worker1.port=8009: Tomcat’in AJP portudur. Bu port /opt/tomcat7/conf/server.xml dosyasında tanımlıdır.
* worker.worker1.host=localhost: Tomcat’in yerel makinede çalıştığını belirtir.
* worker.worker1.type=ajp13: AJP13 protokolünü kullandığımızı belirtir.

2. uriworkermap.properties Oluşturma:
Bu dosya, hangi URL desenlerinin hangi worker’a (yani Tomcat’e) yönlendirileceğini belirler.

sudo nano /etc/apache2/uriworkermap.properties

Aşağıdaki içeriği ekleyin:

# Map all CFML files to worker1
/*.cfm=worker1
/*.cfc=worker1
/*.cfml=worker1
/*.jsp=worker1
/*.do=worker1

Map Railo admin panel to worker1

/railo-context/*=worker1

Map the root context to worker1

/=worker1

Bu yapılandırma, .cfm, .cfc, .cfml, .jsp ve .do uzantılı tüm istekleri ile /railo-context/ ve kök dizin (/) altındaki tüm istekleri worker1‘e (yani Tomcat’e) yönlendirecektir.

3. jk.conf Yapılandırması:
mod_jk‘nın bu yapılandırma dosyalarını okuyabilmesi için Apache’nin ana yapılandırmasına eklememiz gerekir. Genellikle mod_jk paketi /etc/apache2/mods-available/jk.conf dosyasını oluşturur. Bu dosyayı düzenleyerek workers.properties ve uriworkermap.properties yollarını belirteceğiz.

sudo nano /etc/apache2/mods-available/jk.conf

Varsayılan olarak bu dosya zaten bazı ayarlar içerebilir. Aşağıdaki satırların mevcut olduğundan veya eklediğinizden emin olun:


    JkWorkersFile /etc/apache2/workers.properties
    JkLogFile /var/log/apache2/mod_jk.log
    JkLogLevel info
    JkMountFile /etc/apache2/uriworkermap.properties
    JkMount /* worker1 # Bu satır, tüm istekleri worker1'e yönlendirir. Ancak uriworkermap.properties kullandığımız için bu satır gereksizdir ve hatta çakışabilir. Yorum satırı yapın veya silin.

Önemli: JkMount /* worker1 satırı, uriworkermap.properties dosyasının amacını geçersiz kılabilir. Genellikle JkMountFile kullanılıyorsa, bu satıra gerek yoktur. Güvenli tarafta olmak için bu satırı yorum satırı yapın veya silin. Eğer sadece belirli URL’leri yönlendirmek istiyorsanız JkMountFile daha esnektir.

Apache’yi Yeniden Başlatma

Tüm mod_jk yapılandırmalarını etkinleştirmek için Apache’yi yeniden başlatın:

sudo service apache2 restart

Herhangi bir hata olup olmadığını kontrol etmek için Apache loglarına bakabilirsiniz: sudo tail -f /var/log/apache2/error.log.

Apache Sanal Host Yapılandırması

Alan adınız üzerinden Railo uygulamanıza erişmek için Apache’de bir sanal host yapılandırmanız gerekmektedir.

Sanal Host Dosyası Oluşturma

Alan adınız için yeni bir sanal host yapılandırma dosyası oluşturun. Örneğin, ornek.com için:

sudo nano /etc/apache2/sites-available/ornek.com.conf

Sanal Host İçeriği

Aşağıdaki içeriği dosyaya yapıştırın. ServerName ve ServerAlias kısımlarını kendi alan adınızla değiştirmeyi unutmayın.


    ServerAdmin webmaster@ornek.com
    ServerName ornek.com
    ServerAlias www.ornek.com

    DocumentRoot /opt/tomcat7/webapps/ROOT/

    ErrorLog ${APACHE_LOG_DIR}/ornek.com-error.log
    CustomLog ${APACHE_LOG_DIR}/ornek.com-access.log combined

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    

    # JkMount yapılandırmasını buraya da ekleyebilirsiniz
    # Ancak uriworkermap.properties kullanıldığı için bu gerekli değildir
    # ve hatta çakışabilir. Yorum satırı yapın veya silin.
    # JkMount /* worker1
    # JkMount /railoadmin/* worker1

    # Eğer uriworkermap.properties kullanıyorsanız, buraya özel bir JkMount eklemenize gerek yoktur.
    # Sadece statik dosyaları Apache'nin kendisinin sunmasını istiyorsanız
    # ve sadece CFML isteklerini Tomcat'e yönlendirmek istiyorsanız,
    # uriworkermap.properties dosyasındaki kurallar yeterli olacaktır.

Not: DocumentRoot olarak /opt/tomcat7/webapps/ROOT/ belirtilmiştir. Bu, Apache’nin statik dosyaları doğrudan bu dizinden sunacağı anlamına gelir. JkMount satırları, uriworkermap.properties kullanıldığı için genellikle gereksizdir ve çakışmalara yol açabilir. Bu satırları yorum satırı yapın veya kaldırın.

Sanal Hostu Etkinleştirme

Yeni sanal hostunuzu etkinleştirin ve Apache’yi yeniden başlatın:

sudo a2ensite ornek.com.conf
sudo service apache2 restart

Railo Yönetim Paneli Erişimi ve Temel Ayarlar

Artık Railo’nun yönetim paneline erişebiliyor olmalısınız.

Web Yönetim Paneli Erişimi

Tarayıcınızda alan adınızı ziyaret edin: http://ornek.com. Eğer her şey doğru yapılandırıldıysa, Railo’nun varsayılan karşılama sayfasını veya Railo Yönetim Paneli’ne yönlendiren bir sayfayı görmelisiniz.

Railo sunucu yönetim paneline erişmek için: http://ornek.com/railo-context/admin/server.cfm
Railo web yönetim paneline erişmek için: http://ornek.com/railo-context/admin/web.cfm

İlk erişiminizde, sizden bir yönetici şifresi belirlemeniz istenecektir.

Admin Şifresi Belirleme

Railo yönetim paneline ilk kez eriştiğinizde, bir sunucu yöneticisi şifresi belirlemeniz gerekecektir. Güçlü bir şifre seçtiğinizden emin olun ve güvenli bir yerde saklayın.

Veritabanı Bağlantıları

Railo yönetim paneli üzerinden veritabanı bağlantılarını (Datasources) yapılandırabilirsiniz. Örneğin, MySQL veya PostgreSQL veritabanlarına bağlanmak için gerekli JDBC sürücülerini yükleyip bağlantı ayarlarını yapabilirsiniz.

1. JDBC Sürücüsünü İndirin: Örneğin, MySQL için mysql-connector-java.jar dosyasını indirin.
2. Sürücüyü Yükleyin: İndirdiğiniz .jar dosyasını /opt/tomcat7/lib/ dizinine kopyalayın.
3. Tomcat’i Yeniden Başlatın: sudo service tomcat7 restart.
4. Railo Admin Paneli: Web Admin paneline gidin (http://ornek.com/railo-context/admin/web.cfm), “Datasources” bölümüne tıklayın ve yeni bir veritabanı bağlantısı oluşturun.

Bellek Ayarları

Railo’nun performansı için Tomcat’e ayrılan bellek miktarını ayarlamak önemlidir. Bu ayarlar, /opt/tomcat7/bin/catalina.sh dosyasında veya init.d scriptinizdeki JAVA_OPTS değişkeninde yapılır.

init.d scriptini düzenleyerek JAVA_OPTS‘u ekleyebilirsiniz:

sudo nano /etc/init.d/tomcat7

export CLASSPATH satırından sonra aşağıdaki satırı ekleyin:

export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"

Bu, Tomcat’e 1GB maksimum heap belleği ve 256MB kalıcı (PermGen) alan ayırır. Sunucunuzun RAM’ine ve uygulama ihtiyaçlarınıza göre bu değerleri ayarlayabilirsiniz. Değişikliklerden sonra Tomcat’i yeniden başlatmayı unutmayın.

Örnek CFML Uygulaması Testi

Railo’nun düzgün çalıştığını doğrulamak için basit bir CFML dosyası oluşturalım.

Test Dosyası Oluşturma

/opt/tomcat7/webapps/ROOT/ dizininde test.cfm adında bir dosya oluşturun:

sudo nano /opt/tomcat7/webapps/ROOT/test.cfm

Aşağıdaki CFML kodunu dosyaya yapıştırın:




    Railo CFML Test Sayfası


    
    
        

Sunucu Tarihi ve Saati: #DateFormat(Now())# #TimeFormat(Now())#

CFML Motoru Versiyonu: #server.coldfusion.productversion#

İşletim Sistemi: #server.os.name# #server.os.version#

Bu sayfa, Railo CFML motoru tarafından işlenmiştir.

Dosyayı kaydedin ve çıkın.

Tarayıcıdan Test Etme

Tarayıcınızda http://ornek.com/test.cfm adresini ziyaret edin. Eğer yukarıdaki kodun çıktısını görüyorsanız (güncel tarih, saat, Railo versiyonu vb.), Railo CFML motoru Apache ve Tomcat ile birlikte VPS’inizde başarıyla kurulmuş ve çalışıyor demektir.

Güvenlik İpuçları

Bir üretim ortamında Railo ve Tomcat kullanırken güvenlik her zaman öncelikli olmalıdır.

Güçlü Şifreler

Railo ve Tomcat yönetim panelleri için her zaman güçlü, karmaşık şifreler kullanın.

Erişim Kısıtlamaları

* Yönetim Panelleri: Railo ve Tomcat yönetim panellerine erişimi sadece belirli IP adresleriyle (örneğin, kendi ofis IP’niz) kısıtlayın. Apache yapılandırmasında veya blokları içinde Allow from yönergeleri kullanabilirsiniz.
* Gereksiz Portları Kapatın: Güvenlik duvarınızda (iptables veya ufw) sadece gerekli portları (80, 443, 22) açık tutun. Tomcat’in AJP portu (8009) ve HTTP portu (8080) sadece localhost‘tan erişilebilir olmalıdır.
* Dizin İzinleri: Tomcat ve Railo dosyalarının doğru izinlere sahip olduğundan emin olun. Özellikle webapps dizini altındaki dosyaların yazma izinleri sadece Tomcat kullanıcısı için olmalıdır.

Güncellemeler

İşletim sistemi, Java, Apache ve Tomcat’in güvenlik güncellemelerini düzenli olarak takip edin ve uygulayın. Bu, bilinen güvenlik açıklarının kapatılmasına yardımcı olur.

Yedeklemeler

Düzenli olarak Railo uygulamalarınızın, veritabanlarınızın ve yapılandırma dosyalarınızın yedeklerini alın.

Sorun Giderme

Kurulum sırasında veya sonrasında sorunlarla karşılaşmanız olasıdır. İşte bazı yaygın sorunlar ve çözüm önerileri:

Log Dosyalarını Kontrol Etme

Sorun gidermenin ilk adımı her zaman log dosyalarını kontrol etmektir:

* Apache Logları: /var/log/apache2/error.log ve /var/log/apache2/access.log
* Tomcat Logları: /opt/tomcat7/logs/catalina.out, /opt/tomcat7/logs/localhost_access_log.txt ve diğer .log dosyaları.
* Mod_JK Logları: /var/log/apache2/mod_jk.log
* Railo Logları: /opt/tomcat7/webapps/ROOT/WEB-INF/railo/logs/ altındaki dosyalar.

Bu log dosyaları, hatanın kaynağı hakkında değerli ipuçları sağlayabilir.

Port Çakışmaları

* Apache ve Tomcat: Apache varsayılan olarak 80 portunu kullanır. Tomcat’in HTTP portu 8080’dir ve AJP portu 8009’dur. Bu portların başka bir servis tarafından kullanılmadığından emin olun.
* sudo netstat -tulpn | grep LISTEN komutunu kullanarak hangi portların hangi servisler tarafından dinlendiğini görebilirsiniz.

Dosya İzinleri

Tomcat kullanıcısının Railo ve Tomcat dizinlerine ve dosyalarına doğru okuma/yazma izinlerine sahip olduğundan emin olun. Özellikle webapps altındaki Railo dizinleri ve log dizinleri yazılabilir olmalıdır.

* sudo chown -R tomcat7:tomcat7 /opt/tomcat7
* sudo chmod -R u+rwx,g+rx,o+rx /opt/tomcat7/conf
* sudo chmod -R u+rwx,g+r,o+r /opt/tomcat7/webapps (ve diğer çalışma dizinleri)

JAVA_HOME Ayarı

JAVA_HOME ortam değişkeninin doğru ayarlandığından ve Tomcat başlatma scripti tarafından erişilebilir olduğundan emin olun.

Railo Yönetim Paneli Erişilemiyor

uriworkermap.properties dosyasındaki /railo-context/=worker1 kuralının doğru olduğundan emin olun.
* Tomcat’in çalıştığından emin olun (sudo service tomcat7 status).
* Apache’nin çalıştığından emin olun (sudo service apache2 status).

Sonuç

Bu kapsamlı rehberde, Debian 7 veya Ubuntu 13 işletim sistemi kurulu bir VPS üzerinde Railo CFML motorunu Apache HTTP Sunucusu ve Apache Tomcat uygulama sunucusu ile nasıl kuracağınızı adım adım öğrendiniz. Java Geliştirme Kiti’nin kurulumundan başlayarak, Tomcat ve Apache’nin temel yapılandırmalarına, mod_jk ile aralarındaki bağlantının kurulmasına ve Railo’nun dağıtımına kadar tüm süreci detaylı bir şekilde ele aldık. Ayrıca, Railo yönetim paneli erişimi, temel ayarlar, örnek bir CFML uygulamasının testi ve önemli güvenlik ipuçları da bu makalede yer aldı.

Özet

Kurulum süreci aşağıdaki ana adımlardan oluşmuştur:
1. Sistem güncellemesi ve temel araçların kurulumu.
2. OpenJDK 7’nin kurulması ve JAVA_HOME‘un ayarlanması.
3. Apache Tomcat 7’nin indirilmesi, kurulması, bir servis olarak yapılandırılması ve tomcat7 kullanıcısı altında çalışacak şekilde ayarlanması.
4. Apache HTTP Sunucusu’nun kurulması ve gerekli modüllerin etkinleştirilmesi.
5. Railo 4.2.1 WAR dosyasının indirilmesi ve Tomcat’e kök uygulama olarak dağıtılması.
6. Apache ve Tomcat arasında mod_jk aracılığıyla AJP bağlantısının kurulması ve workers.properties, uriworkermap.properties dosyalarının yapılandırılması.
7. Alan adınız için Apache sanal hostunun yapılandırılması.
8. Railo yönetim paneline erişim, şifre belirleme ve temel ayarların yapılması.
9. Basit bir CFML dosyası ile kurulumun doğrulanması.

Gelecek Adımlar

Kurulumu başarıyla tamamladıktan sonra, CFML uygulamalarınızı geliştirmeye başlayabilir veya mevcut uygulamalarınızı bu sunucuya taşıyabilirsiniz. Unutmayın ki Debian 7 ve Ubuntu 13 gibi eski işletim sistemleri artık güvenlik güncellemeleri almamaktadır. Bu nedenle, bu tür sistemleri üretim ortamlarında kullanırken ek güvenlik önlemleri almak veya mümkünse daha modern, desteklenen bir işletim sistemine geçiş yapmak önemlidir. Eğer Railo’nun modern bir alternatifini arıyorsanız, Lucee CFML motoru güncel bir seçenektir. Ancak bu kılavuz, belirli bir ihtiyaca yönelik olarak Railo’nun bu eski platformlar üzerindeki kurulumunu detaylandırmıştır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.