Windows Üzerinde Apache PHP MySQL xDebug PhpMyAdmin Mail Server Kurulumu

closeBu yazı 1 ay 8 gün önce yayınlanmış olduğundan güncelliğini yitirmiş veya içeriğindeki bilgilerin geçerliliği kaybolmuş olabilir. Herhangi bir yanlış anlaşılmadan bu site sorumlu değildir.
Önemli Not: Aslında bu yazıyı yazmaya 2013 yılında başlamışım ve daha sonra da taslak olarak bırakmışım. Bu yazı en başta kendim için bir nottur. Zaman geçince bazı noktaları hatırlamakta zorlanabiliyoruz. Bu yazının mail server kurulumu ile ilgili kısmı ise başka bir yazıda ele alınacaktır.

Apache PHP MySQL xDebug PhpMyAdmin kurulumu için bir çok hazır seçenek bulunmasına rağmen insanın bu kurulumları kendisi yapması kadar da zevkli bir iş yok. Çünkü sunucunuzu ayarlarken, en ince detaylara kadar girebilmek ve herşeye tam olarak hükmedebilmek işin profesyonellik kısmını olşturuyor. Ancak kurulum esnasında dikkat edilmesi gereken noktalar da yok değil. Kuruluma başlamadan önce Alet Çantamızı hazırlayalım isterseniz. Alet Çantamızda neler olacak?

Apache 2.4.34 Win64 VC15
PHP 7.2.8 Win64 VC15 (Thread Safe - TS) Zip Sürümü
MySQL 5.5.61 Win64 (Siz son sürümünü de kullanabilirsiniz.)
PHPMyAdmin 4.8.2
xDebug 2.6.1 PHP7.2 VC15 TS
MySQL-Front 6.0

Alet Çantamızda bulunan her bir aracın kurulum alanında indirme adresleri verilecektir. Benim yukarıda verdiğim sürümlerin daha güncel hali bulunabilir. İsterseniz onları da indirip, aynı şekilde kurulumları tamamlayabilirsiniz. Ancak yine de dikkat edimesi gereken bazı hususlar mevcuttur. Birazdan kuruluma geçtiğimizde daha detaylı olarak irdeleyeceğiz ancak apache php ikilisinin mutlaka uyumlu olması gerekiyor. Aksi takdirde Apache sunucumuz kesinlikle çalışmayacaktır. Yine mevcut en üst sürümleri kullanmakta fayda görülse de bazen mevcut en üst sürümler bir çok hataları da beraberinde getiriyor. Ayrıca PHP sürüm yükseltmeleri o kadar da zor bir iş değil.

Gelelim artık kuruluma;

Kuruluma başlamadan önce, dosyalarımızı nereye kuracağımızı belirtmekte fayda var aslında. Çünkü sunucu işleri bunlar, derli toplu olması daha mantıklı. Ben kuruluma ait dosyaları da kodladığım sitelerimi de harddiskimde sadece sitelerim için oluşturduğum 20GB lık D: sürücümde tutuyorum. Böyle yapmamım da bir amacı var, format atmam gerektiğinde veya bilgisayar çöktüğünde kodlamış olduğum sitelere herhangi birşey olmuyor. Yine Apache ve PHP dosyalarımı da burada tutarak, formattan sonra sadece Apache servisini kurarak bütün yükten kurtulmuş oluyorum. Kurulum yeri tercihi size ait. Benim Apache ve PHP ye ait kurulum ve yerel sitelerimi barındırma şeklim aşağıdaki gibi olacak.

-D:/
--- Server
------ Apache
------ PHP
------ xDebug
--- Sitelerim

Sizde bu şekilde bir tanımlama yaparsanız, hem dosyalara ulaşmanız kolay olacaktır hem de onları yönetmeniz. Benim geliştirebildiğim en kolay sistem bu.

KURULUM AŞAMALARI

  1. Ön Hazırlık
  2. Apache Kurulumu
  3. PHP Kurulumu
  4. MySQL Kurulumu
  5. phpMyAdmin Kurulumu
  6. xDebug Kurulumu
  7. MySQL-Front Kurulumu

APACHE SUNUCUSU İNDİRİLMESİ ve KURULUMA HAZIRLANMASI

Öncelikle Apache Sunucumuzu indirelim. Ben bunun için Apache Lounge adlı siteyi kullanıyorum. Apache dosyalarını en son PHP sürümlerine göre derliyorlar. Bize de sadece kullanmak kalıyor.
Apache Sunucularından : http://www.apachelounge.com/download/
İndirmeyi yukarıdaki adresten yapıyoruz. Şu anda en son VC15 (Visual C++ 2017 Redistributable) için Apache 2.4.34 sürümü mevcut. Ben bütün kurulumları 64 bit için yapacağım. Siz sisteminiz 32 bit ise veya 32 bit sürümleri kullanmak istiyorsanız, 32 bitlik versiyonunu da indirebilirsiniz. PHP dosyaları için de aynısı olması gerekiyor.

İndirme tamamlandıktan sonra indirdiğimiz zip dosyasına çift tıklıyor ve zip dosyasının içinde yer alan Apache24 klasörünün içeriğini (kendisini değil) D:\Server\Apache klasörünün içine çıkartıyoruz. Şimdilik bu kadar, PHP için de yapılması gereken işlemleri yaptıktan sonra Apache için bazı işlemler yapacağız.

PHP İNDİRİLMESİ ve KURULUMA HAZIRLANMASI

Dosyalar için PHP Sürümü: https://windows.php.net/download/

Bu yazı hazırlanırken PHP 7.2.8 en son sürümdü. Burada dikkat etmeniz gereken en önemli husus, Apache için VC sürümü ne ise, PHP için de aynı olmak zorunda. Dolayısıyla VC15 Apache sürümü için VC15 PHP sürümünü kullanabilirsiniz. Yine Apache sunucu üzerinde PHP koşacağımız için Thread Safe (TS) sürümünü indirmemiz gerekiyor. Yoksa zaten Apache sunucusu çalışamayacak. İndirdiğimiz zip dosyasının içeriğini D:\Server\PHP içerisine çıkartıyoruz.

APACHE ve PHP’nin ÇALIŞIR HALE GETİRİLMESİ

Artık Apache ve PHP dosyalarımızı da çıkarttığımıza göre düzenlemelerimize başlayabiliriz. Öncelikle PHP ile ilgili düzenlemelerimizi yapalım:

PHP dosyalarını çıkarttığınız klasörünün içerisinde php.ini-development (Geliştiriciler için ayarları yapılmış. İsterseniz php.ini-production olanını da düzenleyebilirsiniz) adında bir dosya var. Bu dosyayı php.ini olarak tekrardan adlandırın ve bir metin düzenleyici ile açın.

// Bul
memory_limit = 128M
// Değiştir (Benim bilgisayarımdaki RAM miktarı 16GB o yüzden PHP için 1GB versem sorun yok. Siz değiştirmeyebilirsiniz.)
memory_limit = 1024M

// Bul
; extension_dir = "./"
// Bu şekilde değiştir. Ancak PHP klasörünün yolunu kendi kurulumunuza göre belirtin.
// ext klasörü eklentilerin olduğu klasördür.
extension_dir = "D:/Server/PHP/ext"

// Bu satırları bul
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl

// Kullanacak olduğunuz eklentilerin başındaki ; işaretini silin. Kullanmayacaklarınızın başından ; ü kaldırmayabilirsiniz.

// Bul
;date.timezone =
// Bu şekilde değiştir
date.timezone = Europe/Istanbul

php.ini dosyamızı kaydedip, kapatıyoruz. Şimdi PHP eklentilerimizin çalışabilmesi için PHP klasörünün yolunu Windows a bildirmemiz gerekiyor. “Bu Bilgisayar” a sağ tıklayıp özellikler diyoruz. Açılan pencerenin sol tarafında yer alan “Gelişmiş Sistem Ayarları” kısmına tıklıyoruz. Açılan pencereden altta bulunan “Ortam Değişkenleri” butonuna tıklıyoruz. Açılan yeni pencere “Sistem Değişkenleri” kısmında “PATH” değişkenini buluyoruz ve çift tıklıyoruz. Yeni bir pencere açılacak, orada “Yeni” butonuna tıklayıp açılan yere “D:\Server\PHP” (tırnaklar olmadan) yazıyoruz. Tamam Tamam Tamam deyip pencereleri kapatıyoruz.

Bu adımdan sonra bilgisayarımızı yeniden başlatmakta fayda var. Aksi takdirde bazı eklentileri PHP ye tanıtmakta büyük sıkıntılar çıkabiliyor. O yüzden çok GEÇERLİ bir sebebiniz YOKSA lütfen BİLGİSAYARINIZI YENİDEN BAŞLATIN.

Bilgisayarınızı yeniden başlattıktan sonra APACHE ayarlarımızı tamamlayalım.

// D:/Server/Apache/conf klasörünün içerisinde httpd.conf dosyasını metin editörü ile açıyoruz.

// Bul
Define SRVROOT "c:/Apache24"
// Değiştir
Define SRVROOT "D:/Server/Apache"

--------------------------------------------------
// Bul
#LoadModule rewrite_module modules/mod_rewrite.so
// Değiştir
LoadModule rewrite_module modules/mod_rewrite.so

--------------------------------------------------

// Bul
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
// Altına Ekle - Kendi klasör yapımıza göre
#PHP7
LoadModule php7_module "D:/Server/PHP/php7apache2_4.dll"
PHPIniDir "D:/Server/PHP"

--------------------------------------------------

// Bul
<Directory />
    AllowOverride none
    Require all denied
</Directory>
// Değiştir
<Directory />
    AllowOverride none
    #Require all denied
</Directory>

--------------------------------------------------

// Bul
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
// Değiştir
DocumentRoot "D:/Sitelerim"
<Directory "D:/Sitelerim">

--------------------------------------------------

// Yukarıdaki satırların hemen altında yer alan
// Bul
AllowOverride None
// Değiştir
AllowOverride All

--------------------------------------------------

// Bul
DirectoryIndex index.html
// Değiştir
DirectoryIndex index.html index.php

--------------------------------------------------

// Bul
AddType application/x-gzip .gz .tgz
// Altına Ekle
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

--------------------------------------------------

// Bul
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
// Değiştir
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Kaydedip kapatıyoruz. D:/Server/Apache/conf/extra klasörünün içerisine giriyoruz ve httpd-vhosts.conf dosyasını metin editörü ile açıyoruz. ve içindeki herşeyi silip içine aşağıdakini yazıyoruz.

 

# Virtual Hosts
#
# Required modules: mod_log_config

Include conf/virtualhosts/*.conf

 

httpd-vhosts.conf dosyamızı da kaydedip kapatıyoruz. D:/Server/Apache/conf klasörünün içerisine geliyor ve “virtualhosts” adında yeni bir klasör oluşturuyoruz. Sanal sunucularımız ile ilgili ayarlar bu klasörün içerisinde yer alacak. Bunun için hemen bir tane sanal sunucu oluşturalım. Benim tavsiyem bir standart oluşturmanız ve gerçekte kullanılmayan bir domain uzantısı kullanmanız. Ben bir tane test için sanal sunucu oluşturacağım.

Bunun için domain olarak “test.era” seçiyorum. era gerçekte kullanılan bir domain uzantısı değil. com bile kullanabilirsiniz ancak öyle bir site varsa artık siteye değil kendi bilgisayarınızda çalışan sanal siteye ulaşacaksınız. O yüzden dikkatli olun. Mesela ben vakti zamanında okullardaki bilgisayarlardan çocuklar youtube a girmesinler diye youtube.com adında bir sanal sunucu oluşturmuştum ve gerçek youtube.com a erişimi engellemiştim. 🙂 Neyse konumuza geri dönecek olursak, sanal sunucu oluşturma ile ilgili program paylaşacağım. Eğer benim stilimde dosya oluşturmalar yaparsanız programı sorunsuz kullanabileceksiniz. Onunla ilgili başka bir yazı yayınlayacağım. Şimdi gelelim “test.era” adında sanal sunucumuzu oluşturmaya:

D:/Sitelerim içinde “test.era” adında bir klasör oluşturun. D:/Server/Apache/conf/virtualhosts klasörünün içinde “test.era.conf” adı altında bir dosya oluşturun ve notepad ile açın ve aşağıdaki kodları yapıştırın.

 

<virtualhost *:80>
	DocumentRoot "D:/Sitelerim/test.era"
	ServerName test.era
	ServerAlias www.test.era
	ErrorLog "logs/test.era-error.log"
	CustomLog "logs/test.era-access.log" common
	<directory "D:/Sitelerim/test.era">
		AllowOverride All
		Options Indexes FollowSymLinks
		Order allow,deny
		Allow from all
	</directory>
</virtualhost>

 

En son olarak C:/Windows/System32/drivers/etc içerisinde yer alan “host” dosyamıza bazı satırlar ekleyeceğiz. host dosyamız yazma koruması altında olabilir. Ya dosyaya yazma izinlerini verin. Ya da dosyanın adını host.bak şeklinde değiştirip, yeni bir dosya açın ve adını host yapın. Sistem klasörünün altında yer aldığı için izinleriniz olmadığı uyarılarını alırsanız en kolay yol, “host” dosyasını masaüstüne taşımak orada düzenlemek ve en son yine klasörüne koymaktır. Ancak ileride paylaşacağım sanal sunucu programının düzgün çalışabilmesi için etc klasörünün yazma korumasını kaldırmak olacaktır. Bununla ilgili google da kısa bir arama yapabilirsiniz. Dikkat etmeniz gereken husus, bu dosyanın uzantısı yoktur. Host dosyasının içerisine;

127.0.0.1 test.era
127.0.0.1 www.test.era

yazıp kaydedin ve kapatın.

Şimdi gelelim artık Apache sunucumuzun kurulumuna ve çalıştırılmasına. Windows tuşuna basıp “cmd” yazıyoruz ve yönetici olarak çalıştır diyor. Hizmet kurulumu yapacağımız için yönetici yetkilerine sahip olmamız gerekiyor. Komut satırında sırasıyla aşağıdaki komutları veriyoruz. Her bir satır bir komut demektir. Yani satır tamamlanınca enter tuşuna basmanız gerekiyor.

D:
cd D:\Server\Apache\bin
httpd -k install

“The ‘Apache2.4’ service is successfully installed.” ifadesini gördüğünüzde Apache sunucusu başarıyla kurulmuş demektir. Aşağıdaki komutu da verdikten sonra Apache sunucusu başlamış olacaktır.

httpd -k start


MySQL KURULUMU

MySQL Sunucu için doğrudan indirme linkleri aşğıdaki gibidir:

MySQL 8.0.12 x64 http://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.12-winx64.msi

MySQL 5.7.23 x86 http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.23-win32.msi
MySQL 5.7.23 x64 http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.23-winx64.msi

MySQL 5.6.41 x86 http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.41-win32.msi
MySQL 5.6.41 x64 http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.41-winx64.msi

MySQL 5.5.61 x86 http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.61-win32.msi
MySQL 5.5.61 x64 http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.61-winx64.msi

MySQL 5.1.73 x86 http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-win32.msi
MySQL 5.1.73 x64 http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-winx64.msi

Ben daha az yer kapladığı için MySQL 5.5.61 ü kuruyorum. MySQL 8 sürümüyle birlikte 32 bitlik sürüm göremedim. Ayrıca MySQL 8 sürümünün direk kurulum dosyasını indiriseniz, içinde MySQL Configuration Tools adlı dosyayı bulamayacağınızdan MySQL sunucunuzun ayarlarını komut satırından yapmanız gerekiyor. O yüzden MySQL 8 sürümünü MySQL Installer ile kurun. MySQL 5 sürümlerinde verilen linklerin hepsi kendi alt sürümlerinin en son versiyonlarıdır. İstediğimiz MySQL sürümünü indirdikten sonra kurulumu next next next şeklinde bitiriyoruz. Önemli olan kısım ise MySQL Configuration Tool kısmı. Burada sunucunuzu developer olarak seçin ve kurulum esnasında mutlaka bir root parolası belirleyin. Yine belirtmekte fayda var MySQL 5.1 sürümünü kuracaksanız, PHPMyAdmin çalışmayacaktır.

PHPMYADMIN KURULUMU

Öncelikle PHPMyAdmin için bir sanal sunucu oluşturmakla işe başlayalım. Apache ve PHP’nin Çalışır Hale Getirilmesi başlığının sonunda hatırlarsanız bir sanal sunucu eklemiştik test.era diye. Şimdi yine aynı adımları uygulayarak “phpmyadmin.era” adında yeni bir sanal sunucu daha oluşturuyoruz. phpmyadmin.era.conf dosyasının içeriğini aynı test.era.conf ta olduğu gibi oluşturuyor ve test.era yazan yerlerin adlarını phpmyadmin.era şeklinde değiştiriyoruz. Bu adımdan sonra Apache sunucusunu yeniden başlatmanız gerekiyor. Bunun için D:\Server\Apache\bin klasörünün içinde yer alan ApacheMonitor.exe adlı dosyayı çalıştırın ve Restart butonuna tıklayarak Apache servisini yeniden başlatın. Artık yeni sanal sunucunuz çalışır hale gelecektir. Gelelim dosyalara:

PHPMyAdmin 4.8.2 https://www.phpmyadmin.net/downloads/ adresinden phpMyAdmin-4.8.2-all-languages.zip adlı dosyayı indiriyoruz. Buradaki 4.8.2 değişebilir. İndirdiğimiz sıkıştırılmış dosyanın içerisindeki dosyaları D:\Sitelerim\phpmyadmin.era klasörünün içerisine çıkartıyoruz. Burada dikkate etmemiz gereken sıkıştırılmış dosyayı çift tıklayarak açtığımızda içerisinde “phpMyAdmin-4.8.2-all-languages” adlı bir klasör göreceğiz. Bu klasörün içerisindeki dosyaları yukarıdaki klasöre çıkartıyoruz. Yani phpmyadmin.era klasörümüzün ana dizininde “doc, examples, js, libraries, locale vb.” gibi klasörler olması gerekiyor.

Tarayıcımızı açıp http://phpmyadmin.era/setup diyoruz. Sunucular kısmından “Yeni Sunucu” diyoruz ve yeni bir pencere açılacak. Ayarlar aşağıdaki gibi olacak. İlk kısım sekme adı, ortadaki ayar adı, sondaki ifade de değeri şeklinde yazıyorum.

Temel ayarlar - Bu sunucunun ayrıntılı adı - localhost
Kimlik doğrulaması - Kimlik doğrulaması türü - config
Kimlik doğrulaması - Yapılandırma kimlik den. için kullanıcı - root
Kimlik doğrulaması - Yapılandırma kimlik den. için parola - ****** (Buraya root için belirlediğiniz parolayı yazın)

Yukarıdaki bilgileri girdikten sonra uygula deyin. Sunucular kısmında artık localhost diye göreceksiniz. Yapılandırma dosyası bölümünden dili Türkçe yapıp “İndir” butonuna tıklayın. Verdiği php dosyasını da phpmyadmin.era klasörünün anadizinine koyun. Adres çubuğuna http://phpmyadmin.era/ yazdığınızda phpmyadmin in çalıştığını göreceksiniz.

xDebug KURULUMU

Hatırlarsanız test.era diye bir sanal sunucu kurmuştuk. O sanal sunucunun klasöründe (D:/Sitelerim/test.era) index.php diye bir klasör oluşturalım ve içerisine aşağıdaki kodları yazıp kaydedelim.

<?php
phpinfo();

Adres çubuğuna http://test.era/ yazalım ve sitemizi açalım. Sayfadaki herşeyi Ctrl+A yaparak kopyalayalım ve https://xdebug.org/wizard.php adresini açıp oradaki kutucuğa yapıştıralım. “Analyse my phpinfo() output” butonuna tıklayalım. Sihirbaz bize hangi dosyayı indireceğimizi ve bunu nasıl tanıtacağımızı anlatıyor. DLL dosyasını indirin ve D:/Server/PHP/ext klasörünün içine atın. Sihirbazda yeşil ile renklendirilmiş zend_extension diye başlayan satırı php.ini dosyasınızın içine en alta yapıştırın. Bunun altında aşağıdaki satırları da yapıştırın. Yine D:/Server klasörü altında xDebug adında bir klasör oluşturun. Apache sunucunuzu tekrardan başlatın. Kurulum bu kadar. xDebug ile üretilen debug kayıtlarını da http://ceefour.github.io/wincachegrind/ adresinden indireceğiniz wincachegrind programı ile analiz edebilirsiniz.

[xDebug]
xdebug.remote_enable = 1
xdebug.profiler_enable=On
xdebug.profiler_output_dir="D:/Server/xDebug"
xdebug.profiler_append=On 

MySQL-Front KURULUMU

MySQL-Front ücretsiz (eskiden ücretliydi) bir MySQL veritabanı organizatörü. Kolay yoldan veritabanı ekleme, tablo ekleme, düzenleme, sorgu çalıştırma vb gibi işlemleri yapabiliyor. Kullanması gayet basit. Biraz kurcaladığınızda gayet kolay olduğunu fark edeceksiniz. Programı http://www.mysqlfront.de/ adresinden indirebilirsiniz.

Biraz uzun bir yazı olduğunun farkındayım. Bu yazının devamı daha gelecek. Eklemeyi düşündüğüm bir kaç nokta daha var.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Güvenlik Kodu * Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.