Bu öğreticinin önceki bir sürümü Brennan Bearnes tarafından yazılmıştır.
Giriş
Çoğu kullanıcı MySQL gibi bir veritabanı yönetim sisteminin işlevselliğine ihtiyaç duysa da, sistemle yalnızca MySQL komut isteminden rahatça etkileşim kuramıyor olabilirler.
phpMyAdmin, kullanıcıların bir web arayüzü üzerinden MySQL ile etkileşimde bulunabilmesi için oluşturuldu. Bu kılavuzda, phpMyAdmin'in nasıl kurulacağını ve bağlanacağını tartışacağız, böylece veritabanlarınızı bir Ubuntu 18.04 sisteminden yönetmek için güvenle kullanabilirsiniz.
Ön şartlar
Bu kılavuza başlamadan önce, tamamlanmış bazı temel adımlara sahip olmanız gerekir.
İlk olarak, sunucunuzun, Ubuntu 18.04 için ilk sunucu kurulum kılavuzunda açıklandığı gibi, sudo ayrıcalıklarına sahip bir root kullanıcısı ve
ufw ile yapılandırılmış bir güvenlik duvarı olduğunu kabul edeceğiz.
Ayrıca Ubuntu 18.04 sunucunuzda bir LAMP (Linux, Apache, MySQL ve PHP) kurulumunu tamamladığınızı varsayıyoruz. Bu henüz tamamlanmadıysa, Ubuntu 18.04'te LAMP yığını kurmak için bu kılavuzu takip edebilirsiniz.
Son olarak, phpMyAdmin gibi yazılımları kullanırken önemli güvenlik hususları vardır, çünkü
- MySQL kurulumunuzla doğrudan iletişim kurar
- MySQL kimlik bilgilerini kullanarak kimlik doğrulaması yapar
- Rasgele SQL sorguları için sonuçları yürütür ve döndürür
Bu nedenlerden dolayı ve genellikle saldırı için hedeflenen yaygın olarak kullanılan bir PHP uygulaması olduğundan, phpMyAdmin'i uzaktaki bir HTTP bağlantısı üzerinden uzak sistemlerde çalıştırmamalısınız. SSL / TLS sertifikasıyla yapılandırılmış mevcut bir alan adınız yoksa, Ubuntu 18.04'te Let's Encrypt ile Apache'yi güvenli hale getirmek için bu kılavuzu takip edebilirsiniz.
Bu adımlarla işiniz bittiğinde, bu kılavuza başlamak için hazırsınız.
Adım Bir – phpMyAdmin'in Kurulumu
Başlamak için phpMyAdmin'i varsayılan Ubuntu depolarından kuracağız.
Yerel paket dizinimizi güncelleyerek ve daha sonra dosyaları aşağı çekmek ve sistemimize yüklemek için
apt paketleme sistemini kullanarak bunu yapabiliriz:
- sudo apt güncellemesi
- sudo apt install phpmyadmin php-mbstring php-gettext
Bu, kurulumunuzu doğru bir şekilde yapılandırmak için size birkaç soru soracaktır.
Uyarı: istemi göründüğünde, apache2 vurgulanan, ancak seçili değildir. Eğer isabet yoksa
SPACE Apache seçmek için, yükleyici yükleme sırasında gerekli dosyaları hareket etmeyecektir. Apache'yi seçmek için
SPACE ,
TAB ve
ENTER basın.
- Sunucu seçimi için apache2'yi seçin.
- Veritabanını kurmak için
dbconfig-commonkullanılıp kullanılmayacağı sorulduğunda evet'i seçin.
- Daha sonra
phpMyAdminiçin bir MySQL uygulama şifresi seçip onaylamanız istenecektir.
Yükleme işlemi phpMyAdmin Apache yapılandırma dosyasını otomatik olarak okuduğu
/etc/apache2/conf-enabled/ dizinine ekler. Yapmamız gereken tek şey, yazarak yapabileceğimiz
mbstring PHP uzantısını açıkça etkinleştirmektir:
- sudo phpenmod mbstring
Daha sonra, değişikliklerin tanınması için Apache'yi yeniden başlatmanız gerekir:
- sudo systemctl apache2'yi yeniden başlat
Artık web arayüzüne sunucunuzun alan adını veya genel IP adresini ve ardından
/phpmyadmin adresini ziyaret ederek erişebilirsiniz:
https://your_domain_or_IP/phpmyadmin
Artık
phpmyadmin kullanıcı adını ve kurulum sırasında kurduğunuz yönetici şifresini kullanarak arayüze giriş yapabilirsiniz.
Giriş yaptığınızda, böyle bir şeye benzeyen kullanıcı arayüzünü göreceksiniz:
İkinci Adım – phpMyAdmin Örneklemenizi Güvende Etme
PhpMyAdmin arayüzümüzü oldukça kolay bir şekilde çalıştırabildik. Ancak, henüz bitmedi. Her yerde bulunabilmesinden dolayı, phpMyAdmin saldırganlar için popüler bir hedeftir. Yetkisiz erişimi önlemek için ekstra adımlar atmalıyız.
Bunu yapmanın en kolay yollarından biri, tüm uygulamanın önüne bir geçit yerleştirmektir. Apache'nin yerleşik
.htaccess kimlik doğrulama ve yetkilendirme işlevlerini kullanarak bunu yapabiliriz.
Bunu yap, Apache konfigürasyon dosyasını düzenleyerek
.htaccess dosya geçersiz kılmalarını kullanabilmeliyiz.
Apache yapılandırma dizinimize yerleştirilmiş olan bağlantılı dosyayı düzenleyin:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
AllowOverride All gibi, yapılandırma dosyasının
<Directory /usr/share/phpmyadmin> bölümündeki
AllowOverride All yönergelerini ekleyin:
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
Bu satırı eklediğinizde, dosyayı kaydedip kapatın.
Yaptığınız değişiklikleri uygulamak için Apache'yi yeniden başlatın:
- sudo systemctl apache2'yi yeniden başlat
Uygulamamız için
.htaccess kullanımını etkinleştirdiğimize göre, aslında bir miktar güvenlik uygulamak için bir tane oluşturmamız gerekiyor.
Bunun başarılı olması için, dosya uygulama dizini içinde oluşturulmalıdır. Gerekli dosyayı oluşturabilir ve metin düzenleyicimize root imtiyazlarıyla yazarak yazabiliriz:
- sudo nano /usr/share/phpmyadmin/.htaccess
Bu dosya içerisinde aşağıdaki bilgileri girin:
/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
İşte bu satırların her birinin anlamı şudur:
AuthType Basic: Bu satır, uyguladığımız kimlik doğrulama türünü belirtir. Bu tip bir şifre dosyası kullanarak şifre kimlik doğrulamasını uygulayacaktır.
AuthName: Bu, kimlik doğrulama iletişim kutusu için mesaj ayarlar. Bu jeneriği saklamalısınız, böylece yetkisiz kullanıcılar neyin korunmakta olduğu hakkında herhangi bir bilgi elde etmeyeceklerdir.
AuthUserFile: Bu, kimlik doğrulama için kullanılacak parola dosyasının konumunu ayarlar. Bu, sunulmakta olan dizinlerin dışında olmalıdır. Bu dosyayı kısa bir süre içerisinde oluşturacağız.
Require valid-user: Bu, yalnızca doğrulanmış kullanıcıların bu kaynağa erişim izni verileceğini belirtir. Bu, yetkisiz kullanıcıların girmesini engelleyen şeydir.
İşiniz bittiğinde, dosyayı kaydedin ve kapatın.
Şifre dosyamız için seçtiğimiz yer
/etc/phpmyadmin/.htpasswd . Şimdi bu dosyayı oluşturabilir ve
htpasswd yardımcı programıyla ilk kullanıcıya iletebiliriz:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd kullanıcı adı
Oluşturduğunuz kullanıcı için bir şifre seçmeniz ve onaylamanız istenecektir. Daha sonra, dosya girdiğiniz karma şifre ile oluşturulur.
Ek bir kullanıcı girmek istiyorsanız, bunu
-c bayrağı olmadan yapmanız gerekir:
- sudo htpasswd /etc/phpmyadmin/.htpasswd ekleyici
Artık, phpMyAdmin alt dizininize eriştiğinizde, yeni yapılandırdığınız ek hesap adı ve şifresi istenir:
https://domain_name_or_IP/phpmyadmin
Apache kimlik doğrulamasını girdikten sonra, diğer kimlik bilgilerinizi girmek için normal phpMyAdmin kimlik doğrulama sayfasına yönlendirilirsiniz. Bu, phpMyAdmin geçmişte güvenlik açıklarından muzdarip olduğu için ek bir güvenlik katmanı ekleyecektir.
Sonuç
Artık phpMyAdmin'in Ubuntu 18.04 sunucunuzda yapılandırılmış ve kullanıma hazır olması gerekir. Bu arabirimi kullanarak, veritabanlarını, kullanıcıları, tabloları, vb. Kolayca oluşturabilir ve yapıları ve verileri silme ve değiştirme gibi olağan işlemleri gerçekleştirebilirsiniz.
Bir önceki yazımız olan Laravel'de Görünüm Bileşenlerinin Tanıtılması, Bestecilerin Görüntülenmesine Bir Alternatif başlıklı makalemizi de okumanızı öneririz.