« Posts tagged apache

Subversion artık bir Apache projesi…

Bilindiği gibi subversion Tigris tarafından geliştirilen bir projeydi. Dün itibari ile artık subversion bir Apache projesi olmuş durumda. Artık subversion’a subversion.apache.org adresinden ulaşabiliyorsunuz. Eski adres olan subversion.tigris.com da ise bu konu ile ilgili bilgilendirme mevcut.

Bu gelişmenin hayırlı olmasını diliyorum…

Centos Subversion Apache mod_dav_svn…

Centos üzerinde Apache sunucusu ile birlikte subversion depolarınızı yayınlayabilirsiniz. Bunun için kurmanız gereken paketler şu şekilde:

Bash
yum install httpd subversion mod_dav_svn

Bu işlem ardından yapmanız gereken şey apache ile ilgili subversion ayar dosyasını düzenlemeniz. Centos zaten bu paketleri kurduğunuz da “/etc/httpd/conf.d/” altına “subversion.conf” adıyla bir dosya oluşturuyor. Fakat bu dosyanın içerisi yorumlanmış şekilde.

Bash
<Location /repos>
   DAV svn
   SVNParentPath /svn/dopalarinin/bulundugu/dizin
</Location>

Bu şekilde basit bir ayar yapabilirsiniz. Bu ayardan sonra web sunucusunu baştan başlatmamız gerekiyor. Artık http://ipadresiniz/repos/depoadi veya http://domain.tld/repos/depoadi adresine girerek svn depolarınıza ulaşabilirsiniz.

Bash
svn co http://ipadresiniz/repos/depoadi

komutu ile doponucu check out yapabilirsiniz. Eğer depoya erişimi şifreli yapmak istiyorsanız.

Bash
<Location /repos>
   DAV svn
   SVNParentPath /svn/dopalarinin/bulundugu/dizin
 
      AuthType Basic
      AuthName "Svn deposu...."
      AuthUserFile /sifrenin/saklanacagi/dosya
      Require valid-user
</Location>

Şeklinde bir ayar dosyası hazırlamanız gerekiyor. Bu şekilde bir giriş kontrolü için “htpasswd” ile kullanıcı hesapları oluşturuyoruz. Bunun için komutumuz:

Bash
htpasswd -b /sifrenin/saklanacagi/dosya kullaniciadi sifre

Buraya kadar, subversin, apache ve apache üzerinden svn yayını yapmak için gerekli adımları uyguladık. Tabi bunlar için svn deposu oluşturmanız da gerekiyor.

Bunun için kullancağınız komut ise:

Bash
svnadmin create /deponu/bulunacagi/dizin/depoadi

Burda dikkat edilmesi gereken şey oluşturacağınız deponun apache ayar dosyasında belirttiğiniz SVNParentPath ile belirtilen dizin altında olması.

PHP 2: Linux sistemlerde Php

Bu yazımda, Linux dağıtımlarına Php ve ek araçların (sunucu,veri tabanı vb..) nasıl kurulacağını anlatacağım. Bu işlem genelde LAMP (Linux, Apache, MySQL ve PHP) olarak adlandırılır. Fakat ben mümkün olduğunca farklı dağıtımlar ve farklı yazılımların kurulum işlemlerini de anlatmaya çalışacağım. Bu yazımda sadece dağıtımlar üzerine kurulumlar ile ilgili bilgi vereceğim. Çeşitli ayarlar ile ilgili bilgileri özel olarak ileride anlatacağım. Ve bütün anlatımlarım sırasında elimden geldiği kadar farklı işletim sistemleri ve dağıtmlar ile ilgili örneklere değineceğim.

Pardus dağıtımına Php, Apache, MySQL ve PhpMyAdmin kurulumu:

Pardus dağıtımında LAMP kurmak oldukça basit bir işlemdir. Öncelikle:

sudo pisi it php apache mysql phpmyadmin mod_php

komutu ile sistemimize ilgili yazılımları kurmamız gerekiyor. “mod_php” paketi apache ile php yorumlayıcısının anlaşması için gerekli apache modül paketidir. PhpMyAdmin ise web tarayıcımız aracılığı ile MySQL tablolarımızı ve veri tabanlarımızı yönetmemizi sağlayan Php ile yazılmış bir uygulamadır. PhpMyAdmin yazılımını kurabilmeniz için öncelikle “katkı” deposunu eklemeniz gerekmektedir.

Bu işlemleri bitirdikten sonra sırasıyla:

sudo service apache start
sudo service mysql_server start

komutlarını vererek apache ve mysql sunucularını çalıştırmanız gerekiyor. Bilgisayarınız her açıldığında bu servislerin otomatik başlatmak istiyorsanız “start” komutu yerine “on” yazmanız yeterlidir.

Bu işlemlerden sonra

service

komutu vererek ilgili servislerin başladığını kontrol etmekte fayda var. Eğer iki serviste çalışıyor ise herşey yolunda gitmiş demektir. Artık tarayıcınıza “http://localhost” yazarak web sayfalarınızı görüntüleyebilirsiniz.

Artık Pardus sisteminiz hazır. Bu noktada bir takım dosyaların yollarını vermekte fayda var:

Php.ini: /etc/php/php.ini
Apache: /etc/apache2/http.conf
Mysql: /etc/mysql/mysql.conf
Web dizini: /var/www/htdocs/
Mysql veri tabanı dosyaları: /var/lib/mysql

Arch Linux üzerinde Php, Apache, MySQL ve PhpMyAdmin kurulumu:

Arch Linux, diğer linux dağıtımlarından biraz farklıdır. Fakat temel olarak sistem ne kadar farklı olursa olsun Php çalışma mantığı aynıdır. Arch Linux üzerinde LAMP ile ilgili kurulum bilgilerine Arch Linux Türkiye ekibi tarafından çevirisi yapılmış wiki bağlantısından ulaşabilirsiniz.

Ayrıca Lighttpd sunucusu ile ilgili bilgi ve ayarlar konusunda yine wiki belgesine, lighttpd için php ayarlarını yapmak içinse şu belge işe yarayabilir. Fakat lighttpd ile ilgili olan her iki belge de İngilizce olduğu için ben kısaca bahsetmek istiyorum:

Lighttpd kurmak için:
sudo pacman -S lighttpd
komutunu vermeniz yeterlidir. Lighttpd ayarlarını “/etc/lighttpd/lighttpd.conf” dosyasında tutar.

Servisi başlatmak için:

sudo /etc/rc.d/lighttpd start

Komutunu vermeniz gerekiyor. Ayrıca Arch Linux altında bir servisi açılışta başlatmak istiyorsanız “/etc/rc.conf” dosyasında bulunan ilgili satıra lighttpd yi eklemeniz gerekiyor:

DEAMONS=(... lighttpd ...)

Bu satıra benzer bir yapı olması gerekiyor.

Lighttpd sunucusuna php yi fastcgi olarak tanımlamak için:
sudo pacman -S fcgi
Komutu ile fastcgi paketini kurmanız gerekiyor. Bu işlemin ardından “/etc/lighttpd/lighttpd.conf” dosyasını yetkili kullanıcı olarak açıp içerisinde:

#"mod_access",
#"mod_fastcgi",
#"mod_accesslog"

Satırlarının başındaki “#” işaretini kaldırıyoruz. Ardından aynı dosya içerisine:

fastcgi.server = (
".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi"
)
)
)

Satırlarını ekliyoruz. Bu işlemin ardından:
sudo /etc/rc.d/lighttpd restart
Komutunu vererek lighttpd sunucusunu baştan başlatmamız gerekiyor.

Ek bir not vermek istiyorum. Arch Linux üzerine php kurduğunuz zaman ön tanımlı olarak bütün ayarlar kapalı gelmekte. Bu nedenle “/etc/php/php.ini” dosyası içerisinde bulunan extension bölümündeki bir takım eklentileri aktif etmek için başlarındaki “;” işaretini kaldırmanız yeterlidir. Tabi bu işlemden sonra sunucumuzu yeniden başlatmamız gerekiyor.

Link: Bir zamanlar yazmış olduğum Arch Linux ile ilgili PHP kurulum yazısı.

Debian Üzerinde Kurulum (Efe Çiftçi)

Kaynak kod derlenerek kurulum ile ilgili bir yazı

PHP 1: Genel PHP tanımları..

Merhabalar,

Genel olarak uzun bir süredir php üzerinde çalışıyorum. Artık yavaş yavaş bilgilerimi paylaşmanın vakti geldi sanırım. İlk olarak Php ile uğraşırken genel olarak bilmemiz gereken tanımlardan bahsedeceğim.

Php sunucu taraflı (server side) diye tabir ettiğimiz bir betik dilidir. Sunucu taraflı tanımını biraz açmak gerekirsek, php ile yazdığımız kodlar bir sunucuda yorumlanır ve bu yorumlama sonucu oluşan HTML çıktılar bir tarayıcı aracılığı ile gösterilir. Kısaca php kodlarımız sunucu tarafında işlenir ve kullanıcı bilgisayarında sadece HTML çıktıları görür.

Bu yorumlama işlemi yapılırken iki adet bileşen kullanırılır. Bir tanesi PHP yorumlayıcısı, diğeri ise internet sunucusudur. Apache, IIS, Lighttpd gibi uygulamalar internet sunucularından bir kaçıdır. Ben genelde az bellek tükettiği için Lighttpd tercih ediyorum. İleriki konularda Linux ve Windows üzerinde php ve bir web sunucusu kurulumunun nasıl yapıldığını anlatacağım.

Bu çalışma mantığını biraz daha açalım. Php ile yazdığınız kodlar önce sunucuya(apache,iis vb..) gönderilir, sunucu php kodu olarak algıladığı kodları (<?php ?> arasında yer alan kodlar) php yorumlayıcısına göndererek yorumlamasını ister. Php yorumlayıcısının yorumlayıp HTML olarka ürettiği çıktı tekrar sunucu aracılığı ile tarayıcıya iletilir. Aşağıda bu durmun resimli gösterimini görebilirsiniz.

php1

Php çalışma Prensibi

Sunucu taraflı dillerin hepsi bu yapıya benzer bir prensip dahilinde çalışırlar. Buda aslında çalıştırılan her kodun sunucu bilgisayar üzerinde sistem kaynağı tüketmesine sebep olur. Bu yüzden yapacağımız uygulamaların bazı kısımlarında JavaScript gibi tarayıcı tarafından yorumlana bilen betikler kullanılır. Örneğin bir üyelik formunda ki alanları kontrol ettirirken php kullanmak sunucuyu çok yoracağından bu işlem ufak bir JavaScript kodu ile kullanıcı bilgisayarına yaptırılabilir.

Php bir çok özelliğe sahip bir dildir. Genel olarak php ile ilgili ayarlar php.ini dosyasında bulunmaktadır. Php.ini ile ilgili ayrıntıları ilgili konular geldiğinde parça parça anlatacağım.

Gelelim veri tabanı konusuna. Aslında veri tabanı konusu çok karmaşık değil. Şuan sadece yukarıda bahsettiğimiz sistem içerisine bir de veri tabanı sunucusu ekleyeceğiz. Bu cümleden çıkartılabileceği üzere veri tabanı bir sunucu olarak çalışır. Fakat bunun yanında, SQlite gibi bir dosya üzerinden sunucu olmadan çalışabilen veri tabanı sistemleri de mevcuttur.

Veri tabanlarını projelerimizde ürettiğimiz verileri tutmak için kullanırız. Veri tabanlarının yaptığı iş basit olarak veri kaydetmek, kaydedilmiş verileri istediğimiz kriterlere göre geri çağırmaktan ibarettir (tabi ki gelişmiş özellikleri de vardır). Veri tabanlarının kendilerine özgü sorgu dilleri mevcuttur ve en yaygın olarak kullanılan sorgu dili SQL dilidir. MySQL, MsSQL, SQLite gibi sistemler SQL dilini kullanırlar.

Genel olarak tüm programlama dilleri, veri tabanı sunucuları ile aynı mantıkta iletişim kurarlar. Php yorumlayıcısı sorguyu veri tabanı sunucusuna gönderir, veri tabanı sunucusu sorgu sonucununda döndürdüğü bilgiyi php yorumlayıcısına gönderir. Php yorumlayıcısı veri tabanı sunucusundan bilgiyi aldıktan sonra bu bilgiyi yine HTML çıktı olarak sunucuya gönderir ve tarayıcıda görüntülenmesi sağlanır. Bu noktada küçük bir bilgi vermek istiyorum. Php dilini komut satırı arayüzü (CLI-Command Line Interface-) arcılığı ile kullanabilirsiniz. CLI ortamında yazdığınız kodlar için bir web sunucusuna ihtiyaç duymayız. Fakat php genel olarak web programlama alanında kullanıldığı için ben de web programlamayı temel alarak anlatmaya çalışacağım.

Yukarıda bulunan grafiğe bir veri tabanı-php ilişkisi eklenmiş hali. Grafik ile çok daha net anlaşılacağını düşünüyorum.

php-vt

Php - Veri Tabanı İlişkisi

Gelecek yazılar:
Php 2: Linux sistemler altında Php, Apache, MySQL ve PhpMyAdmin kurulumu
Php 3: Windows Xp sistemine Php, Apache, MySQL ve PhpMyAdmin kurulumu

Özgür Kuru is Stephen Fry proof thanks to caching by WP Super Cache