Scoop paket yöneticisi ile PHP MySql geliştirme ortamı hazırlama

Windows ortamında geliştirme yapmak için birçok harici yazılımı farklı araçlarla kurmamız gerekiyor. Bunların bazıları kendi ortamlarında çalışırken birçoğu sistemin geneline etki eden yan etkilere sebep oluyor. Özellikle hayatımıza SSD sürücüler girmeden önce Visual Studio ve özellikle Microsoft SQL Server kurulumu yapan kişiler sisteme ne kadar müdehalede bulunduğunu ve genel bir yavaşlamaya sebep olduklarını bilirler. Hem bu tarz yan etkilerin önüne geçmek her de her ortamda aynı geliştirme ortamını sağlayabilmek adına paket yöneticilerini kullanabiliriz.

Paket yöneticileri linux ile uğraşanların yabanclı olduğu bir kavram değil. apt, pacman, yum gibi farklı paket yöneticileri linux’ün ilk günlerinden beri hayatımızı kolaylaştıran araçlar arasında buluyor. Bu tarz araçlar ile linux ortamında yazılım kurulumlarını kolayca gerçekleştirebiliyoruz.

Windows için bu paket yöneticilerine alternatif olarak karşımıza ilk çıkan yazılım chocolatey oluyor.

Chololatey’i kurduktan sonra artık linux ortamındaki apt-get install komutuna benzer şekilde choco install mysql benzeri komutlar ile kurulum yapabiliyoruz. choco oldukça geniş bir paket arşivine sahip vlc den sql server express e kadar birçok paketi choco reposunda bulabilirsiniz.

https://chocolatey.org/packages

Scoop da chocolatey’e benzer bir paket yöneticisi fakat çok daha minimal bir anlayışa sahip. Her şeyden önemlisi scoop ile yüklediğiniz araçlar sisteminize müdehale etmiyor. Kullanıcı seviyesinde yükleniyor ve bu yazılımları yüklemek için scoop’a admin yetkisi vermenize bile gerek kalmıyor. Scoop üzerinden örneğin mysqli yüklediğinizde scoop otomatik olarak servis oluşturmuyor. Bu aşamaları da kendiniz isterseniz yapabiliyorsunuz.

Scoopu yüklemek için powershell üzerinden alttaki komutu çalıştırmanız yeterli.

Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

Detaylar için scoop’un resmi sitesine de bakabilirsiniz

https://scoop.sh

Artık scoop install ile istediğimiz araçları yükleyebiliriz. Eğer kullanmak istediğiniz araçların son sürümlerini değil de önceki sürümlerini yüklemek isterseniz versions bucketını da scoop a dahil etminizde fayda var. bunun için alltaki komutu kullanabilirsiniz.

scoop bucket add versions

Şu aşamadan sonra scoop update diyerek güncel kurulum adreslerini çekip mysql ve php kurulumunu yapabiliriz.

Kurulumunu yapabileceğimiz paketleri kontrol etmek için scoop search komutunu kullanabiliriz.

Görüldüğü gibi versions bucketındaki paketler ayrıca listeleniyor.
scoop install php mysql56

diyerek php7 ve mysql5.6 kurulumunu gerçekleştirebiliriz. Bu işlemden sonra komut satırı üzerinden php, mysql, mysqld, mysqladmin gibi komutları kullanabiliyoruz.

scoop mysql i kendi kurup herhangi bir görsel kurulum ekranı açmadan kendi yüklüyor

varsayılan kurulumda mysql in şifresi bulunmuyor şifre belirmemek için alttaki komutu kullanabilirsiniz

mysqladmin -u root password newpassword

mysql’i windows servisi haline getirmek için mysqld üzerinde bulunan install komutunu kullanabiliriz.

mysqld --install-manual

Ardından windows servis yöneticisi üzerinden mysql’in başlangıcını otomatik yaparsak sistem başlangıcından otomatik olarak başlayacaktır. Windows servis penceresini hızlı açmak için başlat > çalıştır (Win+R) üzerinden services.msc ile ulaşabiliriz.

Artık mysql i komut satırı üzerinden kullanabiliriz

Benzer şekilde php’nin de komut satırından sürümünü kontrol edebiliriz

Php ile istediğimiz dizinde yerel geliştirme ortamı başlatmak için ise

php -S localhost:3000 

komutunu kullanabiliyoruz

ektra php extesionları açmak için php.ini dosyasınındaki

extension_dir = "ext" 

satırındaki commenti kaldırıp istediğimiz extensionları aktifleştirmemiz yeterli. örnek bir php.ini için alttaki linke bakabilirsiniz.

https://gist.github.com/roser137/7228628d1db04a8094f485f6bba332a1

Bu sayede wamp veya xampp sistemlerinde olduğu gibi alt dizin oluşturmaya gerek kalmadan python ve node benzeri bir şekilde doğrudan localhost üzerinden geliştirme yapabiliyoruz.

Bu şekilde yaptığmız geliştirme ortamında .htaccess gibi dosyalar ile apache’ye yönelik ayarlamalara gerek kalmadan sorunsuzca routing işlemlerini gerçekleştirebiliyoruz.

nssm ile başlangıça servis yerleştirme

scoop ile yüklenen paketler sisteme müdehale etmiyor, ek windows servisleri oluşturmuyor. mysql için bunu yukarıda anlattığım gibi yapabiliyoruz çünkü mysql bunu dahili olarak destekliyor. fakat php, nginx gibi yazılımlar kurmak ve bunları başlangıça yerleştirmek istiyorsak nssm den faydalanbiliriz.

scoop ngix php cgi örnek config

    server {
        listen       80;
        server_name  localhost;

        root   c:/users/user/www;

        location / {
            autoindex on;
            index  index.html index.htm index.php;            
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

Şimdilik bu kadar. İlerleyen yazılımlarında scoop ile grep, curl, ack gibi araçlar ile geliştirme ortamımızı nasıl daha kullanışlı hale getirebiliriz onlara bakacağız. Ayrıca aynı makinede farklı python, php versionlarını nasıl yönetebiliriz onları inceleceğiz.

Bir yanıt yazın

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