Merhaba arkadaşlar bu konumda sizlere Ubuntu 14.04 LTS işletim sistemi üzerine nasıl LAMP yani açılımı Linux, Apache, MySQL, PHP kurabileceğinizi anlatacağım.
"Peki neden LAMP kurma ihtiyacı duyabilirim?" diyebilirsiniz. Bunu zamanında bende çok sormuştum kendime hatta bir çok defa göz ardı etmiştim ancak şöyle bir durum var. Bir çok kullanıcı cPanel benzeri panellere ücret ödemek istemiyor ya da tam olarak kendi sistemini tamamen kendisi özgür bir şekilde kontrol etmek istiyor. İşte tam burada LAMP devreye giriyor.
Bir LAMP kurulumu gerçekleştirdiğiniz sunucuda dilediğiniz PHP tabanlı MySQL gereksinimi duyan yazılımı çalıştırabilirsiniz. Yine bir sonraki yazacağım rehberde olduğu gibi birden çok siteyi tam kontrollü olarak barındırabilirsiniz. Aslında cPanel ve benzeri panellerin amacıda bu tarz bir kurulumu kod bilgisi olmayanlar için butonlar ve görsel bir arayüz ile kontrol etmesini sağlamak.
Şunu da belirtme gereği duyuyorum LAMP üzerine kurulmuş bir yazılım ile bir hazır panel üzerine kurulmuş yazılım arasında ciddi anlamda hız farkı oluyor. Bu hızın nedenini ise LAMP, gereksiz yere sistem kaynağını tüketen bir çok panel özelliği ve yazılımından kurtulmuş olmasına borçludur.
Şunu bana sorabilirsiniz;
Ben LAMP kurdum peki nasıl kontrol edeceğim? Çok basit bir cevabı var. Eğer LAMP kurduysanız zaten bir çok konuda aydınlanmış olacaksınız . Yani MySQL veritabanı kontrolü için yine SSH üzerinden phpMyAdmin kurup bağlayacak ve php.ini vb. ayar dosyaları ile oynayabileceksiniz.
Lütfen işlem öncesi temiz bir kurulum yapılmış Ubuntu 14.04 sürümünde çalıştığınızdan emin olun.
Ve yine aynı şekilde Putty vasıtası ile SSH bağlantısı kurup root oturumu açın.
LAMP kurulumuna geçmek isterseniz;
Birinci adım: Apache kurulumu
Öncelikli olarak sistem güncellemelerini kontrol edelim ve yeni yazılımlar hakkında sistemimizi bilgilendirelim.
sudo apt-get update
Daha sonra Apache yazılımımızı güncel Ubuntu arşivi üzerinden sunucumuza yükleyelim:
sudo apt-get install apache2
Bu işlem tamamlandığı zaman http://sunucu_ip_adresiniz şeklinde bağlantı sağladığınızda alttaki gibi bir ekran sizi karşılayacaktır.
Eğer bu sayfayı görebiliyorsanız her şey yolunda gitmiş ve Ubuntu işletim sistemine başarılı bir şekilde Apache web sunucusu yazılımını kurmuşsunuz demektir.
Ek bilgi: Eğer sunucunuzun IP adresinizi bilmiyorsanız altta vermiş olduğum komut ile sunucunuzun yerel IP adresini öğrenebilirsiniz:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Alternatif olarak şu komutu da kullanabilirsiniz:
curl http://icanhazip.com
İkinci adım: MySQL kurulumu
Önceki yaptığımız kurulum ile yazılımlarımızın üzerinde çalışacağı bir web sunucusu kurmuş olduk. Peki kurmak istediğiniz yazılım bir veritabanı gereksinimi duyuyorsa? İşte bunun için yine Apache web sunucusu ile bütünleşik çalışacak bir şekilde MySQL veritabanı yazılımını sunucumuza kurmamız gerekiyor.
MySQL kurulumu için:
sudo apt-get install mysql-server php5-mysql
Ek bilgi: Bu adımda
sudo apt-get update komutunu vermenize gerek yoktur. Çünkü bir önceki işlemimizde zaten sistemi ve Ubuntu yazılım arşivimizi güncellemiş olduk. Yükleme sırasında kurulum otomatik olarak MySQL için bir root kullanıcısı oluşturacak ve bunun için bir şifre belirlemenizi isteyecektir. Bunu ilgili alana girersiniz ve doğrulamasını da yaparsınız.
Daha sonra MySQL için veritabanı dizini oluşturmamız gerekiyor. Bunun için ise:
sudo mysql_install_db
Son olarak ise MySQL kurulumunda ki güvenlik risklerini kaldırmak için güvenli yükleme komutunu vermeliyiz.
sudo mysql_secure_installation
Bu komut sonrası sizden MySQL için az önce belirlediğiniz root şifresi istenecektir. Bir sonraki adımda ise root şifresini değiştirmeniz istenecektir. Eğer mevcut şifrenizden memnun iseniz bu adımı n (Hayır) yanıtı vererek geçebilirsiniz. Daha sonra size soracağı her şeyi gönül rahatlığı ile direkt Enter tuşu ile geçebilirsiniz. Bu işlemle örnek veritabanı ve kullanıcılar silecek, uzaktan bağlantıyı devre dışı bırakacak ve yeni güvenlik kurallarını atamış olacağız. Bu komutlar sizin sitenizde bir sorun yaratmayacaktır.
Üçüncü adım: PHP kurulumu
PHP kurulumu ile PHP tabanlı bütün yazılımların sunucu üzerinde çalışması için gerekli kütüphaneleri yüklemiş olacağız.
PHP kurulumu için:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
Bu komut herhangi bir sorun olmadan PHP kurulumunu gerçekleştirmenizi sağlayacaktır. Apache kurulumunda normal bir web sunucusu varsayılan
index.html dosyasını öncelikli olarak açmak için ayarlanmıştır. PHP kurulumunda bu ise dosyayı
index.php olarak değiştirmemiz gereklidir. Bu işlem için
dir.conf dosyasını editörde (nano) açıp düzenlememiz gerekiyor:
sudo nano /etc/apache2/mods-enabled/dir.conf
Komut sonrası karşınıza şöyle bir ekran çıkacaktır:
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule>
Bu adımda yine editör yardımı ile index.php kısmını en başa taşımalıyız.
İşlem tamamlandığı zaman dosya şu şekilde olmalı:
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule>
Son olarak CTRL+X ile dosyası kaydet komutunu verip Y daha sonra da Enter tuşu ile kayıt etme işlemini tamamlayabilirsiniz.
İşlemler sonunda Apache yazılımımızı yeniden başlatmamız gerekmektedir:
sudo service apache2 restart
İhtiyacınıza göre, daha doğrusu kuracağınız sistemin gereksinimlerine göre PHP modüllerini yüklemelisiniz:
Kullanılabilir tüm modül ve seçenekleri görüntülemek için:
apt-cache search php5-
Komut sonrası şu şekilde bir ekran göreceksiniz:
php5-cgi - server-side, HTML-embedded scripting language (CGI binary) php5-cli - command-line interpreter for the php5 scripting language php5-common - Common files for packages built from the php5 source php5-curl - CURL module for php5 php5-dbg - Debug symbols for PHP5 php5-dev - Files for PHP5 module development php5-gd - GD module for php5 . . .
Bir modül ya da seçenek hakkında detaylı bilgi edinmek için (İngilizce):
apt-cache show PAKET_ADI
Örneğin; php5-cli için:
apt-cache show php5-cli
Sonuç olarak ise:
. . . SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d Description-en: command-line interpreter for the php5 scripting language This package provides the /usr/bin/php5 command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . The following extensions are built in: bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. Description-md5: f8450d3b28653dcf1a4615f3b1d4e347 Homepage: http://www.php.net/ . . .
Eksik ya da gereksinim duyduğunuz bir modülün kurulumu için ise örneğin php5-cli kurmak için:
sudo apt-get install php5-cli
Yine birden fazla modülü aynı anda yüklemek için:
sudo apt-get install PAKET_1 PAKET_2 ...
Bu son adım ile LAMP kurulumunu tamamlamış olduk.
Kurulumu test etmek için aşağıdan devam edebilirsiniz:
Bunun için basit bir kod içeren .php uzantılı info yani bilgi dosyası oluşturmamız gerekecektir. Bu dosyayı varsayılan web sunucusu dizininde
/var/www/html/ oluşturmamız gerekiyor.
Dosyamızı oluşturmak için:
sudo nano /var/www/html/info.php
İçerisine bilgi edinmemizi sağlayacak kodu yazmalısınız:
<?php phpinfo(); ?>
Daha sonra dosyayı kayıt edip kapatmalısınız. İşlemi tamamladığınız zaman http://sunucu_ip_adresiniz/info.php adresine giriş yaparak PHP, Apache ve MySQL yazılımları ve sürümlerini, eklentilerini görüntüleyebilirsiniz.
Örnek ekran alıntısı:
Ek bilgi: Bu dosyayı inceleyip işiniz bittikten sonra güvenlik açısından alttaki komut yardımı ile dosyayı sunucudan kaldırabilirsiniz.
sudo rm /var/www/html/info.php
Sonuç olarak:
Popüler tüm PHP tabanlı ve MySQL veritabanı gereksinimi duyan yazılımları çalıştırabileceğimiz güvenli bir LAMP kurulumu gerçekleştirmiş olduk.
Bu işlemler sırasında bir sorun ile karşılaşırsanız lütfen bunu bize bildirmekten çekinmeyin.