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
enable-deflate
sudo ./configure --with-included-apr --prefix=/usr/local/apache2 --
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