apache etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
apache etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

startWAMP httpd.exe mysqld.exe durum izleme aracı

startWamp programını httpd.exe ve mysqld.exe programlarının kısacası Apache ve MySQL serverların durumlarını izlemesi, gerektiğinde kapatıp açması için geliştirdim.

Programı ilk kez başlattığınızda sizi aşağıdaki resimde gördüğünüz mesaj karşılayacak.



Dosyaların yerleri eksik

httpd.exe ve mysqld.exe nin nerede olduğunu mutlaka belirtiniz. Aksi halde program çalışmayacaktır.

Ok butonuna tıkladığınızda dosya yerlerini belirtmeniz gereken ayarlar penceresi açılacaktır.



httpd.exe ve mysqld.exe dosyalarının yerlerini seçip Configuration penceresini  kapatın. Böylece seçtiğiniz dosyaların yerleri kaydedilmiş olacak.

Programı taskbar da çalışacak biçimde tasarladım. my.ini, php.ini, httpd.conf gibi ayar dosyalarına kolayca ulaşabilmek için resimde gördüğünüz düzenle menüsü mevcuttur.


Configuration penceresinde gördüğünüz my.ini, php.ini, httpd.conf gibi reset butonları düzenle menüsünü kullarak yaptığınız seçimleri resetlemeniz için kullanılacaktır.

NOT: Örneğin httpd.exe ve mysqld.exe dosyalarını seçtğinizde my.ini, httpd.conf dosyaları ve htdocs klasörü varsayılan yerlerinde ise otomatik olarak program tarafından ayar dosyasına kaydedilecektlerdir.

Aynı biçimde eğer php.ini dosyasını seçtiğinizde php.exe varsayılan dizinde ise otomatik olarak ayar dosyasına eklenecektir.


Peki nedir programın (startWAMP) ayar dosyası.

C:\Users\Kullanıcı adınız\AppData\Local\webcodez.blogspot.com
klasörü içerisindeki xml dosyasıdır. Yapmış olduğunuz ayarlar bu dosya içerisinde  saklanmaktadır.

Böylece programı her başlattığınızda dosyaların yerlerini belirmeniz gerekmeyecektir.


Aç menüsünde php 5.4 ile birlikte gelen basit bir http server vardır. Bu server'a port bilgisini ve yayınlayacağı dizini belirttiğinizde ufak işlerinizde apache server'ı çalıştırmanıza gerek kalmadan dosyalarınızı test edebilirsiniz.






Programı window 7 üzerinde php 5.4 mysql ve apache kurulumu blog postunun hemen ardından kendi gereksinimim için geliştirmiştim.

Apache ve mysql serverların durumlarını izlemek için gerektiğinde açıp, kapatmak için kurgulamıştım. İllaki buglar v.s ler vardır. O yüzden kodlarını da yayınladım. İsteyen istediği gibi geliştirebilir, kendine göre kurgulayıp derleyebilir v.s.

Bu arada startWAMP .net framework 4.0 ve C# dili kullanılarak geliştirilmiştir.

startWamp program download.

0 Yorum

Windows 7 PHP 5.4 Apache 2.4.1 ve MySQL 5.5.22 kurulumu

64bit Windows 7 üzerinde php 5.4 apache 2.4.1 mysql server 5.5.22 ve phpmyadmin kurulumları ve konfigürasyonları üzerine iki satır yazmak istedim.

aslında PHP 5.4 sürümünü test etmek, gelen yeniliklere bakmak uzun süredir hep aklımdaydı. Genelde sağda solda bulduğum makaleleri okuyarak takip ediyordum en sonunda karar verip kurcalama işlemine girişmek istedim.

Bu yazıda tüm kurulum işlemlerini manual olarak gerçekleştireceğiz. (xampp, wamp v.s. kullanmayacağız)

Yazının başlığında belirtildiği gibi ilk olarak gerekli dosyaları download ederek işe başlayacağız.

PHP 5.4
http://windows.php.net/download/
VC9 x86 Thread Safe (2012-Feb-29 21:16:12)

Apache 2.4.1 ve php5apache2_4.dll
http://www.apachelounge.com/download/
httpd-2.4.1-win32.zip ve php5apache2_4.dll-php-5.4-win32.zip

MySQL Community Server 5.5.22
http://www.mysql.com/downloads/mysql/
Windows (x86, 64-bit), MSI Installer
(mysql-5.5.22-winx64.msi)

phpMyAdmin
http://www.phpmyadmin.net
3.4.10.1


İlgili linkleri kullanarak özelliklerini belirttiğim dosyaları download ettikten sonra klasör yapımızı oluşturalım. Siz kendi keyfinize göre hareket edebilirsiniz.

c:\server
  -> apache
  -> php
  -> mysql

Ben yukarıdaki içiminde bir klasör yapısı oluşturdum. Şimdi arşiv biçiminde olan dosyaları ilgili klasörler içerisine çıkartalım.


httpd-2.4.1-win32.zip isimli dosya içerisindeki Apache24 klasörünü c:\server\apache içine


php-5.4.0-Win32-VC9-x86.zip dosyasında bulunan dosyaları c:\apache\php içine


ve php5apache2_4.dll-php-5.4-win32.zip dosyası içerisinde bulunan php5apache2_4.dll isimli dll'yi C:\server\php\ içerisine çıkaralım.

Bu dll Apache'nin PHP 5.4 ile çalışması için gereklidir. Eğer PHP 5.4 içerisine bakarsanız php5apache2_2.dll ve php5apache2_3.dll dosyalarını yani apache 2.4.1 için gerekli olan dll'yi göremeyeceksiniz.

PHP 5.4 ile ilgili gereken ayarları yapmak için C:\server\apache\conf içerisinde bulunan httpd.conf dosyasını açıyoruz.

ServerRoot "c:/Apache24" satırını
ServerRoot "c:/server/apache"

olarak değiştirip

#LoadModule ile başlayan satırların en sonuna aşağıdaki satırı ekleyerek

LoadModule php5_module c:/server/php/php5apache2_4.dll

dll adresimizin sistemimizde bulunduğu adresi gösteriyoruz.

#ServerName www.example.com:80 satırını
ServerName localhost


DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">

satırlarını

DocumentRoot "c:/server/apache/htdocs"
<Directory "c:/server/apache/htdocs">

DirectoryIndex index.html satırını
DirectoryIndex index.html index.php

ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" satırını
ScriptAlias /cgi-bin/ "c:/server/apache/cgi-bin/"

<Directory "c:/Apache24/cgi-bin"> satırını ise
<Directory "c:/server/apache/cgi-bin">

şeklinde değiştirdikten sonra

<IfModule mime_module> tagı içerisine

AddHandler application/x-httpd-php .php
satırını ekliyoruz.
ben AddType application/x-gzip .gz .tgz satırının hemen altına ekledim.

ve son olarak php.ini dosyamızın bulunduğu klasörün yerini httpd.conf dosyamıza ekliyoruz. Ben en alt satıra ekledim.

PHPIniDir "c:\server\php"

Not: Apache serverı servis olarak kurmak yerine httpd.exe komut istemi ile açarak çalıştırmayı seçtim çünkü hali hazırda kurulu bir wamp (Windows Apache MySQL PHP) mevcut bulunmakta. (Sanıyorum sizde de aynı durum geçerlidir)

Şimdi PHP 5.4 için yapmamız gereken editleme işlemlerine başlayalım.

c:\server\php klasörüne baktığınızda içerisinde php.ini yerine iki adet dosya göreceksiniz. Bunlar php.ini-development ve php.ini-production dosyalarıdır.

php.ini-development dosyasının ismini php.ini olarak değiştirin ve bir metin editörü ile açın.

extension_dir = "ext" satırını bulup
extension_dir = "c:\server\php\ext"

olarak değiştirin ve mysql ile iletişim kurulması için gerekli olan aşağıdaki dll dosyalarının başında bulunan ';' noktalı virgülleri kaldırın.

extension=php_mysql.dll
extension=php_mysqli.dll

ve dosyayı kaydedin.

Not: Kullanmak istediğiniz diğer extensionlar için aynı işlemi uygulayın. (curl v.s.)

Şimdi sıra MySQL Community Server 5.5.22 kurulumunu gerçekleştirmekte. İndirdiğimiz mysql-5.5.22-winx64.msi dosyasına çift tıklayarak işe başlıyoruz.

choose setup type kısmından Custom'ı seçin ve browse butonunu kullarak mysql server'ın C:\server\mysql\ dizinine kurulmasını sağlayın.

Kurulum tamamlandıktan sonra Launch the MySQL Instance Configurator Wizard'ı seçip Finish butonunu tıklıyoruz.

MySQL Server Instance Configuration Wizard penceresinin açılmasını sağladıktan sonra.



next butonu ile devam ediyoruz.


Detailed Configuration seçeneğini seçerek ilerliyoruz.


Develper machine seçiyoruz. Development için kullanıcaz.


Multifunctional Database seçiyoruz.


next ile devam ediyoruz.


Decision Support seçip next (20 bağlantı development için yeterli)


Enable Strict Mode seçili olmasına dikkat edin. Ve server için port numarası belirtin. Ben default olanı 3306 kullanıyorum.


Character Set seçin. Ben utf-8 kullanıyorum.


Windows servisi olarak kurup mysql bin klasörünü Windows PATH eklemesini seçiyoruz. Bu arada ben Launch the MySQL Server automatically kaldırıyorum.(Tercih sizin)


mysql server için root şifresi seçiyoruz.


Execute butonu ile kurulumu bitiriyoruz.

Şimdi Hem serverı test edelim hemde php dosyalarımızın apache server tarafından yorumlanıp yorumlanmadığına bakalım.

İlk olarak c:\server\apache\bin klasörü içerisine giderek httpd.exe dosyasını çalıştırıp Apache serverı başlatın.

Not: Command Prompt (Komut istemi, cmd.exe) kullarak bu işlemi  gerçekleştirin. Windows 7'de istediğiniz bir klasör içinde commad prompta erişmek için SHIFT tuşuna basılı olarak sağ click yapın ve açılan menüden open command window here seçeneğini kullanın.


Daha sonra  c:\server\apache\htdocs klasörü içerisine info.php isimli bir dosya oluşturup

<?php phpinfo(); ?>

yazıp kaydedin ve tarayıcınız http://localhost/info.php adresini açın. Eğer işlem başarılı ise sonuçları fonksiyonun çıktısından göreceksiniz.




Son olarak phpMyAdmin kurulumunu yapalım. 3.4.10.1 sürümünü indirmiştik. C:\server\apache\htdocs\phpmyadmin klasörü içerisine çıkartın.

Daha sonra http://localhost/phpmyadmin/ adresine ulaşıp kullanıcı adı ve parolanızı girdiğinizde kurulum tamamlanmış olacaktır.


Eğer yukarıdaki resimdeki Web Sunucusu bölümüne göz atarsanız tüm işlemlerimizin başarılı bir biçimde gerçekleştiğini göreceksiniz.

Sıcağı sıcağına bir yazı oldu. Pek kontrol edemedim (: eksik gedik varsa affola.

20 Yorum

Ubuntu Server Apache ve Php versiyonlarını gizleyin

Ubuntuda Sunucunuzun güvenliği için Apache ve Php versiyonlarını ziyaretçilerinizden gizleyin. Bunun için yapmanız gereken Apache ve Php'nin konfigürasyon ayarlarında ufak bir iki değişiklik.

İlk olarak Apache sunucumuzun versiyon numarasının ziyaretçilere gönderilmesini engelleyelim.

Eğer Ubuntu 9.04 kullanılıyorsanız ve Apache'yi depodan kurduysanız versiyonu gizlemek için ayarları değiştireceğiniz conf dosyanız /etc/apache2/conf.d/ klasörü içerisinde security ismi ile bulunmakda.

security dosyanızı root yetkisi ile bir metin editörü açıp örn:// sudo nano security

#ServerSignature Off
ServerSignature On


satırlarını bulun ve #ServerSignature Off satırının başındaki diyez (#) işaretini kaldırıp, ServerSignature On satırının başına ekleyin.
Yeni ayarınız şu şekilde görünmeli.

ServerSignature Off
#ServerSignature On


Daha sonra aşağıdaki komut ile apache web serverınızı resetleyin.
sudo /etc/init.d/apache2 restart

Fakat curl kütüphanesinin header özelliği ile halen sunucu bilgileriniz gitmekte.
nmap -sV localhost şeklinde sisteminizi tarayan kötü niyetli birisi aşağıdaki bilgilerede erişebiliyor. :)


Interesting ports on 127.0.0.1:
Not shown: 998 closed ports
PORT     STATE SERVICE VERSION
80/tcp   open  http    Apache httpd 2.2.11 ((Ubuntu) PHP/5.2.6-3ubuntu4.2 with Suhosin-Patch)


Devam edelim.

Tekrar conf.d klasörü içerisindeki security dosyasını root yetkisi ile açıp bu seferde aşağıdaki ServerTokens satırlarını editleyelim ve sonuçları test edelim.

#ServerTokens Minimal
ServerTokens Full


Satırlarını

ServerTokens Prod
#ServerTokens Full


yapalım ve sunucumuzu resetleyelim.

HTTP/1.1 200 OK
Date: Wed, 16 Sep 2009 00:34:33 GMT
Server: Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.2 with Suhosin-Patch
Vary: Accept-Encoding
Content-Length: 5122
Content-Type: text/html;charset=UTF-8


Olan header bilgisi

HTTP/1.1 200 OK
Date: Wed, 16 Sep 2009 00:36:04 GMT
Server: Apache
Vary: Accept-Encoding
Content-Length: 5122
Content-Type: text/html;charset=UTF-8


şekline dönüştü. :) birde nmap -sV komutu ile sistemimizi test edelim.

Interesting ports on 127.0.0.1:
Not shown: 998 closed ports
PORT     STATE SERVICE VERSION
80/tcp   open  http    Apache httpd



Gördüğünüz gibi hem işletim sistemimizi (OS) hemde Apache versiyonumuzu gizledik. Son olarakda php.ini dosyamızı açıp
expose_php = On satırını expose_php = Off olarak değiştirelim.

php.ini dosyamız Ubuntu local web serverımızda /etc/php5/apache2/ dizini içerisinde. Bir metin editörü ile root yetkisi ile açıp değişikliğinizi yaptıkdan sonra apache sunucunuzu resetleyin.

0 Yorum

Apache Server Virtual Host ayarları windows vista

Vistada hosts dosyasını değiştirmek için ilk olarak C:\Windows\System32\drivers\etc içerisinde bulunan hosts dosyasını masaüstünüze kopyalayın.
Daha sonra ise içerisinde değişikliğinizi yaptıktan sonra C:\Windows\System32\drivers\etc bu bölüme tekrar koplayın böylece editlemiş olacaksınız.

Xp üzerinde bu işlemi direk olarak hosts dosyasını bir metin editör ile açarak yapabilirsiniz. Fakat hosts.txt olarak kaydetmemeye dikkat edin. Aksi halde yaptığınız değişiklikler işletim sistemi tarafından yorumlanmaz ve işlenmez.

Web sayfalarını local apache sunucumuzda, geliştirme esnasında domain isimlerimizi kullanmamız, projeyi hostumuza taşırken yaşadığımız sorunların önüne geçecektir.

Örneğin domain isminiz abc.com olsun. Projeyi geliştirirken http://localhost/klasör_adi kullanmak yerine abc.com olan kendi domain adınızı kullanmak, web sitenizi hosta upload ettikten sonra yaşanan sıkıntıları azaltır. Kendi adıma konuşursam özellikle mod_rewrite ile yaptığım urllerde büyük faydasını görüyorum.

Kendi domain isminizi çalışma ortamında kullanmak için hosts dosyasını editliyoruz. Bunun için hosts içerisine

127.0.0.1 abc.com

yazıcaksınız.abc benim salladığım bir isim. Daha sonra ise hosts dosyası içerisine eklenen bu domaini local sunucumuz olan apache web serverın tanıyıp yorumlaması için bir dizi ayarlar gerçekleştiricez.

Eğer benim gibi apache,php,mysql'i içerisinde barındıran hazır paketleri kullanıyorsanız WAMP'ı tavsiye ediyorum. Ve birazdan yazacağım işlemleri WAMP üzerinde anlatacağım.

Vista üzerinde WAMP'ı default olarak kurduktan sonra. C:\wamp\bin\apacheApache2.2.11\conf dizinine ulaşın. Yapmamız gereken Conf içerisindeki httpd.conf dosyasını açıp


# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

Satırlarını bulup Include ile başlayan satırdaki "#" diyez işaretini kaldırıp kaydetmek.

VirtualHost yöntemi ile apache birden fazla domaini kontrol edebilir. Şimdi local sunucumuzda kendi domain ismimizin vhost ayarlarını yapalım.
httpd-vhosts.conf (Extra dizini içersinde yer alan) dosyasını açıp içerisine hem http://localhost hemde http://abc.com şeklinde çalışabilmek için aşağıdaki kodları kendinize göre editleyerek httpd-vhosts.conf içerisine kopyalayın.


NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot "C:/wamp/www"
ServerName localhost

</VirtualHost>

<VirtualHost 127.0.0.1:80>

DocumentRoot "C:/projem"
ServerName abc.com
<Directory C:/projem/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Ve c:\projem yada istediğiniz bir isimde klasör oluşturup içine index.html / php dosyası koyup
apache'yi resetleyin ve adres çubuğundan abc.com girerek test edin. Firefox ile vista üzerinde test işlemlerinizi yaparken eğer
çalıştıramazsanız Firefox'u kapatıp tekrar açıp deneyin. Eğer You don't have permission to access / on this server. hatasını alırsanız


<directory>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</directory>


Kısmı tekrar inceleyin.

Eğer diğer tarayıcılar ile abc.com çalışır ve Firefox ile çalışmıyorsa İlk olarak Tools>Options>Advanced>Network>Setting> Butonu ile Connection Setting penceresini açıp No Proxy'yi seçip Firefox'u kapatıp açıp tekrar deneyin.

3 Yorum

Ubuntu üzerinde magic_quotes_gpc'yi kapatalım

Win platformdayken yada diğer hazır bütünleşik lamp işlevi gören programlarda basit arayüzler sayesinde local sunucumuzu istediğimiz şekilde konfigüre edebilmekteyiz. Özellikle windows ortamda sıklıkla kullandığım Wamp oldukça basit bir arayüze sahip.

Şu günlerde Ubuntu üzerinde geliştirdiğim bir uygulamada magic_quotes_gpc'nin açık olması test aşamasında sıkıntı oluşturdu.

Eğer aynı dertden muzdarip iseniz aşağıdaki komut ile php.ini dosyasını açıp magic_quotes_gpc = On satırını Off şeklinde değiştirip apache serverı resetliyoruz.

magic_quotes_gpc nedir derseniz bu özellik sql injection ataklarına karşı GET, POST, COOKIE ile gelen bilgilere addslashes() fonksiyonu ile "\" karakterini etkilemektedir. Bildiğim kadarı ile Php6 ile bu özellik kalmakta.
Ayrıca bu özellik sürekli olarak trafiği modifiye ettiğinden performans kayıplarınada neden olmaktadır.


sudo gedit /etc/php5/apache2/php.ini

magic_quotes_gpc = On

magic_quotes_gpc = Off

sudo /etc/init.d/apache2 restart

0 Yorum

Ubuntu 9.04 LAMP kurulumu

İlk olarak LAMP nedir diyorsanız LAMP Linux, Apache, Mysql, Php (Perl,Python) 'nin başharflerinden oluşan bir kısaltmadır. Windows içinse WAMP gibi bir kısaltma kullanılır. Hatta windows ortamında wamp adında içerisinde tüm modüllerin olduğu bir setup dosyasıda vardır.

Şimdi kuruluma başlamadan evvel uçbirimi açalım. Uçbirime Uygulamalar/Donatılar/ menüsünden erişebilirsiniz. Ubuntu 9.04 üzerindeki LAMP kurulumuna uçbirim ile devam edeceğiz.

sudo apt-get update komutu ile güncelleme yapalım ve Apache serverı kurarak işe başlayalım.

sudo apt-get install apache2

Komutunu uçbirimden girerek apache2'yi sistemimize indirip kurması talimatını verelim. Kurulum bittikten sonra tarayıcımızı açıp http://localhost adresine gidelim. Eğer It works! yazısını gördüysek, /var/www dizini içerisindeki index.html dosyası local sunucumuz tarafından yorumlanmaktadır.

Şimdi ise Php dosyalarımızın Apache tarafından yorumlanabilmesi için Php kuralım.

sudo apt-get install php5 libapache2-mod-php5

Kurulum bittikten sonra Apache'nin kurduğumuz Php5'i tanıması ve php dosyalarımızı çalıştırması için resetlememiz gerekiyor.

sudo /etc/init.d/apache2 restart

Komutunu kullanarak resetledik. Şimdi ise /var/www dizini içerisinde deneme.php dosyası oluşturalım. /var/www içine girdik mouse sağ tuşu ile tıkladık fakat Dizin oluştur / Belge oluştur gibi menüler çıkmadı ama neden?



/var dizini içindeyken /www dizinine sağ tıklayıp özellikler menüsünü seçtiğimizde açılan pencereden Erişim Hakları bölümüne geldiğinizde bu klasöre sadece root kullanıcısı tarafından erişilebileceğini görmüşsünüzdür. Dosyalarımızın ve Dizinimizin sahibini değiştirmek için chown, grubunu değiştirmek içinse chgrp komutlarından faydalanırız.

sudo chown -R kullanıcı-adınız /var/www

Komutunu uçbirimden girip dizin özelliklerine baktığınızda farkı görebilirsiniz.



Şimdi www dizini içerisinde ddeneme.php dosyasını oluşturup içerisine phpinfo(); yazıp kaydedin ve deneyin. http://localhost/deneme.php

Dinamik siteler yapmak için scriptlerimizde veritabanları kullanırız. Mysql ücretsiz bir veritabanı sunucusudur. Şimdide mysql-server kurulumunu yapalım.

sudo apt-get install mysql-server

NOT: Ubuntu üzerinde kurulum yaparken "Devam etmek istiyor musunuz [E/h]?" sorularına eğer "E" harfini girdiğinizde programdan çıkıyorsanız yada hata alıyorsanız "Y" harfini kullanarak tekrar deneyin.

Kurulum aşamasında aşağıki gibi bir pencere gelecek burada mysql için root şifresi girmeniz istenecektir. Burada root şifrenizi girin.



Phpmyadmini kuralım.

sudo apt-get install phpmyadmin

Gelecek ekrandan apache2 yi seçerek onaylıyoruz. Sonrasındaki ekranda ise tekrar Evet diyoruz.



Mysql-Server kurulumunda girdiğmiz root şifremizi giriyoruz.



http://localhost/phpmyadmin

adresine gittiğimizde eğer phpmyadmin'e ulaşamıyorsak

sudo gedit /etc/apache2/apache2.conf

komutu ile apache2.conf

dosyasını açıp içerisine
Include /etc/phpmyadmin/apache.conf

satırını ekliyor ve apacheyi resetliyoruz. Ben ServerRoot satırının hemen altına ekledim.

ServerRoot "/etc/apache2"
Include /etc/phpmyadmin/apache.conf


şeklinde.

Sonrasında http://localhost/phpmyadmin adresine gittiğinizde kurulduğunu göreceksiniz.

Ubuntu 9.04 üzerindeki local serverımıza curl extensionunuda kuralım.

sudo apt-get install php5-curl

ve sonrasında Apache'yi resetliyoruz.

36 Yorum

Ubuntu mod_rewrite aktif etmek (kurulumu)

Daha önceki yazımda Ubuntu üzerinde LAMP nasıl kurulur bahsetmiştim. Şimdi ise Ubuntu üzerinde apache mod_rewrite modül kurulumunu, mod_rewrite'ı local sunucumuzda nasıl aktif ediceğimizi anlatıcam.

Apache 2 yi kurduğumuz /etc/apache2/ dizinine gittiğimizde içerisinde mods-available ve mods-enabled isminde iki adet dizin ile karşılaşırız. mods-enabled dizini içerisinde aktif olan modüller bulunmaktadır. Local Linux sunucumuzda bir php dosyayı oluşturup içerisine phpinfo(); fonksiyonunu yazıp sonrasında ise bu dosyayı çalıştırdığımızda apache2handler başlığı altında Loaded Modules leri yani kurulu modülleri görebiliriz. İşte Apache web serverımız için kullandığımız modüller mods-enabled dizini içerisinde bulunmaktadırlar.


Peki /etc/apache2/mods-available klasörü nedir? Burada ise kullanabileceğimiz diğer modül dosyaları bulunmaktadır. Local Linux sunucumuzda Apache mod_rewrite modülünü aktif etmek için bu klasör içerisindeki rewrite.load dosyasını kullanıcaz.

Yapacağımız işlem sadece rewrite.load dosyasını mods-enabled dizinine kopyalamak ve Apache web serverımızı restart etmek. Bu işlem için uçbirimden girmeniz gereken komutlar aşağıda.

sudo cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled

sonrasında ise

sudo /etc/init.d/apache2 restart

Hatırlayın içerisinde phpinfo(); olan bir adet php dosyası oluşturmuştuk. Onu tekrar çalıştırın ve apache2handler başlığı altındaki Loaded Modules bölümüne bakın.



Ubuntu üzerindeki local linux web serverımız için mod_rewrite modülünü aktif ettik. Hadi o zaman ufak bir test yapalım :) /var/www içerisinde bir klasör oluşturun daha sonra içerisine iki adet dosya ekleyin. İsimleri ilk.php ve ikinci.php olsun. mod_rewrite için .htaccess oluşturalım ve içerisine

RewriteEngine On #Yeniden yazma Rewrite modülünü aç
RewriteRule ^ilk.php$ ikinci.php #Rewrite Kuralımız

Kodlarını ekleyelim. Şuan adres çubuğundan http://localhost/dizin/ilk.php yazdığımızda ikinci.php dosyasının çalışması lazım. Fakat test ettiğinizde bunun öyle olmadığını göreceksiniz. :) Heyecan yok. Virtual Hosting ve sadece localhost (127.0.0.1) üzerinde /var/www çalıştığımız için uçbirimden 000-default dosyasını açıp AllowOverride None satırlarını AllowOverride all olarak değiştiricez. Uçbirimden aşağıdaki komutu ve root şifrenizi girdikten sonra gerekli düzenlemeleri yaparak tekrar apache web serverımızı resetleyelim.

sudo gedit /etc/apache2/sites-enabled/000-default

Artık browserımızdan http://localhost/dizin/ilk.php yazdığımızda ikinci.php sayfasının açıldığını göreceksiniz.

2 Yorum

Ubuntu 8.10 LAMP Kurulumu (Php,PhpMyadmin,Mysql,Apache)

Php sayfalarımızı çalıştırmak için ilk olarak Apache Server'ı kuracağız. Bunun için yeni bir uçbirim açarak aşağıdaki komutu yazıp entere basıyoruz. Böylelikle Apache web server'ı Ubuntu (8.10) muza kurmuş olduk.

sudo apt-get install apache2

Yaptığımız kurulumu test etmek için browserınızdan http://localhost yada http://127.0.0.1 adreslerini yazmanız yeterli olacaktır. Eğer ekranda "It works!" yazdı ise ubuntu üzerinde kurduğunuz Apache Web Server'ınız çalışıyor demektir.

Şuana kadar herşey güzel peki bu "it works!" yazısı nerden geldi. Nasıl olduda localhost yada 127.0.0.1 adreslerine girdiğimde karşıma çıktı diye soruyor olabilirsiniz. Siz Apache Web Server'ı kurduğunuzda /var/www/ dizini oluştu ve içerisinde index.html adında bir dosya kondu.

Bu dizin kurduğunuz apache serverın default olarak okuduğu ve web dosyalarını yorumladığı dizindir. Burada test.html isminde bir dosya oluşturup içerisine ise rasgele bişeyler yazdığınızda Apache'nin bu dosyayıda yorumlayıp size göstereceğini göreceksiniz.

Yanlız şuna dikkat edin sürekli html dosya uzantıları var. Php bir dosya oluşturup içerisine Php kodlarını yazdığınızda Apache'nin bu dosyayı yorumlamayacağını ve kaydedilsinmi diye soracağını göreceksiniz.

İşte bu yüzden Php dosyalarının Local Server'ımız tarafından yorumlanıp işlenilmesi için Ubuntu üzerinde Php yi kuracağız. Php'yi kurmak için uç birimden aşağıdaki komutu kullanacağız.

sudo apt-get install php5

kurulum bittikden sonra local web serverımızı yeniden başlatıyoruz (restart)

sudo /etc/init.d/apache2 restart

Daha sonra /var/www dizinine giderek test.php adında bir adet php dosyası oluşturalım ve içerisine yazarak çalıştırmayı deneyelim.

Eğer kurduğunuz Php sürümü, server bilgileri, çeşitli dosya yolları gibi bilgiler yani klasik phpinfo(); çıktısını aldıydak artık Apache Web Server'ımız php dosyalarımızıda yorumluyor ve bize html çıktıyı üretiyor demektir.

Not: Default olarak /var/www dizinine yazma izniniz yoktur. Bunun için sudo chmod 777 tam izin verin. Ayrıca apt-get install php5 dediğimizde libapache2-mod-php5 paketinin kurulduğuna dikkat edin. Eğer sorun yaşarsanız sudo apt-get install libapache2-mod-php5 diyerek bu paketi kurabilirsiniz.

Fakat Ubuntu 8.10 üzerinde bir sorun yaşacağınızı sanmıyorum. Ki ben denemediğim hiçbir şeyi bu blogda yazmıyorum (:

Şimdi gelelim LAMP'ın olmazsa olmazına. Verilerimizi işlemek için veritabanı sunucumuz olan MySQL'i kurmaya. Kurulum için uç birimden

sudo apt-get install mysql-server

komutunu girin. Enter'a bastığınızda

Aşağıdaki ek paketler de yüklenecek:
libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl
mysql-client-5.0 mysql-server-5.0
Önerilen paketler:
dbishell mysql-doc-5.0 tinyca mailx
Aşağıdaki YENİ paketler kurulacak:
libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl
mysql-client-5.0 mysql-server mysql-server-5.0
0 yükseltildi, 7 yeni kuruldu, 0 kaldırılacak ve 0 yükseltilmeyecek.
İndirilmesi gereken dosya boyutu 35,8MB
After this operation, 109MB of additional disk space will be used.
Devam etmek istiyor musunuz [E/h]?


Şeklindeki sorulan soruya "E" yazıp tekrar entera basın. Böylelikle Ubuntu 8.10 üzerinde mysql server kurulumu başlamış olacak.

Kurulum esnasında "Paket yapılandırılması başlıklı" mysql-server için root şifresi belirtin diye bir ekran çıkacak.


Buradan mysql serverımız için root şifresi girelim. Gerekli değil fakat güvenlik için şifre girmemiz daha iyi olur. Sifremizi girdikten sonra mysql server kurulumumuz sona erecektir.

Bu işide atlattıkdan sonra sıra geldi Php ile mysql'i beraber kullanmaya. Evet mysql serverımızı kurduk fakat Php ile beraber kullanmak için php5-mysql paketinide kurmalıyız. Aksi halde mysql serverımıza bağlanmaya çalıştığımızda

Fatal error: Call to undefined function mysql_connect() in /var/www/test.php on line 3

gibi bir hata alırız. Hemen paketimizi kuralım. sudo apt-get install php5-mysql

Apache Web Serverımızı reserleyelim.

sudo /etc/init.d/apache2 restart

ve bir php dosyası oluşturarak mysql_serverımıza bağlanmaya çalışalım.


$conn = mysql_connect("localhost","root","root_sifreniz");
if($conn)
{
echo "MySQL Servera Bağlanıldı";
}else{
echo "MySQL Servera Bağlanılamadı";
}


Bu şekilde test edebileceğiniz gibi phpinfo(); fonksiyonundan yararlanarakta test edebilirsiniz. Aşağıdaki resim bu paketleri kurduktan sonra phpinfo(); fonksiyonundan alınmıştır.

Daha önce bu kısım phpinfo() fonksiyonumuzun çıktısında yoktu.

Evet Ubuntu 8.10 üzerinde Apache, Php ve MySQL Server'ı kurduktan sonra sanırım bir olmazsa olmazda phpMyAdmin dir. MySQL serverımızı yönetmek, üzerinde veritabanları, tablolar oluşturmak bunları silmek yada veri girmek gibi işlemlere yarayan phpMyAdmin'i kurmaya başlayalım.

ilk olarak http://www.phpmyadmin.net/home_page/downloads.php adresinden phpMyAdmin'i indirelim. İndirdikten sonra (ben tar.gz olarak english versiyonunu indirdim) arşivi açalım ve klasör ismini phpmyadmin vererek /var/www içerisine atalım. Sonrasında ise http://localhost/phpmyadmin adresine giderek aşağıdaki resimde gördüğüz gibi root kullanıcı adı ve şifremizi girerek mysqlserver'ımıza bağlanalım.



Ubuntu üzerinde LAMP kurduk Curl kurmayı unuttuk. Aşağıdaki komut ile Curl kurulumunu tamamlayın ve phpinfo(); fonksiyonu ile curl'un kurulup kurulmadığını araştırın. Eğer Curl sorunsuz kuruldu ise şöyle bir görüntü olacaktır phpinfo() fonksiyonunun çıktısında.


sudo apt-get install php5-curl

ve Apache'yi resetliyoruz.

sudo /etc/init.d/apache2 restart


Bugün yeni kurduğum Ubuntu 8.10 üzerindeki tüm güncellemeleri yaptıkdan sonra LAMP kurmaya karar verdim. Daha önce Xampp nasıl kurulur ve konfigüre edilir onu anlatmıştım. Bu yazımda ise manuel olarak sırası ile Ubuntu 8.10 üzerinde Apache, Php, Mysql ve PhpMyadmin kurulumunu anlatmaya çalıştım. Umarım işinize yarar.

11 Yorum

Ubuntu ile Apache Mysql Php ve PhpMyadmin kurulumu ( XAMPP )

Ubuntu da Apache, Mysql, Php ve PhpMyadmin kurmak için ilk olarak XAMPP dosyasını indiriyoruz. XAMPP, LAMP diye tabir edilen Linux, Apache, MySql ve Php yi tek bir paket içerisinde barındırmaktadır . Bizim kuracak olduğumuz 55Mb lık XAMPP Linux 1.7 versiyonununda bulunan diğer bileşenlere kendi sitesinden bakabilirsiniz.

İndirme işlemi bittikten sonra konsol ekranını Uygulamalar / Donatılar / Uçbirime tıklayarak açın. XAMPP dosyasını indirdiğiniz dizine cd komutu aracılığı ile gidin. Örnek:

cd Masaüstü
su
root parolanız
tar xvfz xampp-linux-1.7.tar.gz -C /opt

Hepsi bukadar. /opt/lampp dizininde XAMPP kurulu olduğunu göreceksiniz.

XAMPP'ı başlatmak için

sudo /opt/lampp/lampp start

Komutunu kullanıcaz. Komutdan sonra aşağıdaki gibi bir görüntü alacaksınız.


Sonrasına ise http://localhost adresine web tarayıcınız ile giderek XAMMP'ın çalışıp çalışmadığını test edebilirsiniz. Resimde gördüğünüz gibi başarı ile kurulumu gerçekleştirdik ve sunucumuzu çalıştırdık.


Kurulumdan sonra dikkat edilmesi gereken önemli güvenlik ayarları bulunmaktadır.

XAMPP kurulduktan sonra default olarak Mysql root şifresi yoktur.
nobody kullanıcısının ProFTPD şifresi lampp dır.
PhpMyadmin klasörüne dışarıdan erişilebilir. v.s.

Bu tarz güvenlik ayarlamalarını düzenlemek için şu komutu kullanıyoruz.

sudo /opt/lampp/lampp security

Sonrasında ise XAMPP aracılığı ile aşağıdaki resimde gördüğünüz gibi bir sihirbaz geliyor. Buradan kendiniz için gerekli olan ayarları yapabilirsiniz. Benim ayarlar resimdeki gibi :p



XAMMP açılışına şifre koyduğum için localhost a girince böyle bir kimlik doğrulama inputboxı çıkıyor. Eğer sizde buraya kadar anlattığım şekilde geldiyseniz ve bir türlü bu kutucuğa kullanıcı adı olarak ne gireceğim diyorsanız :) heyecana gerek yok default xampp kullanıcı adınız "lampp" :)

Xampp security sekmesine gitdiğinizde ayarlarımızın şu şekilde göründüğünü göreceksiniz.


Peki ayarlarımızı yaptık Php dosyalarımızı hangi klasörde çalıştırıcaz? diyorsanız bunun için /opt/lampp/htdocs dizinine gidip php dosyalarınızı bu klasöre atıyoruz. Sonrasında ise tarayıcımız ile dosya ismini adres çubuğuna yazarak test edebiliriz.

Bu arada XAMPP ile birlikte curl enable olarak gelmekte. Harici bir konfigürasyon yapmanıza gerek yok.

sudo /opt/lampp/lampp start XAMPP'ı başlatır.
sudo /opt/lampp/lampp stop XAMPP' durdurur.
sudo /opt/lampp/lampp restart XAMPP' durdurup yeniden çalıştırır.
sudo /opt/lampp/lampp startapache Sadece Apache'yi başlatır. Php desteği ile.
sudo /opt/lampp/lampp startssl Apache'nin ssl desteğini başlatır.
sudo /opt/lampp/lampp startmysql Sadece Mysql'i başlatır.
sudo /opt/lampp/lampp startftp ProFTPD serverı başlatır.
sudo /opt/lampp/lampp stopapache Apache Server'ı durdurur.
sudo /opt/lampp/lampp stopssl Apache'nin SSL desteğini durdurur.
sudo /opt/lampp/lampp stopmysql Mysql'i durdurur.
sudo /opt/lampp/lampp stopftp ProFTPD Server'ı durdurur.
sudo /opt/lampp/lampp security Security kontrol programını başlatır.

XAMPP'ı uninstall etmek için ise komutumuz.

rm -rf /opt/lampp

2 Yorum