Wiki

Ubuntu 14.04 LAMP Server Kurulumu

Ubuntu 14.04 işletim sistemi üzerinde Apache, MySQL ve PHP kurulumu gerçekleştirmek oldukça basit, kontrol paneli masraflarını ortadan kaldırmak için oldukça gerekli ve bu yazıyı hazırlama amacım arama sonuçlarında mevcut olan bilgiyi vermekten ziyade; LAMP kurulumu işleminin doğru bir şekilde yapılması durumunda web sunucunuzu daha iyi yönetebileceğinizi göstermektir.

Daha anlaşılır olması açısından, işlem adımlarını grupladım. Birlikte, adım adım LAMP kurulumunu inceleyelim.

Apache Kurulumu ve Konfigürasyonu
Öncelikle web sunucunuz üzerindeki mevcut paketleri güncellemek için aşağıdaki komutu çalıştırın.

apt-get update

Apache web servisini yüklemek için aşağıdaki komutu çalıştırın.

apt-get install apache2

Apache web servisine gelen her isteğin ayrı kullanıcılar altında çalıştırılması için aşağıdaki komut ile gerekli modülü yükleyin.

apt-get install libapache2-mpm-itk

Expires, Rewrite ve Headers modüllerini aktif edin.

a2enmod expires
a2enmod rewrite
a2enmod headers

Varsayılan indeks dosyasını değiştirin. Bu işlemi gerçekleştirmek için aşağıda tam yolu belirtilmiş dosyayı nano editörü ile açın.

nano /etc/apache2/mods-available/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.htm
</IfModule>

MySQL Kurulumu ve Konfigürasyonu
MySQL servisini yüklemek için aşağıdaki komutu çalıştırın.

apt-get install mysql-server

Yükleme esnasında sizden root şifresi belirlemenizi talep edecektir, root şifresini belirleyin ve unutmamak için not alın.

New password for the MySQL "root" user:
Repeat password for the MySQL "root" user:

Yükleme sonrasında yapılması gereken diğer işlem adımlarını tamamlamak için aşağıdaki komutları çalıştırın..

mysql_install_db
mysql_secure_installation

mysql_secure_installation komutunu çalıştırdıktan sonra size bazı sorular soracaktır. Aşağıdaki gibi yanıt verebilirsiniz.

Kısaca bahsedeyim; root şifrenizi değiştirmek isteyip istemediğinizi, anonim kullanıcıları silmek isteyip istemediğinizi, MySQL’e uzak erişimi kapatmak isteyip istemediğinizi, test veritabanını ve erişimini kaldırmak isteyip istemediğinizi sormaktadır. 

Enter current password for root (enter for none):
Change the root password? [Y/n]: n
Remove anonymous users? [Y/n}: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
PHP Kurulumu ve Konfigürasyonu

PHP kurulumu ve Apache‘de gerekli modülleri yüklemek için aşağıdaki komutu çalıştırın.

apt-get install php5 libapache2-mod-php5

Gerekli PHP kütüphanelerini yükleyin.

apt-get install php5-mcrypt php5-mysqlnd php5-cli php5-common php5-curl php5-dev php5-gd php5-ldap php5-odbc php5-pgsql php5-sqlite php5-tidy php5-xmlrpc php5-xmlrpc php5-xsl php5-adodb php5-enchant php5-geoip php5-imagick php5-intl

Eğer ihtiyacınız olan başka bir PHP kütüphanesi varsa; aşağıdaki komutu çalıştırarak yükleyebileceğiniz PHP kütüphanelerini listeleyin.

apt-cache search php5-

Mcrypt modülünü aktif edin.

php5enmod mcrypt

php.ini dosyalarının tam yolu aşağıdaki gibidir.

/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini

Nano metin editorü ile php.ini dosyalarını açarak aşağıdaki değerleri düzenleyin.

memory_limit = 128M
max_execution_time = 120
max_input_time = 120
post_max_size = 100M
upload_max_filesize = 100M
vHost Oluşturma ve Silme İşlemleri

Apache Kurulumu ve Konfigürasyonu işlem adımında, gelen her isteğin ayrı kullanıcılar altında çalışması için modül yüklemiştik. Bu nedenle, vHost oluşturmadan önce Linux kullanıcısı oluşturmamız gerekiyor.

Aşağıdaki komutla bir Linux kullanıcısı oluşturunuz.

adduser deneme

Linux kullanıcısı oluşturduktan sonra logs ve www şeklinde iki dizin oluşturun, daha sonra yetkilerini düzenleyin.

cd /home/deneme
mkdir logs www
chown -R deneme:deneme logs www

Şimdi, bir vHost dosyası oluşturalım.

cd /etc/apache2/sites-available
touch deneme.com

Daha sonra bu vHost dosyasını nano editörü ile açarak aşağıdaki satırları yazalım, kırmızı font ile yazılmış alanları düzenleyelim ve kaydedelim.

<VirtualHost IPADRESI:80>
ServerName deneme.com
ServerAlias www.deneme.com
ServerAdmin hostmaster@deneme.com
DocumentRoot /home/deneme/www/

AssignUserId deneme deneme

<Directory /home/deneme/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
        
ErrorLog /home/deneme/logs/apache-error.log
CustomLog /home/deneme/logs/apache-access.log combined
</VirtualHost>

Hemen ardından siteyi aktif edelim.

a2ensite deneme.com
service apache2 reload

Hatalı bir Linux kullanıcısı oluşturduysanız aşağıdaki komutla kullanıcıyı silebilirsiniz (bu işlem /home/kullanici dizinini silmeyecektir.

deluser kullanici

Bir web siteyi pasifleştirmek için aşağıdaki komutu yazabilirsiniz.

a2dissite deneme.com
service apache2 reload

Bu yazı Ubuntu 14.04 üzerinde kontrol paneli kullanmadan web sitesi yayınlamak isteyenler için hazırladığım serinin ilk yazısıdır. PHPMyAdmin, FTP sunucu, Memcache, MongoDB, Lets Encrypt, Redis kurulumlarına ayrı yazılar altında değineceğim ve bu yazıda linkleri paylaşacağım. Takipte kalın!

İlişkili Yazılar

Ubuntu 14.04 PhpMyAdmin Kurulumu

Ubuntu 14.04 ProFTPD Kurulumu

Yazar Hakkında

Gürkan Biçer

Gürkan Biçer

PHP Developer, Network & System Administrator

Yorum Yazın