PhpMyAdmin veritabanlarını yönetmek için grafiksel bir yardımcı programdır. Genellikle MySQL veya MariaDB veritabanlarını uzaktan yönetmek için kullanılır.
Bu öğretici, bir CentOS 8 sistemine phpMyAdmin’in nasıl kurulacağını açıklar.
Önkoşullar
- CentOS 8 Linux Yüklü Sunucu
- Çalışan MySQL veya MariaDB veritabanı
- Terminal penceresi / komut satırı (Ara > terminal)
- ile kullanıcı hesabı sudo veya kök ayrıcalıklar
1. Adım: CentOS 8’de phpMyAdmin’i kurun
PhpMyAdmin aracı, varsayılan CentOS 8 depolarına dahil değildir. Ancak, dosya manuel olarak indirilebilir.
1. Bir terminal penceresinde, phpMyAdmin dosyasını indirmek için aşağıdaki komutu girin:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip
Not: Bu makale yazıldığı sırada, phpMyAdmin’in en son sürümü şuydu: 4.9.4. lütfen kontrol ediniz geliştiricinin indirme sayfası en son sürüm için.
2. Çıkarın .zip dosya arşivi:
unzip phpMyAdmin-4.9.4-all-languages.zip
3. Ayıklanan dosyaları şuraya taşıyın: /usr/share/phpmyadmin
dizin:
sudo mv phpMyAdmin-4.9.4-all-languages.zip /usr/share/phpmyadmin
4. Dizinleri değiştirin:
cd /usr/share/phpmyadmin
5. Yeniden adlandırın örnek php konfigürasyon dosya:
sudo mv config.sample.inc.php config.inc.php
6. php yapılandırması düzenleme için dosya:
sudo nano config.inc.php
7. Aşağıdaki satırı bulun:
$cfg['blowfish_secret'] = '';
8. Satırı düzenleyin ve yenisini girin php kök parolası tek tırnaklar arasında aşağıdaki gibi:
$cfg['blowfish_secret']='my_password';
9. Dosyayı kaydedin (Ctrl+o
) ve kapat (Ctrl+x
).
10. Ardından, geçici olarak izinler oluşturun ve ayarlayın. phpMyAdmin dizin:
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp
Adım 2: Apache’yi phpMyAdmin için yapılandırın
1. Oluşturun Apache yapılandırma dosyası:
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
2. Bu, yeni, boş bir yapılandırma dosyası oluşturur. Aşağıdaki kodu girin:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
3. Dosyayı kaydedin (Ctrl+o) ve çıkış (Ctrl+x).
4. Son olarak, yapılandırma dosyasında yapılan değişiklikleri uygulamak için Apache hizmetini yeniden başlatın:
systemctl restart httpd
Not: Koşmak systemctl
durum httpd
Apache’nin yeniden başlatıldığını ve çalıştığını doğrulamak için.
3. Adım: SELinux ve Güvenlik Duvarını Yapılandırın
SELinux, Security-Enhanced Linux’un kısaltmasıdır. Bu, güvenliği artıran çekirdek düzeyinde bir geliştirmedir. phpMyAdmin’in çalışması için bu protokolü yeniden yapılandırın.
1. Aşağıdaki yazılım paketini yükleyerek başlayın:
yum –y install policycoreutils-python-utils
CentOS 8’in bazı sürümlerinde bu paket zaten kurulu olabilir. Bu durumda çıktı, yapacak bir şey olmadığını gösterir ve bir sonraki adıma geçebilirsiniz.
2. Ardından, şuraya erişimi etkinleştirin: phpmyadmin aşağıdaki komutlarla dizin:
semanage fcontext –a –t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'
semanage fcontext –a –t httpd_sys_rw_content_t "usr/share/phpmyadmin/tmp(/.*)?"
restorecon -Rv '/usr/share/phpmyadmin/'
İlk iki komutun tamamlanması biraz zaman alabilir. Üçüncü komut, phpmyadmin değişiklikleri uygulamak için dizin.
Güvenlik Duvarını Trafiğe İzin Verecek Şekilde Ayarlayın
1. İzin vermek için bir güvenlik duvarı kuralı oluşturun HTTP şu komutla trafik:
firewall–cmd ––permanent ––add-service=http
2. Bu değişiklikleri yaptıktan sonra güvenlik duvarını yeniden yüklediğinizden emin olun:
firewall-cmd ––reload
4. Adım: phpMyAdmin’i test edin
1. Bir web tarayıcısı açın ve aşağıdaki URL’ye gidin:
localhost/phpmyadmin
Tarayıcı, phpMyAdmin giriş sayfasını göstermelidir. Ancak oturum açmaya çalışırsanız bir hata mesajı görüntülenebilir:
“Sunucu, istemci tarafından bilinmeyen bir kimlik doğrulama yöntemi istedi.”
Bu hata oluşur çünkü MySQL 8.x şifre doğrulama mekanizmasını yükseltti. PhpMyAdmin, bu kimlik doğrulama yöntemini kullanmak için henüz güncellenmedi.
2. Bu önlemi atlamak için MySQL kabuğunu açın ve kök kullanıcıyı değiştirin:
mysql –u root –p
password
ALTER USER 'root'@'localhost' IDENTIFIED WITH myswl_native_password BY 'password';
3. Değiştir password
MySQL kurulumunu güvenli hale getirirken belirlediğiniz gerçek parola ile.
4. Web tarayıcısını yenileyin phpMyAdmin sayfasına gidin ve MySQL kullanıcı adınız ve şifrenizle oturum açın.
Adım 5: phpMyAdmin’e Yetkisiz Erişimi Kısıtlayın (İsteğe Bağlı)
Artık çalışan bir phpMyAdmin yardımcı programınız olmalıdır. Bu bölüm, hassas veritabanlarına yetkisiz erişimi önlemenize yardımcı olacaktır.
phpMyAdmin’e Yalnızca Belirli Bir IP Adresinden İzin Ver
1. phpmyadmin.conf bir metin düzenleyicide dosyalayın (nano kullanacağız):
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
2. Aşağıdaki bölümleri bulun:
Require all granted
3. Bu satırları aşağıdakilerle değiştirin:
Require ip your_system's_ip_address
Require ip ::1
4. Dosyayı kaydedip kapatın.
Not: Yer değiştirmek sisteminizin_ip_adresi sistemin gerçek IP adresi ile. İzin verecek birden çok sisteminiz varsa, her IP adresi için bir satır ekleyin.
Ekstra Parola Kimlik Doğrulaması Ekleme
1. Yeni bir kimlik doğrulama dosyası oluşturun. Bir terminal penceresinde aşağıdakileri girin:
mkdir /etc/phpmyadmin
htpasswd –c /etc/phpmyadmin/.htpasswd admin
2. Bir yönetici parolası girmeniz ve onaylamanız istenir. Bunu yapın ve şifreyi not edin.
3. Ardından, kullanmak için Apache’yi güncelleyin .htpasswd düzenleyerek /etc/httpd/conf.d/phpmyadmin.conf aşağıdaki gibi:
nano /etc/httpd/conf.d/phpmyadmin.conf
4. Etiketli satırın hemen altında AddDefaultCharset UTF-8
aşağıdaki satırları ekleyin:
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
5. Dosyayı kaydedin ve çıkın.
6. Son olarak Apache’yi yeniden başlatın:
systemctl restart httpd
Güncellenmiş Kimlik Bilgileri ile phpMyAdmin’e Erişin
1. Geri göz atın yerel ana bilgisayar/phpmyadmin.
2. Yeni tanımlanan yönetici kullanıcı adı Ve şifre.
Önceki bölümün sonunda görüldüğü gibi sizi ana oturum açma ekranına götürmelidir.
Çözüm
Artık bir CentOS 8 sisteminde çalışan bir phpMyAdmin kurulumuna sahip olmalısınız. MySQL veritabanlarınızı yönetmek için bu grafik yardımcı programını kullanın.