LAMP Nedir?
LAMP terimini açmak gerekirse, Linux işletim sisteminde Apache Web Sunucusunun bulunması, Verilerin Mysql ile tutulması ve dinamik içeriğin PHP ile oluşturulmasıdır.
En büyük avantajlarından birisi bu dördünün de açık kaynak olmasıdır.
Bu anlatımdaki kurulum Ubuntu 14.04.1’de denenmiştir
Adım 1 – Apache Kurulumu
Apache dünyada en popüler web sunucudur. Ubuntu’nun paket yöneticisi olan apt ile kurulum yapacağımız için işimiz çok basit olacak.
Öncelikle paket veritabanını güncelleyelim
1 |
sudo apt-get update |
Apache2’yi kuralım
1 |
sudo apt-get install apache2 |
Kurulumdan sonra Apache2’nin çalışma durumunu öğrenmek için herhangi bir web tarayıcısından
1 |
http://127.0.0.1 |
adresini kullanabilirsiniz.
Adım 2 – MySQL Kurulumu
MySQL, bir veritabanı yönetim sistemidir.
Bu sefer MySQL’in yanında yardımcı(helper) paketler de kuracağız. Diğer paketlerle bağlantımızı sağlayacak.
1 |
sudo apt-get install mysql-server php5-mysql |
Kurulum sırasında MySQL için şifre soracaktır.
Şimdi MySQL için biraz güvenlik önlemleri alalım. Eğer sadece geliştirme ortamı için kurulum yapıyorsanız aşağıdakileri incelemenize gerek yok diğer adıma geçebilirsiniz. Sadece production ortamı içindir.
MySQL sistem tablolarını oluşturtalım
1 |
sudo mysql_install_db |
Güvenlik amaçlı basit bir script çalıştıracağız. Girişleri olabildiğince kısıtlayacağız.
1 |
sudo mysql_secure_installation |
Script sırasında root şifresi isteyecektir. Kurulumda girdiğiniz şifreyi girin.
Remove anonymous users ? : Üye oluşturmaya gerek kalmadan giriş yapılmasını sağlar. Production ortamı için Yes diye cevaplayalım.
Disallow root login remotely ? : root kullanıcısının SADECE “localhost”‘dan giriş yapabilmesini sağlayacağız. Böylece root şifresi bilinse de sadece ana makineden giriş yapılabilir. Bu yüzden Yes diye cevaplayalım.
Remove test database and access to it ? : Varsayılan olarak MySQL, ‘test’ isminde bir veritabanı oluşturabilir ve herkesin erişebilmesini sağlar. Production ortamı için gereksiz olacaktır, bu yüzden Yes diye cevaplayalım.
Reload privilege tables now ? : İşlemlerin tam çalışması için yetki tablolarının güncellenmesi gerekiyor. Yes diye cevaplayalım.
Adım 3 – PHP Kurulumu
PHP, dinamik verilerin gösterimi, SQL veritabanlarından bilgilerinin alınması ve işlemlerin yönetilmesini sağlayacaktır.
PHP ile beraber helperları da yükleyelim
1 |
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt |
Apache, varsayılan olarak dizin arama işlemlerinde index.html index.cgi index.pl index.php index.xhtml index.htm dosyaları sırayla aranmaktadır. index.php‘yi biraz öne alacağız.
Bunun için dir.conf dosyasını düzenleyelim.
sudo nano /etc/apache2/mods-enabled/dir.conf index.html’den hemen sonra alabilirsiniz.
PHP’nin çalışması için Apache’nin yeniden başlatılması yani Apache’nin konfigürasyon dosyalarına tekrar bakması gerekiyor.
1 |
sudo service apache2 restart |
PHP Modüllerinin Kurulması
Yüklenebilir PHP5 Modülleri için şu şekilde arama yapabilirsiniz
1 |
apt-cache search php5- |
Yükleyeceğiniz modülleri belirledikten sonra şöyle kurulum yapabilirsiniz
1 |
sudo apt-get install php5-cli php5-curl php5-gd php5-json php5-mysql php5-readline php5-geoip php5-imap php5-mcrypt php5-memcache php5-oauth |
## Adım 4 – PHP’nin Test Edilmesi PHP‘yi test etmek için çok basit bir PHP kodu yazacağız.
1 2 3 4 5 6 7 |
/var/www/html klasöründe info.php dosyası oluşturacağız. sudo nano /var/www/html/info.php Dosyaya aşağıdaki kodu yazarak PHP’yi kontrol edebiliriz. <?php phpinfo(); ?> Test etmek için http://127.0.0.1/info.php |
BONUS – PHPMyAdmin Kurulumu
PHPMyAdmin’i kuralım
1 |
sudo apt-get install phpmyadmin |
Web server olarak apache2‘yi seçin
dbconfig-common’un düzenleme yapmasına izin verin
MySQL ve PHPMyAdmin şifresini girin
Kurulum bittikten sonra Apache’ye PHPMyAdmin dosyasını ekleyeceğiz.
1 |
sudo nano /etc/apache2/apache2.conf |
En alta Include ekleyeceğiz.
1 |
Include /etc/phpmyadmin/apache.conf |
Apache’yi yeniden başlatalım
1 |
sudo service apache2 restart |
Kontrol amaçlı aşağıdaki adrese gidebilirsiniz
1 |
http://127.0.0.1/phpmyadmin |
BONUS – Sanal Sunucu Oluşturma
Projelerinizde sürekli localhost/ kullanmak yerine projenize özel sanal sunucu oluşturabilirsiniz.
Örneğin AwesomeProject projeniz için
Çalışma Dizini: /var/www/awesomeproject/public_html
Log Dizini : /var/www/awesomeproject/logs
Site Adresi : http://awesomeproject/
Bu şekilde daha düzenli ve rahat olacaksınız.
Klasörlerin oluşturulması
1 |
sudo mkdir -p /var/www/projeadi/public_html sudo mkdir -p /var/www/projeadi/logs |
Yetkilerin verilmesi
1 |
sudo chown -R www-data:www-data /var/www/projeadi sudo chmod -R 755 /var/www |
Örnek Sayfa Oluşturulması
Sanal sunucuyu test etmek için örnek bir sayfa oluşturacağız. Sanal sunucumuz içerisinde bir index.html dosyası oluşturalım.
1 |
sudo nano /var/www/projeadi/index.html |
İçerisine
Sanal Sunucu: projeadi
Sanal Sunucu Dosyasının Oluşturulması
Sanal sunucu dosyası oluşturalım.
1 |
sudo nano /etc/apache2/sites-available/projeadi.conf |
İçerisine aşağıdakileri yapıştırabilirsiniz fakat projeadi yazdığım yerleri kendinize göre düzenleyin.
1 2 3 4 5 6 7 8 9 10 11 |
ServerName projeadi ServerAlias www.projeadi ServerAdmin webmaster@projeadi DocumentRoot /var/www/projeadi/public_html ErrorLog /var/www/projeadi/logs/error.log CustomLog /var/www/projeadi/logs/access.log combined |
Dosyayı kaydedin ve kapatın.
Yeni sanal sunucunun çalışması için aktifleştirmemiz ve Apache’yi yeniden başlatmamız gerekiyor
1 |
sudo a2ensite projeadi sudo service apache2 restart |