komut satırımızdan aldığımız verileri kimi zaman mailboxımıza atmak isteyebiliriz veya otomatik çalışan test sonuçlarının mailimize gelmesini de.. Ancak çok kullanılan mail sunucularının (gmail, yahoo, vb..) artık güvenilir kaynaktan gelmeyen mailleri spam dahi saymadığı ve direkt yok saydığı bir gerçek. Bu yüzden bu işlemleri smtp üzerinden yapmak gibi bir gereksinim doğuyor.
Bu işin windows platformunda nasıl yapıldığını kısaca http://www.dubluve.net/2013/08/01/windows-komut-satirindan-mail-gonderimi/ yazımızda anlatmıştık. Şimdi sıra mac’te ve Linux sistemlerde. Örneği gmail üzerinden vereceğim.
1. Adım : Postfix main.cf dosyasını düzenleyelim
sudo vim /etc/postfix/main.cf
sizin main.cf dosyanız farklı bir yerlerde olabilir tabi ki. Bir zahmet bulunuz.
Daha sonra commentlenmiş relayhosts yazısının hemen altına
relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_use_tls = yes
2. Adım : sasl_password dosyası yoksa oluşturalım
sudo vim /etc/postfix/sasl_passwd
içerisine aşağıdakini yazalım
[smtp.gmail.com]:587 [email protected]:password
3. Adım : bir kaç izin ve service restart felan..
sudo chmod 600 /etc/postfix/sasl_passwd sudo postmap /etc/postfix/sasl_passwd sudo launchctl stop org.postfix.master sudo launchctl start org.postfix.master
bu launchctl sadece mac için geçerli. (mail’in konsol üzerinden gönderimlerde hizmet olarak çalışması gerekmiyor diye hatırlıyorum.)
4. Adım : Deneyelim :
echo "bu bir test maili bakalım gidecek mi?" | mail "[email protected]"
Bu işlem sonrasında mail gerçekten gmaile düşüyorsa tamamdır. Tabi sizin bu ayarlarınızı yaptığınız mail adresinizi SMTP olarak kullanmanız gerekiyor. (Bu tıpkı elektrikli ev aletlerin içinden çıkan olası arıza durumlarında yapılacaklar listesindeki “fişi taktığınıza emin olun” maddesine denk düşüyor sanırım)
Bu işi Linux için şöyle yapanlar da mevcut. Onu da şu an türkçeleştirmeye mecalim yoktur. Buyrunuz linki : http://tecadmin.net/send-email-smtp-server-linux-command-line-ssmtp/
]]>Çok fazla uzun söze gerek yok, textwrangler bu işe birebir, hatta daha fazlasını (notepad++ kullanım alışkanlıkların bir miktar değişmesi beklenerek) yapıyor.
Buyrunuz App store linki : https://itunes.apple.com/tr/app/textwrangler/id404010395?l=tr&
]]>İnternetteki dökümanlar genelde konu güncel iken yazıldığı için, siz bir yazılım dilinin daha önceki versiyonlarına ait kurulumlar yapmak istediğinizde, varsayılan paket yöneticisi tarafından hep en son sürümü kurulmakta, ve bu da bizim o anki ihtiyaçlarımızı karşılamamaktadır.
Ben de birkaç tane projedeki php 5.3 gereksinimim sebebiyle böyle bir şey yapmak durumunda kaldım. (aslında vagrant daha güzel bir çözüm tabi ki dileyen araştırabilir.)
Öncelikle Mac’inizde homebrew (http://brew.sh/) yüklü değilse, bunu yüklememiz gerekiyor. Bunun için konsolunuzda
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
komutunu çalıştırmanız gerekiyor.
Nginx kurulumu
brew install nginx
Bu kadar basit 
Nginxi başlatmak için
nginx
komutunu yazmanız yeterli. (Evet konsola sadece nginx yazacağız, ubuntu gibi değil) Ancak sudo olarak çalıştırmanız gerekebilir.
Php kurulumu
php yi Nginx ile iletişim kurabilmesi için 2 şekilde kurabiliriz. 1. yöntem cgi ile. 2. yöntem ise, php-fpm ile. php-fpm ile kurmak daha mantıklı, çünkü fcgi process manager ile yönetilmeyen bir cgi kullanımı aynı anda çok fazla processi handle etmenizi yani stress test vb toolları çalıştırdığınız kısımlarda size problem çıkartabilir. Ben de bu ve birkaç sebepten dolayı php-fpm ile kurmayı anlatacağım. Ancak cgi ile kurmak isteyen için de sadece 1 parametre değişiyor 
brew install php53 --with-mysql --with-suhosin --with-intl --with-imap --with-fpm
sondaki —with-fpm kısmı yerine –with-cgi yazarsanız da cgi ile kurmuş olursunuz.
Mac OS X içerisinde PHP, Ruby, Python gibi dillerin CLI (konsol üzerinden çalıştırılabilir) versiyonları ile birlikte geldiği için şu anda halen konsolda php -v yazdığınızda php 5.4.24 veya benzeri başka bir versiyonu görürsünüz. Ancak web arayüzünden (Yani browserdan nginx ile) girdiğinizde ilgili php 5.3 sürümünü çalıştırmış olacağız.
Eğer siz konsoldan da php 5.3 çalıştırmak istiyorsanız,
export PATH=/usr/local/Cellar/php53/5.3.28/bin:$PATH
şeklinde komut çalıştırmanız gerekiyor. (sudo ile çalıştırmanız icap edebilir).
Ancak bu şekilde yaparsanız da bilgisayarınızı yeniden açtığınızda (ya da konsoldaki oturumu kapattığınızda) bu ayar kaybolacaktır. Bunu kaybetmemek için bu komutu /usr/local/Cellar/php53/5.3.28/bin i sudo ile /etc/paths e yazmalısın.
Mac OS X üzerinde php-fpm ubuntudaki gibi /etc/init.d/php-fpm start stop, vb.. şeklinde kullanılamıyor. Bu yüzden kullanımı biraz farklı.
Php-fpm yi hemen başlatmak için
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php53.plist
Bilgisayarınız her açıldığında otomatik başlasın istiyorsanız da
ln -sfv /usr/local/opt/php53/*.plist ~/Library/LaunchAgents
şeklinde işlem yapmanız gerekiyor.
Şimdi sıra php-fpm.conf dosyasını bulup, buradaki ayarlardaki loglara veya dosyalara izin vermek kısmında.
php-fpm.confu bulup ilgili pid ve log dosyasını ve access log dosyasını yazabilmesi için yetki vb verip o gerekli klasörleri oluşturursan gerisi tamamdır. (Yine ubuntunun aksine, /var/run/php-fpm.pid yerine phpnin kendi klasörüne yapmanız daha mantıklı olacak ben bu şekilde yaptım. Log için de aynı yeri belirttim.)
percona-server kurulumu
Nginx kadar basit aslında.
brew install percona-server
Percona server’i hemen başlatmak için
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.percona-server.plist
Bilgisayar her başladığında başlatmak için ise,
ln -sfv /usr/local/opt/percona-server/*.plist ~/Library/LaunchAgents
komutlarını çalıştırmanız gerekiyor.
Bu yazı nginx ayarları, php ayarları ve mysql ayarlarının nasıl yapıldığı ile ilgili olmadığı için o detayları burada paylaşmıyorum. Ancak ihtiyacı olan tabi ki danışabilir.
Umarım yararlı olur.
]]>