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/

 

 

 

 

Ubuntu 16.04 Spark Kurulumu

Standard

 

Merhaba Arkadaşlar;

Yaptığım staj gereği, bilgisayarıma Spark kurulumu gerçeleştirdim. Kurulum için birkaç adım mevcut, genelde anlatımlarda bu kısımlar olmadığından temiz ve işe yarar bir anlatım yapmak istedim.

Öncelikle Spark Java Virtual Machine (JVM)’e ihtiyaç duyduğu için onun kurulumu ile başlıyoruz.

Repository’sini ekleyelim;

1
<span class="line">sudo apt-add-repository ppa:webupd8team/java</span>

Sistemi güncelleyip, kurulumunu yapalım;

1
2
<span class="line">sudo apt-get update
</span><span class="line">sudo apt-get install oracle-java7-installer</span>

Kurulumun doğru şekilde yapılıp yapılmadığını kontrol etmek için şu komutu verdiğinizde, altındaki çıktının benzerini almalısınız;

[email protected]:~$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

Spark, yazıldığı dil Scala olduğundan, çalışabilmesi için sisteminize Scala’nın kurulu olması gerekiyor. Onun yüklemesini yapalım;

Skala’yı sitesinden indiriyoruz(ben kurarken bu sürüm vardı, siz kurulum için güncel sürümden faydalanın):

1
<span class="line">wget http://www.scala-lang.org/files/archive/scala-2.11.7.tgz</span>

İndirme tamamlandıktan sonra, dosyayı PATH altına taşıyor ve açıyoruz;

1
2
<span class="line">sudo mkdir /usr/local/src/scala
</span><span class="line">sudo tar xvf scala-2.11.7.tgz -C /usr/local/src/scala/</span>

Scala’yı konsoldan çağırabilmek için .bashrc dosyasının sonuna bu 2 satırı ekleyerek, Scala’nın yolunu gösteriyoruz;

1
2
<span class="line">export SCALA_HOME=/usr/local/src/scala/scala-2.11.7
</span><span class="line">export PATH=$SCALA_HOME/bin:$PATH</span>

Scala’nın aktif olması için konsolu tekrardan başlatıyoruz: (kapa-aç’da olur)

1
<span class="line">. .bashrc</span>

Scala’nın doğru şekilde yüklenip yüklenmediğini kontrol etmek için alttaki komut ve benzeri çıktısını görüyor olmanız gerekmekte;

1
2
3
<span class="line">[email protected]:~$ scala -version
Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL
</span>

Şimdiyse Spark’ın kurulumuna geçmeden önce, Github’dan veri çekebilmek için (şart değil, isterseniz sayfasına gidip indirme yaparak bu basamağı pas geçebilir, isterseniz “Github’dan nasıl yazılım indiriliyor?” u bilmiyorsanız buradan öğrenebilirsiniz) git’i kuruyoruz;

1
<span class="line">sudo apt-get install git</span>

Şimdi Spark’ın son sürümünü (şu an için, ileride bu link üzerinden sonraki son sürümünü indiriniz), indiriyoruz;

wget http://www.apache.org/dyn/closer.lua/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz

Şimdi Spark için ana dizinimizde bir dosya oluşturup, onun içerisine aktarıyoruz;

mkdir ~/apache-spark
 cd ~/apache-spark

mv ~/Downloads/spark-1.6.1-bin-hadoop2.6.tgz ~/apache-spark

Şimdi de dosyamızı açıp, çalıştırmayı deniyoruz;

1
 
tar -xzvf 
1
2
3
4
spark-1.6.1-bin-hadoop2.6.tgz
cd spark-1.6.1-bin-hadoop2.6

./bin/spark-shell

Çalıştıysa karşısınıza böyle bir konsol düşer;

scala>

Birkaç örnek ile çalıştığını test edebilirsiniz;

1
2
3
<span class="line"><span class="n">scala</span><span class="o">&gt;</span> <span class="k">val</span> <span class="n">textFile</span> <span class="k">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">textFile</span><span class="o">(</span><span class="s">"README.md"</span><span class="o">)</span>
</span><span class="line"><span class="n">scala</span><span class="o">&gt;</span> <span class="n">textFile</span><span class="o">.</span><span class="n">count</span><span class="o">()
<code>scala&gt; textFile.first()

Az-çok gelecek çıktıları tahmin ediyorsunuzdur 🙂

Kurulum tamamlanmıştır, bir sonraki yazımda görüşmek üzere…

banner

 

 

Linux’da IDM kurulumu

Standard


Merhaba;

IDM günümüzde gayet aktif olarak kullanılan bir indirme yöneticisi.
Linux kullanan kişiler için de elbette wine’ın nimetleri ile bu programı kullanmak mümkün.

Öncelikle repository’leri eklemekle başlayalım;

1
sudo add-apt-repository ppa:ubuntu-wine/ppa

Ardından sistemi güncelleyip winetricks’in kurulumunu gerçekleştirelim;

1
sudo apt-get update &amp;&amp; sudo apt-get install wine1.7 winetricks

Şimdi IDM’yi indirelim(buradan indirebilirsiniz)

İndirme tamamlandıktan sonra dosyayı rardan çıkartıp çift tıklayıp, kurulumunu yapalım. Bu sırada “wine gecko” kurulumunu sistem otomatik olarak yapacaktır, kurulumları onaylayın.

Şimdi IDM’yi mozillaya bağlamak için gerekli olan Flashgot eklentisine geçelim. Önce buradan mozillaya eklentiyi ekleyelim;

https://addons.mozilla.org/en-US/firefox/addon/flashgot/

Ekle dedikten sonra arama çubuğuna “about:config” yazarak Mozilla’nın ayarlarına girelim.
Burada Flashgot’un wine’a ulaşmasına izin verelim;

Şimdi Mozilla->Eklentiler->flashgot->tercihler kısmına girip, şu ayarlar ile indirme yöneticisini IDM olarak seçelim;

Ve işlem tamamlandı. İyi indirmelerde kullanın 🙂

Linux Server Durum Takip Aracı Kurulumu

Standard

Server’ın durumunu grafiksel olarak gösteren güzel bir program buldum.

Çevirmeye eriniyorum ama gösterdiği değerler temelde şunlar;

  • System load average and usage
  • Global kernel usage
  • Kernel usage per processor
  • Filesystem usage and I/O activity
  • eth0 network traffic and usage
  • System services demand
  • Network port traffic
  • Users using the system
  • Devices interrupt activity

Kurulumu;

Öncelikle sistem güncelleme ve monitorix’in paket bağımlılıklarını kuruyoruz;

sudo apt-get update

sudo apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl

Monitorix’in sitesine gidiyoruz, (buradan) son sürümünün indirme adresini kopyalayıp konsoldan indirmeyi başlatıyoruz (ileride yeni sürümler için o adresten güncel sürüme uyarlayın alttaki komutu)

wget http://www.monitorix.org/monitorix_3.8.1-izzy1_all.deb

Ardından kurulumunu yapıyoruz;

sudo dpkg -i monitorix_3.8.1-izzy1_all.deb ; sudo apt-get install -f

Kurulum tamamlandı.

Servisi başlatıyoruz;

sudo service monitorix start

Şimdi sitemiz üzerinden grafiksel olarak durumu gözlemleyebiliriz;

http://sitenizin_ip_adresi/monitorix

yazarak ulaşabilirsiniz.

 

Ubuntu-server’a LAMP kurulumu

Standard

Merhabalar;

Şu an bir web sunucusu kurmaktayım. Linux bir sunucuda elbette olması gereken LAMP yani Apache server, Mysql ve Phpmyadmin kurulumunu yaptım, aslında türkçe yeterince döküman olmasına rağmen, genelinde eksik kısımlar olduğundan temiz bir anlatım yazmaya karar verdim. Hadi başlayalım;

Öncelikle sistemimizi güncelleyerek başlayalım;

sudo apt-get update && sudo apt-get upgrade

Güncellemeler bittikten sonra, apache server’ımızı kurarak işleme başlıyoruz;

sudo apt-get install apache2

Apache sunucumuzun internete açılmasını sağlayan servis kısmıdır. Apache kurulumu tamamlandıktan sonra IP adresinizi tarayıcınıza yazdığınızda “It Works!” diye başlayan uzun bir sayfa karşınıza çıkmalı.

Eğer çıkmazsa servisi restart ederek tekrar deneyin. Restart’lamak için;

sudo service apache2 restart

yazarak restartlayabilirsiniz, “restart” yazan kısma “start” yazarak başlatma ve “stop” yaparak apache’yi durdurabilirsiniz.

İlk kısmı tamamladığımıza göre MYSQL kurulumuna geçebiliriz.
Mysql kurulumu için konsola;

apt-get install mysql-server php5-mysql

yazarak mysql ve php’nin mysql modulunu yüklüyoruz. Modülün yüklenmesi tamamlandıktan sonra, mysql’i konfügre etmemiz gerekmekte.

Önce konsola;

mysql_install_db

yazarak mysql dizinimizi oluşturuyoruz. Ardından;

mysql_secure_installation

yaparak mysql parolasını belirliyoruz, yalnız bu parolayı bir kenara not alın, çünkü MYSQL’e bağlanmak için bu parolayı kullanmanız gerekecek. Şimdiye kadar Apache ve Mysql kurulumunu tamamladık. Şimdi gelelim Php kısmına;

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Bu işlemleri de tamamlamamızın ardından PHP’nin genel modullerini tamamlamış oluyoruz.
Test etmek için;

sudo nano /var/www/html/info.php

içerisine “<? phpinfo(); ?>” yazıp kaydediyoruz. Böylece bize Sunucu üzerindeki php sayfası gelmeli. Eğer sayfayı gördüyseniz problem yok demektir. Sayfa şöyle gözükmeli;

Son olarak phpmyadmin kurulumumuza geçiyoruz;

1
apt-get install phpmyadmin

kurulum sırasında şöyle bir ekran gelecek;

Burada apache2 yi seçerek işimizi garanti altına alabiliriz.

Arından phpmyadmin’i yerine taşıyoruz;

sudo ln -s /usr/share/phpmyadmin /var/www/

phpmyadmin tamamlandıktan sonra, “http://localhost/phpmyadmin” yazdığınızda phpmyadmin’e girebilmelisiniz. Eğer hata alıyorsanız,

1
sudo nano /etc/apache2/apache2.conf

yazarak apache’nin konfügrasyon kısmının sonuna, şu satırı ekleyip kaydedin;

1
Include /etc/phpmyadmin/apache.conf

Son olarak apache servisini tekrar başlatın;

sudo service apache2 restart

Ve ta ta ta tam! LAMP kurulumu tamamlanmıştır, iyi günlerde kullanınız 🙂