phpMyAdmin, PHP ile yazılmış ücretsiz, açık kaynaklı bir yazılımdır. Yeni başlayanlar için MySQL ve MariaDB veritabanlarını web arayüzü üzerinden yönetmeleri için geliştirilmiştir. MySQL veritabanlarını, kullanıcı hesaplarını ve yetkilerini yönetebileceğiniz, SQL ifadelerini yürütebileceğiniz ve web tarayıcısı aracılığıyla verileri içe ve dışa aktarabileceğiniz basit, kullanıcı dostu ve güçlü bir web arayüzüne sahiptir.
İlk adım
Sistem paketlerinizi en son sürüme güncellemeniz önerilir. Tüm paketleri aşağıdaki komutla güncelleyebilirsiniz:
apt-get update -y apt-get upgrade -y
Tüm paketler güncellendikten sonra bir sonraki adıma geçebilirsiniz.
Apache, MariaDB ve PHP’yi yükleyin
phpMyAdmin, bir web sunucusunda çalışan PHP tabanlı bir uygulamadır. Bu nedenle sunucunuza LAMP sunucusunu kurmanız gerekmektedir. Aşağıdaki komutla yükleyebilirsiniz:
apt-get install apache2 mariadb-server php-fpm libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y
Tüm paketler yüklendikten sonra Apache ve MariaDB hizmetlerini başlatın ve bunları sistem yeniden başlatıldığında başlatılacak şekilde etkinleştirin:
systemctl start apache2 mariadb systemctl enable apache2 mariadb
İşiniz bittiğinde bir sonraki adıma geçebilirsiniz.
PhpMyAdmin’i yükleyin ve yapılandırın
Öncelikle resmi phpMyAdmin web sitesini ziyaret edin, en son sürümün URL’sini seçin ve aşağıdaki komutu kullanarak phpMyAdmin’in en son sürümünü indirin:
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
PhpMyAdmin indirildikten sonra indirilen dosyayı aşağıdaki komutla açın:
tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
Daha sonra, aşağıdaki komutu kullanarak sıkıştırılmış dizini /usr/share dizinine taşıyın:
mv phpMyAdmin-5.2.0-all-languages /usr/share/phpmyadmin
Daha sonra aşağıdaki komutla phpMyAdmin için geçici bir dizin oluşturun:
mkdir -p /var/lib/phpmyadmin/tmp
Daha sonra phpMyAdmin dizini için sahiplik haklarını ayarlayın:
chown -R www-data:www-data /var/lib/phpmyadmin
Daha sonra phpMyAdmin örnek yapılandırma dosyasını kopyalayın:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Daha sonra pwgen aracını yükleyin ve aşağıdaki komutu kullanarak gizli bir anahtar oluşturun:
apt-get install pwgen -y pwgen -s 32 1
Çıktı:
cnWfKjqshvQqoxFPcy7W950IM3DPe5C0
Daha sonra config.inc.php dosyasını düzenlemeniz ve varsayılan ayarları değiştirmeniz gerekir:
nano /usr/share/phpmyadmin/config.inc.php
Gizli anahtarınızı tanımlayın ve aşağıdaki satırlara yorum yapmayın:
$cfg['blowfish_secret'] = 'cnWfKjqshvQqoxFPcy7W950IM3DPe5C0'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'password'; $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; $cfg['Servers'][$i]['relation'] = 'pma__relation'; $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; $cfg['Servers'][$i]['history'] = 'pma__history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates'; $cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
İşiniz bittiğinde dosyayı kaydedin ve kapatın.
PhpMyAdmin için yönetici kullanıcı oluştur
Güvenlik nedeniyle, veritabanını phpMyAdmin aracılığıyla yönetmek için her zaman ayrı bir kullanıcı oluşturulması tavsiye edilir.
İlk önce phpMyAdmin tablolarını aşağıdaki komutla MariaDB veritabanına aktarın:
mysql < /usr/share/phpmyadmin/sql/create_tables.sql
Daha sonra aşağıdaki komutla MariaDB kabuğuna bağlanın:
mysql
Bağlandıktan sonra PHPMyAdmin veritabanına aşağıdaki komutla gerekli tüm izinleri verin:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';
Daha sonra aşağıdaki komutla bir kullanıcı yöneticisi oluşturun:
MariaDB [(none)]> CREATE USER myadmin;
Yönetici kullanıcıya aşağıdaki komutla gerekli tüm izinleri verin:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
İzinleri silin ve aşağıdaki komutla MariaDB kabuğundan çıkın:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
İşiniz bittiğinde bir sonraki adıma geçebilirsiniz.
PhpMyAdmin için Apache Sanal Ana Bilgisayarı Oluşturun
Daha sonra, phpMyAdmin için Apache sanal ana bilgisayarına yönelik bir yapılandırma dosyası oluşturmanız gerekir. Aşağıdaki komutla oluşturabilirsiniz:
nano /etc/apache2/conf-available/phpmyadmin.conf
Aşağıdaki satırları yapıştırın:
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php <IfModule mod_php5.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> <IfModule mod_php.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> </Directory> # Authorize for setup <Directory /usr/share/phpmyadmin/setup> <IfModule mod_authz_core.c> <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </IfModule> </Directory> # Disallow web access to directories that don't need it <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Require all denied </Directory>
İşiniz bittiğinde dosyayı kaydedip kapatın, ardından phpMyAdmin yapılandırma dosyasını aşağıdaki komutla etkinleştirin:
a2enconf phpmyadmin.conf
Daha sonra değişikliklerin etkili olması için Apache hizmetini yeniden yüklemeniz gerekecek:
systemctl reload apache2
Apache hizmetinin durumunu aşağıdaki komutla kontrol edebilirsiniz:
systemctl status apache2
Aşağıdaki çıktıyı görmelisiniz:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-08-06 09:58:37 UTC; 11min ago Docs: https://httpd.apache.org/docs/2.4/ Process: 91902 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Main PID: 90122 (apache2) Tasks: 7 (limit: 2242) Memory: 14.3M CPU: 423ms CGroup: /system.slice/apache2.service ??90122 /usr/sbin/apache2 -k start ??91906 /usr/sbin/apache2 -k start ??91907 /usr/sbin/apache2 -k start ??91908 /usr/sbin/apache2 -k start ??91909 /usr/sbin/apache2 -k start ??91910 /usr/sbin/apache2 -k start ??91911 /usr/sbin/apache2 -k start Aug 06 09:58:37 ubuntu2204 systemd[1]: Starting The Apache HTTP Server... Aug 06 09:58:37 ubuntu2204 apachectl[90121]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 2> Aug 06 09:58:37 ubuntu2204 systemd[1]: Started The Apache HTTP Server. Aug 06 10:09:41 ubuntu2204 systemd[1]: Reloading The Apache HTTP Server... Aug 06 10:09:41 ubuntu2204 apachectl[91905]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 2> Aug 06 10:09:41 ubuntu2204 systemd[1]: Reloaded The Apache HTTP Server.
PhpMyAdmin’e erişim
Artık phpMyAdmin kuruldu ve yapılandırıldı. Artık web tarayıcınızı açabilir ve http://sunucunuzun-ip/phpmyadmin URL’si aracılığıyla phpMyAdmin’e erişebilirsiniz. PhpMyAdmin giriş ekranını görmelisiniz:
Yönetici kullanıcı adınızı ve şifrenizi girin ve “Giriş” butonuna tıklayın. Sonraki sayfada phpMyAdmin kontrol panelini göreceksiniz:
İki faktörlü kimlik doğrulamayı etkinleştirme
PhpMyAdmin’i iki faktörlü kimlik doğrulamayla güvence altına almak iyi bir fikirdir. Bunu yapmak için .htaccess’teki kimlik doğrulama ve yetkilendirme işlevlerini kullanabilirsiniz.
İlk önce phpMyAdmin yapılandırma dosyasını düzenleyin:
nano /etc/apache2/conf-available/phpmyadmin.conf
Aşağıdaki sunucu bloğuna “AllowOverride All” satırını ekleyin:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All <IfModule mod_php5.c> İşiniz bittiğinde dosyayı kaydedip kapatın, ardından Apache hizmetini yeniden başlatın:
systemctl restart apache2
Daha sonra bir .htaccess dosyası oluşturun ve Apache kimlik doğrulama türünü tanımlayın:
nano /usr/share/phpmyadmin/.htaccess
Aşağıdaki satırları ekleyin:
AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/share/phpmyadmin/.htpasswd Require valid-user
Dosyayı kaydedip kapatın ve ardından aşağıdaki komutla bir kullanıcı oluşturun:
htpasswd -c /usr/share/phpmyadmin/.htpasswd phpuser
Bir şifre belirlemeniz istenecektir (aşağıya bakın):
New password: Re-type new password: Adding password for user secureuser
PhpMyAdmin’in iki faktörlü kimlik doğrulamasını test edin
Bu noktada phpMyAdmin iki faktörlü kimlik doğrulama ile güvence altına alınmaktadır. Test etmek için web tarayıcınızı açın ve http://sunucunuz-ip/phpmyadmin URL’si aracılığıyla phpMyAdmin’e erişin. Sizden ek kullanıcı adı ve şifre istenecektir (aşağıya bakın):
Kullanıcı adınızı ve şifrenizi girdikten sonra normal phpMyAdmin giriş sayfasına yönlendirileceksiniz.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.