Debian / Ubuntu Üzerinde Nginx ve Mysql ile WordPress Kurulumu

Standard

Merhabalar;

Nginx aslında bir Rus yazılım mühendisi tarafından başlangıçta mail servisi olarak tasarlanmış, ardından web sunucu olarak evrilip gelişmiş bir işletim sistemidir. Yaygın olarak (görece) apache’ye nazaran daha hızlı ve stabil bir yapıya sahiptir.

Staj yaptığım sırada böyle bir sisteme ihtiyacım oldu. Ve Türkçe döküman olmadığını farkettim, bende birkaç kaynaktan derlediğim bu işlemleri Türkçe’ye kazandırmak istedim.

Kuruluma depoları ekleyerek başlayabiliriz. (eğer depoları web yansısı kullanarak kur dediyseniz eklemeden de bu depolara erişebiliyorsunuz, dolayısıyla bu adımı geçebilirsiniz)

$ echo "deb-src http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx"  >> /etc/apt/sources.list
$ echo "deb http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list

Şimdi sistemi güncelleyelim ve repolarımızı ekleyelim;

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ondrej/mysql-5.5
$ sudo add-apt-repository ppa:ondrej/php5

Key güncellemesi yapıp, ihtiyacımız olan nginx php mysql-server ve bunları birbirine bağlayacak php5-mysql paketlerini sisteme kuralım;

$ curl http://nginx.org/keys/nginx_signing.key | apt-key add -
$ sudo apt-get update
$ sudo apt-get install nginx php5 php5-fpm  mysql-server php5-mysql

Kurulum sırasında mysql yüklenirken sizden root şifresi belirlemenizi isteyecektir, bu parola gayet önemlidir, bir kenara not alın, wordpress kurulumu sırasında bu bilgilere ihtiyacımız olacak.

Şimdi fpm servisini konfigüre edelim;

$ sudo nano /etc/php5/fpm/php.ini

CTRL + W yapıp, “cgi.fix_pathinfo” kısmını bulup, şu şekilde aktif edin (baştaki “;” silmeyi unutmayın)

cgi.fix_pathinfo=0

Nginx’i yapılandırırken, uzantısı php olan herşeyi process edilmesi için php-fpm’e ilet diyeceğiz, eğer cgi.fix_pathinfo özelliği devrede olursa ve örnek olarak http://url/falanca.jpg/filanca.php gibi bir istek gelirse ve filanca.php dosyası sistemde yoksa sistem hangi dosyanın işleneceğini tahmin etmeye çalışır ve heralde falanca.jpg diyerek işlenmesi için FastCGI’a iletir. Eğer kötü niyetli biri sisteminize içerisinde php kodları gömülü olan bir jpg yükleyip göndereceği URL’de önde kendi upload ettiği dosyanın ismini ardından da sistemde olmayan bir php dosyasını geçirirse, sistem olmayan php’yi bulamadığı için jpg dosyasının işlenmesi için FastCGI’a iletecek ve ilgili jpg dosyasında gömülü php kodları çalıştırılacaktır.

İşte böyle olası bir güvenlik açığının önüne geçmek için php’ye URL’de geçen path’i olduğu gibi değerlendirmesini, eğer dosya bulunamıyorsa tahmin etmek yerine işlemi sonlandırmasını söylemek gerekir. Bunu da cgi.fix_pathinfo özelliğini 0 yapmak sureti ile (ki default 1’dir) devre dışı bırakarak yapıyoruz.

Şimdi de fpm tüm portları dinlediği için onu 9000. portu dinleyecek şekilde konfigüre edelim;

$ sudo nano /etc/php5/fpm/pool.d/www.conf

Yine CTRL + W kısayolu ile arama yapıp, aşağıdaki “listen= /var/….fpm.sock” kısmını yorum satırı haline getirip, 9000. portu dinlemesini sağlayalım;

; listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000

Bu aşamaya kadar sıkıntısız geldiyseniz sistemi kontrol edelim;

$ sudo service nginx restart
$ sudo service php5-fpm restart

Ardından tarayıcıda IP adresinizi yazdığınızda şöyle bir hoşgeldin ekranı görmelisiniz;

 

Bu ekranı gördüyseniz içiniz rahat edebilir, doğru yoldasınız 🙂

Şimdi wordpress kurulumuna başlayabiliriz.Wordpress’in database’ini oluşturup, ona kullanıcı atayalım, isteğe göre “wp_user” kısmına database’e atayacağınız wordpress’in kullanacağı kullanıcı adını değiştirebilir, “wp_db” kısmını yine wordpress’in database’ ismi olduğundan değiştirebilirsiniz. “_secret_password_” kısmına ise kullanıcı şifresi atamanız gerekmekte. Bu kısımdaki bilgileri de not alınız, wordpress kurulumu sırasında bu kısımlara ihtiyacınız olacak;

$ mysql -u root -p
Enter password:

mysql> CREATE DATABASE wp_db;
mysql> GRANT ALL ON wp_db.* to 'wp_user'@'localhost' IDENTIFIED BY '_secret_password_';
mysql> FLUSH PRIVILEGES;
mysql> quit

Artık wordpress’i indirebiliriz;

$ wget http://wordpress.org/latest.tar.gz

Şimdi onu açıp www yani web’e açılacak olan dizinimize taşıyıp yetkilerini düzenleyelim, “example.com” kısımlarını, siz de kuracağınız site adına göre değiştiriniz;

$ tar xzf latest.tar.gz
$ sudo mv wordpress /var/www/example.com
$ sudo chown -R www-data.www-data /var/www/example.com
$ sudo chmod -R 755 /var/www/example.com

Şimdi nginx’i konfigüre edelim;

$ sudo nano /etc/nginx/conf.d/example.com.conf

İçerisine bu yapıyı aynen yapıştırıp, “example.com” kısımlarını site adımıza göre değiştiriyoruz;

server {
        listen   80;

        root /var/www/example.com;
        index index.php index.html;
        server_name  example.com www.example.com;

        location / {
                try_files $uri $uri/ /index.php?q=$request_uri;
        }

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Yaptığımız işlemlerin uygulanması için servislerimizi yeniden başlatıyoruz;

$ sudo service nginx restart
$ sudo service php5-fpm restart

Şimdi site adımızı yazdığımız da ya da localhostta isek locale bağlandığımızda bizi wordpress karşılıyor olacak 🙂

Buradan sonrası standart wordpress kurulum basamakları. İstek olursa bir gün wp kurulumunu da anlatırım.

İyi çalışmalar herkese 🙂

Kaynaklar;

http://tecadmin.net/install-wordpress-with-nginx-on-ubuntu/
http://nginx.nedir.com/
https://www.syslogs.org/php5-fpm-mysql-destekli-nginx-kurulumu/

 

 

 

 

Manjaro Conky Teması

Standard

Merhabalar;

Linux arayüzlerinde sistem işleyişi hakkında direk bilgi alabilmek için vazgeçilmezimiz elbette Conky programı.

Manjaro Red-white edition’da çok hoşuma giden ve sade bir conky teması kullanılmakta. Benim gibi sade conky teması sevenler için kodlarını paylaşmak istedim.

Kurulumu ise gayet basit, öncelikle sisteminizde conky yüklü olması gerekmekte. Conky yüklü değilse;

sudo pacman -S conky

Ubuntu tabanlı distrolar için;

sudo apt-get install conky

Ardından dizininizin olduğu (home/kullanici_adiniz) yere gelip “.conkyrc” adında bir metin dosyası oluşturmanız, içine de aşağıdaki kodları yazıp kaydetmeniz yeterli. Ardından tema devreye girmemişse conky’yi yeniden başlatabilirsiniz.

 # this file goes in ~


background yes
use_xft yes
xftfont monospace:pixelsize=8
xftalpha 0.8
update_interval 1.0
total_run_times 0
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
draw_shades no
draw_outline n
draw_borders noo
draw_graph_borders yes
stippled_borders 0
border_margin 4
border_width 0
default_color black
default_shade_color black
default_outline_color white
alignment top_right
gap_x 12
gap_y 12
no_buffers yes
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
use_spacer yes

maximum_width 350


TEXT
#leet chars: ┤┤└└┴┴┐┐││┘┘┌┌├├┬┬┼┼┴┴── ││ ▽▼△▲▵▴▾▿
${alignr}${offset -62} ${font DejaVu Sans Mono:pixelsize=14}Manjaro Linux
${alignr}${offset 36} $font └── Red White Edition
${alignr}$font │  
${alignr}$font ${nodename} -─┤  
${alignr}$font < ${kernel} > linux kernel -─┤    │  
${alignr}$font < $machine >   arch -─┤    │  
${alignr}$font < $uptime > çevrimiçi -─┘    │  
${alignr}$font │  
${alignr}$font sistem -─┤  
${alignr}$font işlemci -─┤    │  
${alignr}$font kullanılan -─┤    │    │  
${alignr}$font < ${cpu 1}% > cpu1 -─┤    │    │    │  
${alignr}$font < ${cpu 2}% > cpu2 -─┘    │    │    │  
${alignr}$font frekans -─┤    │    │  
${alignr}$font < ${freq 1}mhz > cpu1 -─┤    │    │    │  
${alignr}$font < ${freq 2}mhz > cpu2 -─┘    │    │    │  
${alignr}$font < $loadavg > yükle -─┤    │    │  
${alignr}$font < ${top name 1}  ${top cpu 1} > -─┤    │    │  
${alignr}$font < ${top name 2}  ${top cpu 2} > -─┤    │    │  
${alignr}$font < ${top name 3}  ${top cpu 3} > -─┤    │    │  
${alignr}$font < ${top name 4}  ${top cpu 4} > -─┤    │    │  
${alignr}$font < ${top name 5}  ${top cpu 5} > -─┘    │    │  
${alignr}$font süreçler -─┤    │  
${alignr}$font < $processes >   toplam -─┤    │    │  
${alignr}$font < $running_processes > çalışıyor -─┘    │    │  
${alignr}$font sıcaklık -─┘    │  
${alignr}$font < ${hwmon temp 1} > derece -─┘         │  
${alignr}$font │  
${alignr}$font kaynaklar -─┤  
${alignr}$font < $diskio_read >  disk okuma -─┤    │  
${alignr}$font < $diskio_write > disk yazma -─┤    │  
${alignr}$font ram bellek -─┤    │  
${alignr}$font < $memperc% > kullanılan -─┤    │    │  
${alignr}$font < $mem/$memmax > -─┘    │    │    │  
${alignr}$font < ${top_mem name 1}  ${top_mem mem 1} > -─┤    │    │  
${alignr}$font < ${top_mem name 2}  ${top_mem mem 2} > -─┤    │    │  
${alignr}$font < ${top_mem name 3}  ${top_mem mem 3} > -─┤    │    │  
${alignr}$font < ${top_mem name 4}  ${top_mem mem 4} > -─┤    │    │  
${alignr}$font < ${top_mem name 5}  ${top_mem mem 5} > -─┘    │    │  
${alignr}$font < $swapperc% - $swap/$swapmax > swap -─┤    │  
${alignr}$font < ${swapbar 5,120} > -─┘    │    │  
${alignr}$font < ${fs_used /}/${fs_size /} > root -─┤    │  
${alignr}$font < ${fs_bar 5,120 /} > -─┘    │    │  
${alignr}$font < ${fs_used /home}/${fs_size /home} > home -─┤    │  
${alignr}$font < ${fs_bar 5,120 /home/} > -─┘    │    │  
${alignr}$font < ${fs_used /usr/local}/${fs_size /usr/local} > local -─┘    │  
${alignr}$font < ${fs_bar 5,120 /home/} > -─┘         │  
${alignr}$font │  
${alignr}$font net -─┘  
${alignr}$font < ${tcp_portmon 1 65535 count} > bağlantılar -─┤       
${alignr}$font < ${tcp_portmon 1 32767 count} > içe / bilgisayara -─┤       
${alignr}$font < ${tcp_portmon 1 32767 rhost 0} ${tcp_portmon 1 32767 lservice 0} > -─┤    │       
${alignr}$font < ${tcp_portmon 1 32767 rhost 1} ${tcp_portmon 1 32767 lservice 1} > -─┤    │       
${alignr}$font < ${tcp_portmon 1 32767 rhost 2} ${tcp_portmon 1 32767 lservice 2} > -─┘    │       
${alignr}$font < ${tcp_portmon 32768 61000 count} > dışa / uzağa -─┤       
${alignr}$font < ${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0} > -─┤    │       
${alignr}$font < ${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1} > -─┤    │       
${alignr}$font < ${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2} > -─┤    │       
${alignr}$font < ${upspeed wlan0} k/s >   gönderilen -─┤       
${alignr}$font < ${upspeedgraph wlan0 8,120 8b2132 fe8608} > -─┘    │       
${alignr}$font < ${downspeed wlan0} k/s > alınan -─┘       
${alignr}$font < ${downspeedgraph wlan0 8,120 8b2132 fe8608} > -─┘

İyi günler kullanmanız dileğiyle 🙂

Manjaro linux üzerinde Xampp Kurulumu (Apache Server, Mysql, PHP, PhpMyAdmin)

Standard

Merhaba;

Şu video’yu zamanında bulamadığım için Manjaro’dan vazgeçmiş biri olarak başkalarının da ulaşması adına paylaşıyorum.

Xampp denilen yazılım, bilgisayarınızda PHP geliştirirken, MYSQL server ve PhpMyAdmin ihtiyacınız varsa sizin için bunları paket halinde kuran efsane bir program. Kendisinin .run uzantısını (nasıl olduysa) dikkat etmediğimden, haftalardır manjaro’nun kendi sayfasında da Archlinux’un kendi sayfasındada “Arch’a lampp kurulumu yapılmıyor” diye savaş veriyordum, bu gün Ubuntu 15.10 sürümüne sistemini güncellerken farkettim ki, ben zaten sistemden bağımsız olarak .run uzantısından kurulum yapıyorum ve aradığım şey lampp için kolaylık sağlayan xampp sistemi.

Elbette bu video’yu paylaşmamın hemen ardından, Manjaro’ya dönüş yapacağım.

Eğer Arch linux’u (öncelikle biliyorsanız) ve Arch’ı seviyorsanız, değerli geliştiricileri arasında bir türk var Tulliana, kendisi harika bir arayüz tasarlamış durumda, ona da buradan ulaşabilirsiniz;

http://manjaro-tr.org/forum/index.php?topic=1296.0

Heralde bu kadar sevinmem biraz da dilime vurmuş olsa gerek 🙂 Buyrun video ile sizleri başbaşa bırakayım…

Ha unutmadan, xampp linki ;

http://downloads.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-3-installer.run

https://www.youtube.com/watch?v=d9OKobl5Y1A

Sırasıyla kurulum adımlarının komutları da şöyle;

1
wget http<span class="symbol">:</span>/<span class="regexp">/downloads.sourceforge.net/project</span><span class="regexp">/xampp/</span><span class="constant">XAMPP</span>%<span class="number">20</span>Linux/<span class="number">1.8</span>.<span class="number">3</span>/xampp-linux-x64-<span class="number">1.8</span>.<span class="number">3</span>-<span class="number">3</span>-installer.run
1
<span class="attribute">sudo chmod +x xampp-linux-x64-1.8.3-3-installer.run</span>
1
sudo .<span class="regexp">/xampp-linux-x64-1.8.3-3-installer.run</span>

Son olarak kurulumun ardından localhost’a atacağınız dosyaları /opt/htdocs altına atıyorsunuz, oraya da atabilmek için ya root olmak gerek devamlı ya da kısa olarak;

 #chmod 755 /opt/lampp/htdocs

derseniz erişim izni ayarlamış olursunuz, Masaüstüne de bir kısayol atarsanız rahat bir şekilde dosyalarınızı aktarabilirsiniz.

Bir sonraki yazımda görüşmek üzere 🙂