macos üzerine terminal kullanarak apache, php, mysql ve phpmyadmin kurulumu

bu konuda brew gibi alternatifler kullanmadan yazılmış hiç kaynak bulamadığım için kendi kurulum notlarımı paylaşıyorum.

macos üzerine homebrew vs kullanmadan apache, php, mysql ve phpmyadmin kurulumu

vscode kurulumu

hem kod çalışmalarınızda hem de terminal kullanımı için çok pratik ücretsiz bir araç bunu kurmanızı öneririm.
https://code.visualstudio.com/download

apache kurulumu

aşağıdaki adreslerden apache’nin son sürümünü, arp ve arp-util paketlerini tar.gz olarak indirelim
https://httpd.apache.org/download.cgi
https://apr.apache.org

sonra hepsini arşivden çıkartalım. burada dikkat edilecek husus apache arşiv klasörünün içerisindeki /srclib klasörünün içerisine apr ve apr-util isminde iki klasör oluşturup bu paketleri bu klasörlerin içerisine boşaltalım. (açtığımız klasörlerde versiyon numarası vb bulunmamalı.

şimdi apache paketinin derlemesini yapacağız, arşivden çıkarttığınız klasörün içerisine terminal üzerinden erişin. yükleme yapılacak konumu ben varsayılan olan /usr/local/apache2 konumu olarak seçtim.

bu konuma klasör oluşturmak için aşağıdaki komutu kullanabilirsiniz, sonrasında derleme ve kurulumu yapıyoruz.

sudo mkdir /usr/local/apache2
sudo ./configure --with-included-apr --prefix=/usr/local/apache2 --
enable-deflate


sudo make
sudo make install

bu aşamada, apache’nin /usr/local/apache2 konumuna kurulmuş olması gerekiyor.

config dosyasında gerekli düzeltmeyi yapalım (code yazdığımız için vs code’da açılacak, siz başka bir editör ile (nano, vi) de açabilirsiniz.

code /usr/local/apache2/conf/httpd.conf

ServerName kısmını search (cmd-f) ile bulup burayı şu şekilde düzenleyelim ve kaydedelim. yetki isteyebilir, şifremizi girip onay verelim.

ServerName localhost:8080

aşağıdaki komut ile apache’yi çalıştıralım ve tarayıcıya localhost yazarak test edelim.

sudo /usr/local/apache2/bin/apachectl -k start

yukarıdaki sayfayı görüyorsanız kurulum başarılı bir şekilde tamamlanmış demektir. göremiyorsanız bulunduğunuz aşama ile ilgili bir google araması yapabilir, ya da aşağıdaki yorum kısmına yazabilirsiniz.

dosyalarınızın olacağı varsayılan document root’u httpd.conf dosyasındaki aşağıdaki kısımdan değiştirebilirsiniz.

sudo /usr/local/apache2/bin/apachectl start
sudo /usr/local/apache2/bin/apachectl restart
sudo /usr/local/apache2/bin/apachectl stop

yukarıdaki komutlar ile sırasıyla apache’yi açabilir, yeniden başlatabilir ve durdurabilirsiniz. httpd.conf dosyasında yaptığınız değişikliklerin geçerli olması için yeniden başlatmanız gereklidi.

macos kendi üzerine kurulu gelen httpd ve apachectl ‘ye yönlendirme yapıyorsa aşağıdaki sembolik adresleme ile doğru konumu gösterelim.

cd /usr/local/bin
sudo ln -sf /usr/local/apache2/httpd httpd
sudo ln -sf /usr/local/apache2/apachectl apachectl
sudo apachectl restart

şu an localhost üzerinden sayfanızı görebiliyor olmalısınız.
şimdi apache’yi stop komutu ile kapatıp bir sonraki adıma geçebiliriz.

localhost ve 127.0.0.1 ile erişebilmek istiyorsanız aşağıdaki gibi düzenleme yapabilirsiniz. bu başka alan adı eklemeler için de fikir verecektir. key word: virtualhost

#ServerName www.example.com:80
ServerName localhost:80
<VirtualHost 127.0.0.1>
ServerAlias 127.0.0.1
DocumentRoot "/your-document-root/www"
</VirtualHost>

php kurulumu

bu adresten php’nin ve iconv kütüphanesinin son sürümünü tar/tar.gz olarak indirelim ve arşivden çıkartalım. benim kurulum yaptığım tarihte son stabil php sürümü 8.2.3. ve iconv 1.17
örneklerdeki dosya yolunu kendi versiyonunuza göre değiştirmeyi unutmayın.
https://www.php.net/downloads.php
https://www.gnu.org/software/libiconv/#downloading

önce iconv kütüphanesini yüklüyoruz. kütüphaneyi tar arşivinden çıkartıp terminalden klasöre erişelim ve yüklemeyi tamamlayalım.

cd ~/Downloads/libiconv-1.17
sudo ./configure --prefix=/usr/local
sudo make
sudo make install

şimdi php'yi yüklüyoruz..
cd /usr/local/php/php82
sudo ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/usr/local/apache2/bin/apxs --with-bz2 --with-zip --with-zlib --enable-mbstring --with-iconv --with-config-file-path=/PATH-TO-YOUR/php.ini
sudo make
sudo make install

önce cd ile tar.gz arşivinden çıkarttığımız php klasörümüzün içerisine giriyoruz. varsayılan olarak indirilenler klasörünü kullandım. indirdiğiniz konumu ve versiyon numaralarını kendinizinkiyle değiştirmeyi unutmayınız.

sonrasında ise derlememizi konfigüre ediyoruz. php-mysql kütüphanesini eklediğimiz parametreye dikkat.
sırasıyla make ve make install komutlarını gönderiyoruz.

kurulum tamamlandıktan sonra php.ini dosyamızı ve apache ile bağlantıyı kurabilmek için önceki adımdaki httpd.conf dosyamızı düzenleyeceğiz.

php.ini dosyası benim kurulumumda varsayılan olarak /usr/local/etc/php/8.0 klasörünün altındaydı. ben buradaki php.ini dosyasını silip yine bu klasörde var olan php.ini-production dosyasını kendi apache web document root’umun altına kopyalıyorum ve ismini php.ini olarak değiştiriyorum. config ve log dosyalarının bu ana klasörün altında olması sonrası için bana kolaylık sağlıyor.

ilk olarak httpd.config dosyasında aşağıdaki satırın önündeki # karakterini silerek aktifleştiriyoruz. kaydedip apache için restart komutu verelim. (eğer aktifleşmişse ellemeyelim)

LoadModule php_module modules/libphp.so

daha sonra </Directory> satırından sonra .php dosyalarının apache tarafından işlenebilmesi için aşağıdaki bölümü ekliyoruz.

<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

mysql kurulumu

bu bağlantıdan mysql’in son sürümünü dmg olarak indirin. benim kurulum yaptığım esnada macos için son sürüm 8.0.32
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-macos13-x86_64.dmg

mysql grafik arayüzü ile yüklemenizi tamamlayın.

phpmyadmin kurulumu

https://www.phpmyadmin.net/downloads/

kaynaklar

apache official manual
https://httpd.apache.org/docs/

php official manual
https://www.php.net/manual/en/install.unix.apache2.php

mysql database manual
https://dev.mysql.com/doc/refman/8.0/en/

creating-a-symlink-doesnt-work-how-do-i-create-it
https://apple.stackexchange.com/questions/449737/creating-a-symlink-doesnt-work-how-do-i-create-it

explain shell – verdiğiniz shell komutların detaylı anlatımı
https://explainshell.com/

installing-phpmyadmin-4-9-1-on-macos-catalina
https://tintinve.medium.com/installing-phpmyadmin-4-9-1-on-macos-catalina-10-15-49fdacc7f92d

php-build
https://github.com/php-build/php-build

https://github.com/pierrejoye/php_zip

Bir yanıt yazın