DEV Community

Suleyman Poyraz
Suleyman Poyraz

Posted on

LAMP Server Kurulumu

"LAMP" dörtlüsü, bir sunucunun dinamik web sitelerini ve web uygulamalarını barındırmasını sağlamak için tipik olarak birlikte kurulan bir grup açık kaynaklı yazılımdır. Bu terim aslında Linux'u, üzerine kurulan Apache web sunucusuyla site üretmeye hazır hale getirmeyi sağlar. Site verileri bir MySQL veritabanında saklanır ve dinamik içerik PHP tarafından işlenir.

Debian Sistemlerinde LAMP Kurulumu

Aşağıdaki adımları izleyerek LAMP kurabilirsiniz.

Apache Kurulumu

Apache web sunucusu, dünyanın en popüler web sunucuları arasındadır. Kendine özgü açık kaynak lisansı ve sağlam belgelendirmesi sayesinde kısa sürede popüler olmuştur ve 1990'lardan beri en popüler kullanılan web sunucusudur.

sudo apt update
sudo apt install apache2
Enter fullscreen mode Exit fullscreen mode

Eğer ki ufw güvenlik duvarını kullanıyorsanız, Apache için HTTP ve HTTPS port çıkışlarına izin vermemiz lazım.

sudo ufw allow in "Apache Full"
Enter fullscreen mode Exit fullscreen mode

MySQL Server Kurulumu

Artık web sunucunuz hazır ve çalışır durumda olduğuna göre, MySQL'i kurmanın zamanı geldi. MySQL, bir veritabanı yönetim sistemidir. Temel olarak, sitenizin bilgileri depolayabileceği veritabanlarını düzenleyecek ve bunlara erişim sağlayacaktır.

sudo apt install mysql-server
Enter fullscreen mode Exit fullscreen mode

Ardından MySQL için ilk kurulumumuzu yapalım. Bu aşamada program bizden database için yapacağımız kurulumda şifre oluşturmamızı isteyecektir.

sudo mysql_secure_installation
Enter fullscreen mode Exit fullscreen mode
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No
Enter fullscreen mode Exit fullscreen mode

Eğer yeni bir şifre oluşturacaksanız buna evet manasında Yye tıklayın.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 
Enter fullscreen mode Exit fullscreen mode

Bu aşamada orta uzunlukta bir şifre oluşturalım, bu yüzden 1'e tıklayalım

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : 
Enter fullscreen mode Exit fullscreen mode

buna da n diyelim. Böylece kurulum tamamlanmış oldu.

Şimdi MySQL kullanıcılarını listeleyelim

sudo mysql
Enter fullscreen mode Exit fullscreen mode

Bu bizim için bir SQL kabuk ortamı oluşturacaktır. Şimdi şunları yazalım.

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Enter fullscreen mode Exit fullscreen mode

Çıktısı şu şekilde görünecektir

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *FA769377A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Enter fullscreen mode Exit fullscreen mode

Burada göründüğü üzere auth_socket şifresi verelim. Burada 'password' bizim belirleyeceğimiz şifre olacak. Öntanımlı olarak ben password olarak belirledim.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Enter fullscreen mode Exit fullscreen mode

Bu değişikliğin okunması için tablomuzu güncelleyelim

mysql> FLUSH PRIVILEGES;
Enter fullscreen mode Exit fullscreen mode

Ve yeniden Tablomuzu kontrol edelim

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Enter fullscreen mode Exit fullscreen mode
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *FA769377A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Enter fullscreen mode Exit fullscreen mode

PHP Kurulumu

PHP, dinamik içeriği görüntülemek için kodu işleyen birimdir. Kendisi aslında bir programlama dilidir. Komut dosyalarını çalıştırabilir, bilgi almak için MySQL veritabanlarınıza bağlanabilir ve işlenen içeriği görüntülemek için web sunucunuza aktarabilir. Apache PHP'ile çalışabilmek için ek modüle ihtiyaç duyar. Başta onları yükleyelim

sudo apt install php libapache2-mod-php php-mysql
Enter fullscreen mode Exit fullscreen mode

Şimdi de aktif apache klasörülerinin listesini listeleyelim.

sudo nano /etc/apache2/mods-enabled/dir.conf
Enter fullscreen mode Exit fullscreen mode

Bu dosya içeriği şu şekilde görünecektir.

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Enter fullscreen mode Exit fullscreen mode

bu içeriği index.php'yi öne alarak değiştirelim

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
Enter fullscreen mode Exit fullscreen mode

Bütün bu değişimin aktive edilmesi için apache sunucusunu yeniden başlatalım.

sudo systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Eğer ki sunucunuzu debug etmek istiyorsanız php-cli paketini yüklenemniz önerilir.

sudo apt install php-cli
Enter fullscreen mode Exit fullscreen mode

Bitiriş

Artık bir LAMP sunucusuna sahip olduğunuza göre, daha sonra ne yapacağınız konusunda birçok seçeneğiniz var. Temel olarak, sunucunuza çoğu türde web sitesi ve web yazılımı yüklemeniz artık mümkün, güle güle kullanın.

Top comments (0)