30
Nis

Pardus ile Php geliştirmek için kurmanız gerek bir kaç paket bulunmakta. Bu paketleri kurarak sizlerde Pardus üzerinde Php geliştirmeye başlayabilirsiniz.

Kuracağımız paketlere şöyle bir göz atalım:

  • Php kodlarını web sunucumuz üzerinde çalıştırmak için: mod_php
  • Web sunucu: Apache
  • Veritabanı: Mysql
  • Veritabanı yazılımı: PhpMyadmin

Kuracağımız paketlerin ne işe yaradığını anlattıktan sonra kuruluma geçebiliriz.

Konsol ekranına sırası ile şu komutu vererek kurulum yapabilirsiniz.

sudo pisi it mod_php

sudo pisi it apache

sudo pisi it phpmyadmin

sudo pisi it mysql-server

Mysql-server paketi sisteminizde kurulu olabilir. Kurmadan önce kurulu olup olmadığını kontrol edin.

Kurulum aşaması bitti. Hazırlamış olduğunuz Php dosyalarını web tarayıcınız ile görüntülemek için dosyalarınızı /var/www/localhost/htdocs klasörüne atabilirsiniz. Bu klasöre normal kullanıcı hesabınız ile Php dosyalarınızı atamazsınız. Gerekli izinleri vermek için su - komutu ile yetki alarak aşağıdaki komutu yazabilirsiniz.

chown -R kullanıcıadınız:apache /var/www/localhost/htdocs/

Bu dizin ile uğraşmak istemeyenler ev dizini altına public_html isimli bir klasör oluşturabilir. Bu klasöre attığınız dosyalarınıza http://localhost/~kullaniciadiniz adresinden erişebilirsiniz.

Mysql ayarları

Mysql paketini kurduktan sonra Mysql yönetici parolasını belirlememiz gerekmektedir. Konsolu açtıktan sonra su - komutu ile yetki aldıktan sonra aşağıdaki komut ile Mysql yönetici parolanızı belirleyebilirsiniz.

mysqladmin -u root password ‘MySQLyöneticiparolanız’

Servis yöneticisini kullanarak, Apache ve Mysql server servislerini başlatmayı unutmayın :) .

Share

25
Ara
Giriş
LAMP, Linux Apache Mysql PHP kısaltması olarak aklımızda kalıyor. Bazı yerlerde P yerine PHP'den başka bir dil gelebilir ama bu yazıda PHP'yi anlatacağız. Günümüzde çoğu Linux dağıtımı temel ayarlarla gelmektedir, ben Ubuntu 10.04 LTS kullanıyorum ve temel Birkaç ayarı burada anlatmaya çalışmayacağım, uzmanlar anlatsın :) Aslında kendime not almak için yazıyorum bu yazıyı ama belki ihtiyacı olan vardır diye blogda yayınlıyorum tutorial kıvamında, yanlışım varsa şimdiden affola, yorumlarla bana düzelttirile!

Apache Web Sunucusu Kurulumu ve Ayarları
Apache günümüzde en yaygın olarak kullanılan web sunucularından birisidir. Bu yüzden apache ile ilgili bir çok doküman bulmak mevcut bu kısımda ayrıntıya girmeden apache kurulumu ve yapılandırılmasından bahsedeceğim. Öncelikle sisteminizde ki paketleri güncelleyin.
apt-get update
apt-get upgrade --show-upgraded
Ubuntu üzerinde apache’yi kurmak için aşağıdaki komutu kullanın. Bu komut apache version 2 serisini bilgisayarınıza kuracaktır.
apt-get install apache2
Bu işlemi tamamladıktan sonra sanal konaklama(Virtual Hosting) ayarlarını yapacağız.

Sanal Konaklamayı Ayarlamak
Öncelikle /etc/apache2/ports.conf dosyamızı kontrol edelim. Ben bu dökümanı hazırlarken içersinde
NameVirtualHost *:80
Listen 80
değerleri yazılmış ve hazır şekildeydi. Burada 80. portu dinlediğimizden ve sunucumuzun tüm ipleri dinlediğiden emin oluyoruz. Ardından açacağımız site için /etc/apache2/sites-available/ dizinine bir dosya oluşturuyoruz. Örnek olarak:
touch siteminadi.com
Bu dosyayı vim ile açıyor ve düzenlemeye başlıyoruz:
VirtualHost *:80>
ServerName www.siteminadi.com
ServerAlias siteminadi.com
DocumentRoot /srv/www/siteminadi.com/dosyalarhangidizindeyse/
ErrorLog /srv/www/siteminadi.com/logs/error.log
CustomLog /srv/www/siteminadi.com/logs/custom.log
/VirtualHost> (VirtualHostların başında < şu işaret var ama burada yazınca blogger sapıtıyor)

ServerAlias kullanıcılarınızın sitenize erişmek için kullandığı adresleri içerir, Log dosyaları sitenizin kayıtlarını tutar, document root sitenizi barındırdığınız dizini adresler, servername hangi barınağın hangi adrese gideceğini belirler. Elbette bunları buraya yazmanız direkt çalışacağı anlamına gelmez, DNS'lerini düzggün bir şekilde sunucunuzun IP'sine yönlendirmeniz gerekir. Bundan böyle sunucunuza bir istek geldiğinde önce izin verilen iplerden birisi olup olmadığına bakılır ardından uygun servername aranmaya başlanır ve bulunduğunda bu documentrootta bulunan içeriğe yönlendirilir. Bu dosyayı oluşturduktan sonra ya da önce belirttiğiniz dizinleri oluşturmanız gerekir, yoksa apache hata verir.

mkdir -p /srv/www/siteminadi.com/dosyalarhangidizindeyse
mkdir /srv/www/siteminadi.com/dosyalarhangidizindeyse/logs

Eğer dosyalar zaten ayarlıysa şu komut ile siteyi aktif hale getirirsiniz
a2ensite siteminadi.com
Bu komutla dosyanız sites-enabled dizine kopyalanır ardından apache'yi restart ederek ya da reload ederek siteyi açarsınız.

/etc/init.d/apache2 restart
/etc/init.d/apache2 reload
Mysql Kurulumu ve Ayarları
Öncelikle şu komutu çalıştırın

apt-get install mysql-server

Kurulum sırasında sizden root şifrenizi ayarlamanız istenir, bir şifre belirleyip not ediniz.
Mysql başlı başına bir konudur ama biz sadece bir veritabanı oluşturacağız şu komutla mysql sistemine giriş yaparsınız

mysql -u root -p

Şifrenizi girmenizi isteyecek root şifrenizi girip giriş yapınız.
Database oluşturmak için aşağıdaki komutu kullanın, sonuna ; işareti koymayı unutmayın, mysql'de komutlar ; işareti ile biter.

create database benimdb;

Database oluştu üzerinde bir kullanıcı oluşturup tüm haklarını bu kullanıcıya vermek için aşağıdaki komutu yazınız kullanıcı adı dbadmin şifre 12345 yaptım, siz daha düzgün bir şey seçersiniz.

grant all on benimdb.* to 'dbadmin' identified by '12345';

Flush komutuyla ayrıcalıkları güncelliyoruz.

flush privileges;

İşimiz bitince çıkış yapıyoruz

quit
PHP Kurulumu ve Ayarları
PHP bir programlama dilidir ve LAMP rehberinde onun kurulumunu anlatacağız. Şu komutla kurulumu yaparsınız.

apt-get install php5 php-pear

İsterseniz şu adresteki ayar dosyasını güncelleyebilirsiniz, başlangıç seviyesi kullanıcılar gerekmedikçe bu dosyayı güncellemek zorunda değildir. Çoğu ayar standart şekilde zaten yapılmıştır. Bir değişiklik yaparsanız Apache'yi restart etmeniz gerekir.

/etc/php5/apache2/php.ini

Mysql desteği için şu paketi kurunuz böylece PHP ile Mysql güzelce anlaşmaya başlar, Apache ise zaten PHP'nin dilinden çok iyi anlar ve kısaca LAMP kısmını geride bırakırız.

apt-get install php5-mysql libapache2-mod-auth-mysql

Grafiksel araçlar, çeşitli ayarlar bunların hepsi sonra yapılabilir ama öncelikli olarak sunucunuz artık bu bileşenlere sahiptir. Ayrıntılar vakit bulursam belki ileride burada yayınlanır. Okuduğunuz için teşekkürler

Kaynakça:

http://httpd.apache.org/docs/2.0/en/vhosts/name-based.html

http://library.linode.com/lamp-guides/ubuntu-10.04-lucid/

https://help.ubuntu.com/community/ApacheMySQLPHP

9
Oca
Sonunda taşınma işi bitti! Evet arkadaşlar sorunları halledip sistemimi tamamen sunucuya taşıdım. İlk django sitem nysera.net artık açık ama test yayınında diye not düşüyorum! Duyurusunu şimdiye kadar yapmamıştım çünkü tüm problemleri halledememiştim lanet bir satırın sonuna "/" işaretini koymayı unuttuğum için 10 sayfa hata kaydını okumak zorunda kaldım. Baştan daha dikkatli okusaydım bu sorunu yaşamayacaktım hatalara bakıyordum "mediaccs" diye bir şey var dikkatimi çektide anca fark ettim.

Django'yu Ubuntu kurulu bir sunucu üzerinde Emre Yılmaz'ın tavsiyesi ile apache ve mod_wsgi ile çalıştırıyorum. Aslında çoğu sitede mod_python örneği gösterildiği için onu kullanacaktım ama Emre'nin uyarısıyla mod_wsgi'a geçtim. Kendi hatalarımda dışında gayet memnunum.

Neyse mod_wsgi kullanmak için bu dökümanı tavsiye ederim.

Temel olarak kaynak kodlarınız arasına django.wsgi isimli bir dosya ekliyorsunuz sonra apache de confing dosyanıza bir iki ekle site hazır hale geliyor. Fazla uğraştıracak bir kısmı yok ama ben admin medya dosyalarının adresini düzgün yazmamışım. Öncelike ilk hata dökümanın tekinden direkt kopyalamam olmuştu. Bu Linux'a ne kadar alışık olduğunuzla alakalı bir şey hiç aklıma gelmemişti kütüphanenin orada olmayabileceği, sonra kendim arayıp doğru dizini buldum. Belki de bilerek yanlış yazmışlardı doğrusunu öğrenmemiz için... /usr/lib/ altına bakmanızı tavsiye ederim. Sonra bu konumu yazarken satırın sonuna "/" eklemeyi unutmayın derim. Apache'yi yeniden başlatırken bir uyarı vermiyor ama sitenizin kayıtlarına baktığınızda uzun bir listeyle karşılaşıyorsunuz^^

Bir başka hata debug seçeneğini kapattıktan sonra 404.html ve 500.html gibi hatalar için gerekli dosyaları oluşturmamaktı. Debug seçeneği açıkken Django'nun kendi hata sayfalarıyla karşılaşıyorsunuz ama debug'ı kapattığınızda bu dosyaların template klasörünüzde bulunması gerekiyormuş.

Bir diğer hata Türkçe karakter problemiydi. Şimdiye kadar hep sqlite üzerinde çalıştığım için mysql'de ayarların nasıl yapılacağı konusunda pek bilgim yoktu. Türkçe karakter problemini gidermek için yeni bir veritabanı oluşturmam gerekti ama bu sefer veritabanını oluştururken CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; şeklinde karakter set ve collation ayarlarını ekledim. Bu Türkçe karakter problemini ortadan kaldırdı. Zaten kodları utf8 ile kaydediyorum tema dosyalarında da kodlama bilgisi utf8 olarak geçtiği için başka bir ayar yapmama gerek kalmadı. Bu tüyoyuda Ozan Hazer'in blogundan öğrendim, kendisine buradan teşekkür ederim.

Başka bir hata da setuptools'u kurmayışımdı. Django eggs dosyalarını kullanıyormuş. Ben bunu bilmiyordum dökümanın tekinde de kurulması gerektiği yazmıyordu ama eğer kendi sunucunuzu yönetiyorsanız python-setuptools'u da mutlaka yükleyin. Egg nedir merak ediyorsanız IBM'in geliştirici sitesinde çok güzel bir makale mevcut, işinize yarayacaktır.

Umarım bu yazı işinize yarar. Herkese kolay gelsin
14
Oca

Pardus 2007.3′e kurduğum Eclipse yazılım geliştirme programında java dili kullanarak MySQL’e bağlanmaya çalışıyordum bir süredir (1-2 gündür). Ama bir türlü bağlanamadım. Bağlanmaya çalıştığımda şu hatayı alıyordum;

Cannot connect to db/user. Check your URL
Communications link failure

Last packet sent to the server 0 ms ago

Sonunda çözümü buldum… Problem mysql’in ilk kurulumuyla gelen ayarların dışarıdan erişime izin vermemesiymiş.. Düzeltmemiz gereken dosya /etc/mysql/my.ini dosyası.. Pardusta düzeltmeyi şu şekilde yapabiliyoruz;

Önce ALT+F2 ile çalıştır’ı açalım..

kdesu kwrite /etc/mysql/my.ini

yazıp root şifremizi girelim. daha sonra açılan dosyadaki

skip-networking

satırını bulun ve o satırın başına # ekleyin ve o satırı yorum satırı yapın. Yani o satır şöyle olsun,

# skip-networking

dosyayı kaydedip kapatın. daha sonra konsol açıp şunu yazarak mysql-serverı yeniden başlatın.

service mysql-server restart

Artık Pardus linuxta Eclipse kullanarak MySQL’e bağlanabiliyoruz…

Bu arada bu çözümü uzun araştırmalar sonucu buradan buldum..