imagemagick nasıl kurdum: https://grepitout.com/install-imagemagick-cpanel-easyapache4/

yum install ImageMagick-devel ImageMagick-c++-devel ImageMagick-perl

pecl eklentilerine gelip imagick diye aratınız ve çıkan sonucu install deyiniz

/opt/cpanel/ea-php70/root/etc/php.ini dosyası sonuna şu kaydı ekleyiniz extension=imagick.so

/opt/cpanel/ea-php70/root/usr/bin/php -m | grep imagick

memcached nasıl kurdum: https://www.liquidweb.com/kb/how-to-install-memcached-on-centos-7/

Sonra servisi çalıştırdım service memcached restart

Sonra şu makaleye bakarak http://serverfault.com/questions/201981/launch-memcached-on-server-boot boot işlemi sırasına memcache i de ekledim.

chkconfig –add memcached
chkconfig memcached on

En son, sistemde kurulu gelmeyen Memcache PECL eklentisini kurdum: https://duvien.com/blog/installing-memcache-easyapache-4-php-7

Kate, KDE masaüstü ortamıyla gelen ve gelişmiş özellikler barındıran bir yazılım geliştirme aracı.

Yaklaşık 3 yıldır tüm kodlama işlemlerimi KATE ile yapıyorum. Lakin kimi isteklerimiz için her daim çözüm yolu bulmak mümkün olmuyor.

Mesela twig template engine renklendirmesi için kendi yolumu bulmam gerekmişti (https://github.com/yakusha/kate-twig)

Yeni gelen sürüm ile ise şikayetçi olduğum folding konusuna ve minimap konusuna biraz daha eğilmişler

Ubuntu Gnome LTS sürüm içinde Kate zaten harici depoyla geldiği için Kubuntu Backports (https://launchpad.net/~kubuntu-ppa/+archive/ubuntu/backports) deposunu eklemekte de bir sakınca görmedim.

Sonuç: Yeni Kate

Firefox 44 sürümüyle galiba Web Notification diye bir hizmet desteği daha eklendi.

Haber sitesi veya belki borsa sitesi gibi sık içerik girilen ve takip edilmesi gereken siteler için elzem olabilecek bu özellik girdiğimiz her siteye eklenmeye başlayınca açılışta her sitenin defalarca açtığı saçma bir splash screen haline dönüşüyor.

Biz de madem kullanmıyoruz, kapatalım gitsin.

about:config yazıp yesledikten sonra

dom.webnotifications.enabled değerini arayıp false yapıyoruz ve bitti elveda web notification.

Muhtemelen tarayıcıyı yeniden başlatınca bu ayar aktif olacaktır.

Kaynakça: http://techdows.com/2015/12/disable-firefox-push-notifications.html

Not: Genel olarak web notification’ı kapatmak twitter’ın tweet atmak, retweet ve like gibi temel özelliklerini bozuyor.

Bir buçuk yılda yaptığımız işlerden geriye kalan repostory yığını: 22 adet!

Arada yapıp da repolara almadığımız veya yayına geçmediği için silip attıklarımızla 1,5 yılda neredeyse 30 farklı projeyle uğraşmışım…

Maşallah fena uğraşmışım 🙂

Bir sitenin namaz vakitleri sayfaasında (http://www.haberiyakala.com/istanbul-namaz-vakitleri) rastgele ayet göstermemiz gereken bir alan yer alıyor.

Lakin anlam bütünlüğünü bozmadan, sağlam bir kaynaktan ve rastgele nasıl ayet gösterebiliriz.

Bunun için önce elimizde bir ayet havuzu / ayet arşivi olması gerekiyordu. Birkaç ayet seçkisi bulduk ama onlar da hangi mealden alındığı belli olmadığı için kullanmakta çekindik.

Bu durumda iş başa düştü ve Diyanet İşleri Başkanlığı’nın şu sayfasından (http://mushaf.diyanet.gov.tr) girip konu fihristinden ahlak kısmından ayetleri seçtik.

Bir ayet birden çok alt konuda listelendiği için tekrar edenleri tek sefer kayıt ettik ve elimizde 100 ayet’in Meali oluştu.

işin php tarafına gelirsek.

Okumaya devam et

sudo apt-get install mariadb-server 

dediğim andan itibaren başıma gelenler.

a) Parola tanımlı değil ve tanımlanması gerekiyor…

sudo pkill -9 mysqld
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking & 
mysql -u root
use mysql;
update user set password=PASSWORD("123") where User='root';
update user set plugin='' where User='root';
flush privileges;
\q

Sonra asıl çile başlıyor; data yolunu değiştirmek. Veritabanlarını ayrı bir bölüm olarak bağladığım /c/www-db altında tutmayı tercih ettiğim için, benim için zorunluluk oluyor.

Dönersek, data yolunu nasıl değiştireceğiz!

Önce mysql servisini durduruyoruz.

sudo service mysql stop

Sonra datalarımızı taşıyacağımız hedef klasörü oluşturuyoruz. (Hedef klasör zaten varsa es geçebilirsiniz.) ve veritabanı dosyalarımızı hedef dizine taşıyoruz ve en son hedef dizindeki dosyaları listeliyoruz.

mkdir -p /c/www-db
sudo cp -R /var/lib/mysql/* /c/www-db/
sudo chown -R mysql:mysql /c/www-db
ls -lZ /c/www-db

Şimdi datayolumuzu değiştirmek için conf dosyamızı açabiliriz.

sudo kate /etc/mysql/mariadb.conf.d/50-server.cnf

datadir değerini /c/www-db olarak değiştiriyoruz. bind-address = 127.0.0.1 önüne # işareti koyup yorum haline getiriyoruz.

Sonra servisi tekrar başlatıyoruz.

sudo pkill -9 mysqld
sudo pkill -9 mysql
sudo service mysql restart

gnome-system-monitor ile açıp mysql’in yeni verdiğimiz data yolunu okuyup okumadığını kontrol etmekte fayda var.

Kaynaklar:
* http://www.liberiangeek.net/2014/10/reset-root-password-mariadb-centos-7/
* http://ubuntuforums.org/showthread.php?t=2275033
* http://stackoverflow.com/questions/26474222/mariadb-10-centos-7-moving-datadir-woes

Ne kadar uğraşsam da her kurulum sonrası Apache ve MySQL’i yeniden, kendi çalışma mantığıma göre yeniden kurmam gerekiyor.

Kendi çalışma mantığım derken; ben Ubuntu’yu kurarken

/ -> root
/home
/c
/d

diye ayrı bölümler oluşturup kuruyorum. / -> Root dizini her kurulumda formatlanırken /home /c ve /d dizinlerine hiç dokunmuyorum.

/c dizininde web siteleriyle ilgili yaptığım işleri tutarken
/d dizininde diğer film, müzik, abur cubur dosyaları tutuyorum.

/c/www -> localhost yolum iken
/c/www-db -> veritabanı dosyalarının tutulduğu yol oluyor.

Bu sebeple her kurulumdan sonra dosya yollarını değiştirmem gerekiyor. İlaveten ek olarak kullandığım özellikler ve kütüphaneler de ayrı bir baş ağrısı.

İşte sırf bu yüzden kendime bu dökümanı hazırladım 🙂

Kurulumda php ve memcached birlikte kuruyorum. Arada xdebug, curl, gd, intl, json, mysql, xml ve memcached kütüphanelerini de aktif ediyorum.

Sürpriz bir şekilde Ubuntu 16.04 php 7 ile geliyor ve muhtemelen benim çok başımı ağrıtacak 🙁

Kuruluma geçmeden önce şahsen PPA eklemek taraftarıyım. Böylece en son sürümü kullandığımıza emin olabiliyoruz

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

Sonrasında paket kurulumuna geçiyorum.

sudo apt-get install apache2 php libapache2-mod-php php-cli php-cgi php-xdebug php-curl php-gd php-intl php-json php-mysql php-xml memcached php-memcached php7.0-mbstring

Paketler kurulunca ssl, rewrite vs aktif etmek lazım

sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod suexec
sudo a2enmod include

Sonrasında hata gösterimini aktif etmek için editör ile (ben kate kullanıyorum) ini dosyamızı açıyoruz. php 7 kullandığımız için ini dosyamızın yolu şöyle:

sudo kate /etc/php/7.0/apache2/php.ini

ilgili dosya boş ise bir sürüm üste bakıyoruz

sudo kate /etc/php/7.1/apache2/php.ini

iki değişiklik yapıyoruz; error_reporting arıyoruz ve aşağıdaki gibi düzenliyoruz

;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING

;display_errors = Off
display_errors = On

Bir kaç php değerine daha dokunmakta fayda görüyorum. Şu değerleri de aşağıdaki gibi düzenliyorum.

;short_open_tag = Off
short_open_tag = On

;memory_limit = 128M
memory_limit = 512M

;post_max_size = 8M
post_max_size = 200M

;upload_max_filesize = 2M
upload_max_filesize = 200M

;max_file_uploads = 20
max_file_uploads = 100

;allow_url_fopen = On
allow_url_fopen = Off 

Çoğu paylaşımlı sunucuda bu değer (allow_url_fopen) kapalı oluyor. Bu sebeple curl kullanmak zorunda kalıyorum ve local ayarlarımı da buna uyumlu tutuyorum.

Buraya kadar olan ayarların etki etmesi için apache’yi yeniden başlatıyoruz.

sudo service apache2 restart

Karşımıza Apache2 default sayfası çıktıysa apache çalışıyor demektir.

Şimdi Apache yolumuzu değiştirelim.

sudo kate /etc/apache2/apache2.conf

aşağıdaki kısmı buluyoruz ve yorum haline getiriyoruz


	Options FollowSymLinks
	AllowOverride None
	Require all denied



	AllowOverride None
	Require all granted



	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted

sonrasında şu direktifi ekliyoruz

DocumentRoot /c/www/  
# bu kısım supheli, test edip bakacağım     
#
#	Options FollowSymLinks     
#	AllowOverride all     
#

	Options FollowSymLinks             
	Options +indexes
	AllowOverride all     
	Order allow,deny       
	allow from all   

Sonrasında virtualhost dosyasındaki documentRoot değerini düzenleyelim

sudo kate /etc/apache2/sites-available/000-default.conf

deyip dosyayı açtıktan sonra DocumentRoot değerini şu şekilde düzenleyelim

	#DocumentRoot /var/www/html
	DocumentRoot /c/www

Sonrasında sunucuyu tekrar başlatalım

sudo service apache2 restart

http://localhost/ adresine tıkladığımızda dosyalarımız artık görünüyorsa büyük bir deveye hendek atlattık demektir.

Şimdi bir test dosyası oluşturup phpinfo() bakabiliriz.

Kaynakça:
* https://forum.ubuntu-tr.net/index.php?topic=24150.0
* http://askubuntu.com/questions/760907/upgrade-to-16-04-php7-not-working-in-browser
* https://help.ubuntu.com/16.04/serverguide/php.html

firefox adres paneline about:config yazıp yönetim he he deyip enterliyoruz.

açılan alanda browser.cache.disk.enable değerini true olduğunu görüyor, çift tıklayarak false haline getiriyoruz

sonrasında browser.cache.memory.enable değerini aratıp false olduğunu görüp çift tıklamayla true hale getiriyoruz.

geriye sadece ne kadar ram kullanacağımızı tanımlamak kaldı. Sağ tıklayıp yeni -> dizge deyip browser.cache.memory.capacity alanını tanımlıyoruz, değeri kısmına -1 yazmamız yetiyor.

Ne işe yarıyor derseniz; firefox’un tarayıcı cache’ini ram’e taşımış olduk.

Kaynak: http://lifehacker.com/5687850/speed-up-firefox-by-moving-your-cache-to-ram-no-ram-disk-required