OS – Dubluve.net http://www.dubluve.net Biz de yazılımcıyız Fri, 29 Apr 2016 21:50:31 +0000 tr-TR hourly 1 http://i2.wp.com/www.dubluve.net/wp-content/uploads/2016/04/logo_small.png?fit=32%2C29 OS – Dubluve.net http://www.dubluve.net 32 32 Komut satirindaki mail komutu ile smtp mail gonderimi (MAC ve Linux icin) http://www.dubluve.net/2014/07/31/komut-satirindaki-mail-komutu-ile-smtp-mail-gonderimi-mac-ve-linux-icin/ http://www.dubluve.net/2014/07/31/komut-satirindaki-mail-komutu-ile-smtp-mail-gonderimi-mac-ve-linux-icin/#respond Wed, 30 Jul 2014 22:06:10 +0000 http://www.dubluve.net/?p=2899 Selamlar;

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/

]]>
http://www.dubluve.net/2014/07/31/komut-satirindaki-mail-komutu-ile-smtp-mail-gonderimi-mac-ve-linux-icin/feed/ 0
mac osx icin notepad++ benzeri uygulama – textwrangler http://www.dubluve.net/2014/07/29/mac-osx-icin-notepad-benzeri-uygulama-textwrangler/ http://www.dubluve.net/2014/07/29/mac-osx-icin-notepad-benzeri-uygulama-textwrangler/#respond Mon, 28 Jul 2014 23:44:00 +0000 http://www.dubluve.net/?p=2894 Windowsta varsayılan metin düzenleyici olarak notepad++ kullanlardan biri olarak, mac için de benzer ihtiyaçlarım adına doğru düzgün bir metin düzenleyiciye ihtiyaç duydum. İnternette “notepad++ equivalent for mac osx” şeklinde arattığımda, bu programı hemen buldum.

Ç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&

]]>
http://www.dubluve.net/2014/07/29/mac-osx-icin-notepad-benzeri-uygulama-textwrangler/feed/ 0
Mac OS X Nginx PHP 5.3 ve percona-server (mysql) kurulumu http://www.dubluve.net/2014/07/26/mac-os-x-nginx-php-5-3-ve-percona-server-mysql-kurulumu/ http://www.dubluve.net/2014/07/26/mac-os-x-nginx-php-5-3-ve-percona-server-mysql-kurulumu/#respond Sat, 26 Jul 2014 01:42:53 +0000 http://www.dubluve.net/?p=2887 Bu yazıda Mac OS X üzerine Nginx ve PHP5.3 (özellikle php5.3, daha yenisi değil) kurmayı anlatmaya çalışacağım.

İ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.

]]>
http://www.dubluve.net/2014/07/26/mac-os-x-nginx-php-5-3-ve-percona-server-mysql-kurulumu/feed/ 0
Windows komut satırı alternatifi (command prompt alternative) http://www.dubluve.net/2014/03/26/windows-komut-satiri-alternatifi-command-prompt-alternative/ http://www.dubluve.net/2014/03/26/windows-komut-satiri-alternatifi-command-prompt-alternative/#respond Wed, 26 Mar 2014 18:52:21 +0000 http://dubluve.net/?p=2842 Linux kullananlar bilir ki, windows komut satırı linuxun yanında çok temel ve zor kalıyor.

Bu noktada küçük bir araştırma ile Console2 diye bir program buldum. Bu program windowsların komut satırını çoklu tab, ve kısayollar ile birlikte arayüzü ve fontları değiştirilebilen, oldukça kolaylaştırılmış ve güzel bir araç haline getiriyor. Windows 7 ile kullanıyorum, güzel çalışıyor.

Umarım işinize yarar.

]]>
http://www.dubluve.net/2014/03/26/windows-komut-satiri-alternatifi-command-prompt-alternative/feed/ 0
E: dpkg was interrupted | dpkg –configure -a’ problemi (ubuntu) http://www.dubluve.net/2014/02/05/e-dpkg-was-interrupted-dpkg-configure-a-problemi-ubuntu/ http://www.dubluve.net/2014/02/05/e-dpkg-was-interrupted-dpkg-configure-a-problemi-ubuntu/#respond Wed, 05 Feb 2014 14:44:29 +0000 http://dubluve.net/?p=2833 Ubuntu’ya gelen güncellemeyi update-manager ile kurmaya çalışıyordum. Ancak uzun süre geçmesine rağmen update-manager durdu ve kapatılamaz hale geldi. Komut satırından da kill edemedim çalışan processi.

Bilgisayarı yeniden başlattım, ardından komut satırından apt-get update yapmak istedim. Aldığım hata;

"E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem."

Sebebi kurmak istediğim paketlerin dpkg ayarları ile ilgiliymiş. Bu aşamada tekrar update-manager açıp güncellemeyi oradan yapmaya çalışırsanız, üstte anlattığım durum tekrar karşınıza çıkacak ve bilgisayarı yeniden başlatmak zorunda kalacaksınız.

Durumu çözebilmek için ilk önce şu komutu çalıştırıp, kurulması yarım kalan paketleri fixliyoruz.

sudo apt-get install -f

Ardından şu komutu çalıştırarak dpkg konfigurasyonunu düzenleyip, iptal ettiğimiz paketleri kuruyoruz.

sudo dpkg --configure -a
]]>
http://www.dubluve.net/2014/02/05/e-dpkg-was-interrupted-dpkg-configure-a-problemi-ubuntu/feed/ 0
Github Pages ve Jekyll ile blog oluşturmak http://www.dubluve.net/2014/01/26/github-pages-jekyll/ http://www.dubluve.net/2014/01/26/github-pages-jekyll/#respond Sat, 25 Jan 2014 23:39:14 +0000 http://dubluve.net/?p=2821 İlk olarak Jekyll nedir, ondan bahsedelim. Jekyll, statik içeriklerle site oluşturabildiğiniz bir araçtır. Ruby dili ile yazılmıştır. İçerik oluşturduğunuzda, header, sidebar, footer kısımları ( tabi kullandığınız temaya ve layout yapısına bağlı başka yerler de olabilir )  sabit kalır ve içerik kısmı url’e göre değişir.

GitHub Pages, projelerinize vs. websitesi oluşturabildiğiniz GitHub reponuzda host edilen, dolayısıyla terminalden git ile kontrol edebileceğiniz bir yapıdır.

Peki Jekyll’nin GitHub ile olayı nedir? Oluşturduğunuz bir GitHub Page içerisine, Jekyll push ettiğiniz takdirde, bir adet blogunuz olmakta. İşin özeti tamamen bu aslında.

Hızlıca bu işlemleri yapmak istiyorsanız, şu linke tıklamanız yeterli. Adım adım ne yapacağınız yazıyor, ancak ben kısaca bahsedeyim.

İlk olarak github içerisinde {{username}}.github.com isminde bir repo oluşturuyorsunuz. Ardından bilgisayarınızda Jekyll’i clonelayıp, remote set-url ile oluşturduğunuz repoya gönderiyorsunuz. Ve {{username}}.github.io adresiniz yaklaşık bir 10 dakika içerisinde açılmış oluyor.

Linkini verdiğim sitede layoutları bootstrap ile yapılmış bir Jekyll var. Eğer isterseniz tabi ki kendiniz de temasını şeklini felan düzenleyebilirsiniz. Ayrıca eğer isterseniz mevcut bir Jekyll’den clonelayıp kendiniz bir tane oluşturabilirsiniz. Burada bir liste var örneğin : https://github.com/jekyll/jekyll/wiki/Sites

Postların tamamı, _posts klasörünün altında bulunuyor. Eğer terminalden rake post title=”deneme” derseniz, _posts klasörünün altında, current-date-deneme.md isminde bir dosya oluşuyor. Bu dosyayı herhangi bir editör ile düzenlediğinizde bir adet post yazmış oluyorsunuz. Ancak bu şekilde yapmak zorunda değilsiniz, _posts altında herhangi bir dosya oluşturup onu {{username}}.github.io/{{dosya_adi}} şeklinde veya bir klasör oluşturup ardından onun altında dosya oluşturup {{username}}.github.io/{{klasör}}/{{dosya_adi}} şeklinde çalıştırabilirsiniz.

Jekyll’i localde çalıştırabilmek için bilgisayarınızda ayrıca ruby kurulu olması gerekiyor. Onu da buradaki yazımda anlatmıştım, belki yardımcı olabilir.

Ayrıca localde çalışırken başıma gelen bir olay; _config.yml dosyası jekyll serve dediğinizde load oluyor. Üzerinde değişiklik yaptığınızda tekrar jekyll serve  demeniz gerekiyor.

Localde çalışırken başıma gelen bir başka hata ise şu şekildeydi : runner.rb:365:in `require_program’: program version required (Commander::Runner::CommandError)

Çözümü ise : sudo gem install json

Jekyll’nin asıl amacı, yazılımcıların kod yazar gibi blog içeriği oluşturmalarıymış. Ufak bir araştırma yaptığımda kullanan sayısının bir hayli çok olduğunu da gördüm.

]]>
http://www.dubluve.net/2014/01/26/github-pages-jekyll/feed/ 0
tail -f windows karsiligi http://www.dubluve.net/2014/01/03/tail-f-windows-karsiligi/ http://www.dubluve.net/2014/01/03/tail-f-windows-karsiligi/#respond Fri, 03 Jan 2014 16:03:52 +0000 http://dubluve.net/?p=2804 Linux’ta kullanımına alıştığımız tail komutunun (tail -f komutunun) windows dilinde de bir karşılığını bulabildim. Ancak bu karşılık windowsun standart cmd ‘sinde çalışmıyor. PowerShell üzerinde çalışabiliyor.

Get-Content C:/path/to/file.txt -wait

Komutunu PowerShell üzerinde yazarsanız, klasik tail -f işlemini yapıyor. İşlem bitince yine ctrl + c tuşuyla çıkabiliyorsunuz.

Umarım işinize yarar.

]]>
http://www.dubluve.net/2014/01/03/tail-f-windows-karsiligi/feed/ 0
partition not found grub rescue hatası ve çözümü http://www.dubluve.net/2013/09/03/partition-not-found-grub-rescue-hatasi-ve-cozumu/ http://www.dubluve.net/2013/09/03/partition-not-found-grub-rescue-hatasi-ve-cozumu/#comments Tue, 03 Sep 2013 13:47:55 +0000 http://dubluve.net/?p=2752 İçerisinde Ubuntu ve Windows 7 işletim sistemleri dual boot olarak yüklü bilgisayarda, açılış sırasında aldığımız grub rescue hatasını aşağıdaki şekilde çözdük;

Boot ayarlarından USB’ye öncelik verdik ve içerisinde Ubuntu bulunan usb ile bilgisayarı başlattık. Install etmeden çalıştırdık. Ardından terminali açtık. Aşağıdaki komutları çalıştırdıktan sonra bilgisayarı restart ettik.

 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
 sudo apt-get install -y boot-repair && boot-repair

Bu şekilde sorunu halletmiş olduk.

]]>
http://www.dubluve.net/2013/09/03/partition-not-found-grub-rescue-hatasi-ve-cozumu/feed/ 2
linux toplu bul ve degistir (find and replace) islemi http://www.dubluve.net/2013/08/02/linux-toplu-bul-ve-degistir-find-and-replace-islemi/ http://www.dubluve.net/2013/08/02/linux-toplu-bul-ve-degistir-find-and-replace-islemi/#comments Fri, 02 Aug 2013 09:44:16 +0000 http://dubluve.net/?p=2724 Linuxta belirli dosyalar üzerinde find ve replace işlemi yapmak istiyorsak 2 komut kombinasyonu kullanarak bu işinizi halledebilirsiniz.

grep -l 'aratilacak_dizgi' * | xargs sed -e 's/aratilacak_dizgi/yeni_dizgi/' -i

sadece grep -l ‘aratilacak_dizgi’ ile içinde ‘aratilacak_dizgi’ olan dosyaları listeleyebilrsiniz. sed komutu ile de replace işlemini yapmış oluyoruz.

Umarım işinize yarar.

]]>
http://www.dubluve.net/2013/08/02/linux-toplu-bul-ve-degistir-find-and-replace-islemi/feed/ 1
Windows komut satirindan mail gonderimi http://www.dubluve.net/2013/08/01/windows-komut-satirindan-mail-gonderimi/ http://www.dubluve.net/2013/08/01/windows-komut-satirindan-mail-gonderimi/#comments Thu, 01 Aug 2013 06:24:53 +0000 http://dubluve.net/?p=2720 Linux üzerinde bu yazıda anlattığımız komut satırı üzerinden mail gönderimi windows için şu şekilde yapılabilmekte.

Öncelikle bu linkten mailsend adlı programı indirin. https://code.google.com/p/mailsend/downloads/detail?name=mailsend1.17b12.exe

Daha sonra bu exe dosyasını belirli bir yere kaydedin. Ben d:/ dizinime kaydettim.

Komut satırı üzerinden örneğin aşağıdaki komut ile mail gönderiminizi yapabilirsiniz. (Ben burada örnek olması açısından SMTP üzerinden gönderim yaptım.)

 

d:/mailsend.exe -to [email protected] -from [email protected] -starttls -port 587 -auth -smtp mail.domain.com.tr -sub "mail basligi" -M "mail icerigi" -user [email protected] -pass ******

Bu işlem windows 7 de denenmmiştir. Ayrıca, projenin anasayfasında konuyla ilgili detaylara ve detaylı kullanımlarına ulaşabilirsiniz. https://code.google.com/p/mailsend/

Bunu Neden kullanayım?
Ben bu işlemi bir git reposu üzerinde master merge işlemi sornasında tüm arkadaşlarıma mail atmamı, otomatikleştirmek için kullandım. Sizin tabi ki farklı ihtiyaçlarınız da olabilir.

Umarım işinize yarar.

]]>
http://www.dubluve.net/2013/08/01/windows-komut-satirindan-mail-gonderimi/feed/ 6