phpMyAdmin® adalah alat administrasi sumber terbuka dan gratis untuk MySQL® dan MariaDB®. Sebagai aplikasi web portabel yang ditulis terutama dalam PHP, phpMyAdmin telah menjadi salah satu alat administrasi MySQL paling populer, terutama untuk layanan hosting web.
Artikel ini menjelaskan cara menginstal dan mengkonfigurasi phpMyAdmin di server web Anda untuk CentOS® 7, Red Hat® Enterprise Linux® (RHEL) 7, dan Ubuntu® 16.04 LTS.
Prasyarat
Sebelum Anda dapat menginstal phpMyAdmin, Anda harus menginstal yang berikut ini di server Anda:
- Server web, seperti Apache® atau NGINX®
- PHP
Periksa apakah server web sudah terpasang
Gunakan perintah dalam tabel berikut untuk memeriksa apakah server web telah diinstal:
Sistem operasi | Server web | Perintah |
---|---|---|
CentOS dan RHEL | Apache | rpm -qa | grep httpd |
CentOS dan RHEL | NGINX | rpm -qa | grep nginx |
Sistem operasi Ubuntu | Apache | dpkg -l | grep apache |
Sistem operasi Ubuntu | NGINX | dpkg -l | grep nginx |
Periksa apakah PHP sudah diinstal
Gunakan perintah berikut untuk memeriksa apakah PHP diinstal pada CentOS atau RHEL:
rpm -qa | grep php
Gunakan perintah berikut untuk memeriksa apakah PHP diinstal pada sistem operasi Ubuntu:
dpkg -l | grep php
Instal phpMyAdmin
Gunakan petunjuk di bagian berikut untuk menginstal phpMyAdmin.
CentOS dan RHEL
Instal phpMyAdmin dengan menggunakan perintah berikut:
yum install phpmyadmin
Outputnya harus mirip dengan contoh berikut:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.mhd.uk.as44574.net
* epel: mirror.freethought-internet.co.uk
* extras: mirror.mhd.uk.as44574.net
* updates: mirror.mhd.uk.as44574.net
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.4.15.10-3.el7 will be installed
--> Processing Dependency: php-mysqli >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-mbstring >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-gd >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-xmlwriter for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Running transaction check
Sistem operasi Ubuntu
Instal phpMyAdmin dengan menggunakan perintah berikut:
apt-get install php phpmyadmin
Outputnya harus mirip dengan contoh berikut:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
dbconfig-common dbconfig-mysql fontconfig-config fonts-dejavu-core javascript-common libfontconfig1 libgh3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml
Suggested packages:
libgd-tools php-libsodium php-gmp php-imagick www-browser
The following NEW packages will be installed:
dbconfig-common dbconfig-mysql fontconfig-config fonts-devaju-core javascript-common libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml phpmyadmin
0 upgraded, 28 newly installed, 0 to remove and 6 not upgraded.
Need to get 16.3 MB of archives.
After this operation, 61.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Tekan Y lalu tekan Enter untuk melanjutkan ke proses konfigurasi. Lihat Konfigurasi phpMyAdmin pada sistem operasi Ubuntu bagian untuk petunjuk lebih lanjut.
Konfigurasi phpMyAdmin di CentOS dan RHEL
Setelah Anda menginstal phpMyAdmin di server web Anda, gunakan petunjuk di bagian berikut untuk mengkonfigurasi phpMyAdmin.
Server web Apache
Anda harus terlebih dahulu menambahkan alamat Internet Protocol (IP) yang ingin Anda gunakan untuk mengakses phpMyAdmin ke /etc/phpMyAdmin/config.inc.php file konfigurasi.
-
Buka /etc/phpMyAdmin/config.inc.php file dalam editor teks.
-
Di bagian yang diawali dengan baris
<IfModule !mod_authz_core.c>
, tambahkan alamat IP seperti yang ditunjukkan pada contoh berikut:<IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 Allow from Require ip 94.236.7.190 </IfModule> </Directory>
-
Simpan dan tutup file.
Setel alias URL (opsional)
URL standar untuk instalasi phpMyAdmin adalahhttps://ipaddress/phpMyAdmin , di mana ipaddress adalah alamat IP yang Anda tambahkan ke file konfigurasi di bagian sebelumnya. Jika Anda ingin mengubah URL, Anda dapat mengatur alias.
-
Buka /etc/httpd/conf.d/phpMyAdmin.conf file dalam editor teks.
-
Temukan baris yang dimulai dengan
Alias
dan ubah/phpMyAdmin
ke alias pilihan Anda, seperti yang ditunjukkan pada contoh berikut:Alias /NewName /usr/share/phpMyAdmin Alias /newname /usr/share/phpMyAdmin
-
Simpan dan keluar dari file.
File konfigurasi database
Jika server database MySQL atau MariaDB yang ingin Anda gunakan dengan phpMyAdminis tidak terletak di server yang sama dengan server web Anda, Anda harus mengedit file konfigurasi database untuk menentukan lokasi server database.
Ada dua opsi konfigurasi:
- Host MySQL atau alamat IP
- Port MySQL/MariaDB
Gunakan langkah-langkah berikut untuk menentukan lokasi server database Anda:
-
Buka /etc/phpMyAdmin/config.inc.php file dalam editor teks.
-
Edit file seperti yang ditunjukkan pada contoh berikut:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address $cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port $cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket $cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket') $cfg['Servers'][$i]['extension'] = 'mysqli'; // The php MySQL extension to use ('mysql' or 'mysqli') $cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection // (requires PHP >= 4.3.0) $cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings // (this user must have read-only $cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user" // and "mysql/db" tables).
-
Simpan dan keluar dari file.
Untuk mengaktifkan perubahan, Anda harus memeriksa sintaks daemon mesin web, lalu memulai ulang atau memuat ulang dengan lancar.
Periksa sintaks dengan menggunakan perintah berikut:
apachectl configtest
Jika tidak ada kesalahan dalam file konfigurasi, Anda akan melihat Syntax OK
dalam keluaran.
Muat ulang server web Apache dengan menggunakan perintah berikut:
CentOS dan RHEL 6
service httpd graceful
CentOS dan RHEL 7
systemctl status httpd
Periksa status layanan httpd untuk memastikannya berfungsi seperti yang diharapkan dengan menggunakan perintah berikut:
CentOS dan RHEL 6
service httpd status
CentOS dan RHEL 7
systemctl status httpd
Anda sekarang dapat melihat phpMyAdmin melalui browser web, seperti yang ditunjukkan pada gambar berikut:
server web NGINX
Pada NGINX, paket phpMyAdmin tidak disertai dengan file konfigurasi, jadi Anda harus membuat blok server untuk menunjuk ke file konfigurasi phpMyAdmin.
-
Buka editor teks dan buat file /etc/nginx/conf.d/phpMyAdmin.conf .
-
Masukkan pengaturan konfigurasi berikut:
server { listen 80; server_name 95.138.162.233; root /var/www; location /phpMyAdmin { root /usr/share/; index index.php; # auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security # auth_basic_user_file /etc/nginx/.pma_pass; # uncomment if using .htaccess & .htpasswd security location ~\.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpmyadmin { rewrite ^/* /phpMyAdmin last; } }
-
Simpan dan keluar dari file.
Untuk mengaktifkan perubahan, Anda harus memeriksa sintaks daemon mesin web, lalu memulai ulang atau memuat ulang dengan lancar.
Gunakan perintah berikut untuk memeriksa sintaks:
nginx -t
Jika tidak ada kesalahan dalam file konfigurasi, Anda akan melihat Syntax OK
dalam keluaran.
Muat ulang server web NGINX dengan menggunakan perintah berikut:
CentOS dan RHEL 6
service nginx graceful
CentOS dan RHEL 7
systemctl reload nginx
Periksa status layanan NGINX untuk memastikan berfungsi seperti yang diharapkan dengan menggunakan perintah berikut:
CentOS dan RHEL 6
service nginx status
CentOS dan RHEL 7
systemctl status nginx
Anda sekarang dapat melihat phpMyAdmin melalui browser web, seperti yang ditunjukkan pada gambar berikut:
Konfigurasikan phpMyAdmin pada sistem operasi Ubuntu
Gunakan langkah-langkah di bagian berikut untuk mengonfigurasi phpMyAdmin pada sistem operasi Ubuntu.
Server web Apache
Proses instalasi menambahkan file konfigurasi Apache phpMyAdmin ke /etc/apache2/conf-enabled/ direktori, di mana ia dibaca secara otomatis. Satu-satunya hal yang perlu Anda lakukan adalah mengaktifkan mbstring
Ekstensi PHP, yang dapat Anda lakukan dengan menjalankan perintah berikut:
sudo phpenmod mbstring
Setelah menginstal phpMyAdmin, layar konfigurasi paket ditampilkan, seperti yang ditunjukkan pada gambar berikut.
Gunakan bilah spasi untuk memilih apache2 , tekan Tab untuk memilihOke , lalu tekan Enter .
Proses instalasi berlanjut hingga layar konfigurasi lain muncul yang meminta Anda untuk mengonfirmasi apakah Anda ingin mengkonfigurasi database Anda untuk phpMyAdmin dengan menggunakan dbconfig-common
.
Pilih Ya , lalu tekan Enter .
Anda akan dimintai kata sandi administrator database Anda. Masukkan kata sandi Anda, tekan Tab untuk memilih Oke , lalu tekan Enter .
Selanjutnya masukkan password untuk aplikasi phpMyAdmin itu sendiri, tekan Tab untuk memilih Oke , lalu tekan Enter .
Konfirmasi sandi dengan memilih Oke , lalu tekan Enter .
Setelah proses instalasi selesai, file konfigurasi phpMyAdmin ditambahkan ke /etc/apache2/conf-enabled/phpmyadmin.conf .
Jika file ini tidak ada setelah instalasi selesai, Anda dapat menyalinnya dari /etc/phpmyadmin/apache.conf ke /etc/Apache2/conf-enabled . Jika file tersebut tidak ada, Anda harus membuat virtual host untuk phpMyAdmin dengan pengaturan sebagai berikut:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/vhosts/example.com;
..
location /phpMyAdmin {
root /usr/share/;
index index.php;
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd; # uncomment if using .htaccess & .htpasswd security
location ~\.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}
...
}
Jika sewaktu-waktu Anda perlu mengkonfigurasi ulang phpMyAdmin, Anda dapat menggunakan perintah berikut:
dpkg-reconfigure phpmyadmin
Konfigurasi basis data jarak jauh
Jika server database yang ingin Anda kelola dengan phpMyAdmin jarak jauh, Anda harus mengkonfigurasi phpMyAdmin secara berbeda. File konfigurasi terletak di /etc/phpmyadmin direktori. File konfigurasi utama adalah/etc/phpmyadmin/config.inc.php , yang berisi opsi konfigurasi yang berlaku secara global ke phpMyAdmin.
Untuk menggunakan phpMyAdmin untuk mengelola database MySQL yang dihosting di server lain, buka /etc/phpmyadmin/config.inc.php dalam editor teks dan kemudian edit baris berikut:
Baris lama | Baris baru |
---|---|
$cfg['Servers'][$i]['host'] = '$dbserver'; | $cfg['Servers'][$i]['host'] = '192.168.71.21'; |
Catatan: Ganti $dbserver
dengan nama server basis data jarak jauh yang sebenarnya atau alamat IP. Juga, pastikan bahwa host phpMyAdmin memiliki izin untuk mengakses database jarak jauh.
File konfigurasi lain yang harus Anda edit adalah/etc/phpmyadmin/apache.conf . File ini ditautkan secara simbolis ke/etc/apache2/conf-available/phpmyadmin.conf . Setelah diaktifkan, digunakan untuk mengkonfigurasi Apache2 untuk melayani situs phpMyAdmin. File tersebut berisi arahan untuk memuat PHP, izin direktori, dan sebagainya.
Jalankan perintah berikut untuk mengaktifkan file konfigurasi, lalu muat ulang layanan:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin.conf sudo systemctl reload apache2.service
Sekarang setelah phpMyAdmin terinstal di komputer klien, sambungkan ke server jarak jauh tempat database MySQL atau MariaDB diinstal. Buka file /etc/mysql/mysql.conf.d/mysql.cnf dan edit baris berikut:
bind-address = 0.0.0.0
Ganti 0.0.0.0
dengan alamat IP server jarak jauh, lalu simpan dan keluar dari file.
Jalankan perintah berikut untuk mengizinkan pengguna root mengakses server dari komputer klien:
sudo mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.20' IDENTIFIED BY 'root_password_here' WITH GRANT OPTION;
Ganti alamat IP dengan alamat server jarak jauh, danroot_password_here
dengan kata sandi pengguna root.
Setelah Anda mengedit pengaturan konfigurasi, buka browser dan navigasikan kehttps://clientPC/phpmyadmin , menggunakan alamat IP komputer klien atau nama host. Anda seharusnya dapat masuk dari jarak jauh ke server dari portal web phpMyAdmin klien.
Muat ulang server web
Untuk membuat perubahan pada file konfigurasi langsung, Anda harus terlebih dahulu memeriksa sintaks file dan kemudian memulai ulang atau memuat ulang server web dengan lancar.
Gunakan perintah berikut untuk memeriksa sintaks file konfigurasi:
apache2ctl configtest
Kemudian reload web server Apache dengan menjalankan perintah berikut:
systemctl reload apache2
Periksa status layanan untuk memastikan bahwa layanan berfungsi seperti yang diharapkan dengan menjalankan perintah berikut:
system status apache2
Anda sekarang dapat melihat phpMyAdmin melalui browser web, seperti yang ditunjukkan pada gambar berikut:
Server web NGINX
Setelah menginstal phpMyAdmin, layar konfigurasi paket ditampilkan, seperti yang ditunjukkan pada gambar berikut:
Gunakan bilah spasi untuk memilih apache2 , tekan Tab untuk memilihOke , lalu tekan Enter .
Proses instalasi berlanjut hingga layar konfigurasi lain muncul yang meminta Anda untuk mengonfirmasi apakah Anda ingin mengkonfigurasi database Anda untuk phpMyAdmin dengan menggunakan dbconfig-common
.
Pilih Ya , lalu tekan Enter .
Anda akan dimintai kata sandi administrator database Anda. Masukkan kata sandi Anda, tekan Tab untuk memilih Oke , lalu tekan Enter .
Selanjutnya masukkan password untuk aplikasi phpMyAdmin itu sendiri, tekan Tab untuk memilih Oke , lalu tekan Enter .
Konfirmasi sandi dengan memilih Oke , lalu tekan Enter .
Setelah proses instalasi selesai, Anda harus membuat file konfigurasi phpMyAdmin di sini:/etc/nginx/sites-enabled/phpmyadmin.conf .
Masukkan informasi berikut ke dalam file, lalu simpan:
server {
listen 80;
server_name 95.138.162.233;
root /var/www;
location /phpmyadmin {
root /usr/share/;
index index.php;
try_files $uri $uri/ =404;
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/nginx/.pma_pass; # uncomment if using .htaccess & .htpasswd security
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ /phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; include snippets/fastcgi-php.conf;
}
}
}
File phpMyAdmin Anda berada di /usr/share/phpmyadmin/ directory.Konfigurasi di atas memberitahu NGINX bahwa jika pengunjung masukhttps://ip_address/phpmyadmin di bilah alamat browser, seharusnya menemukan index.php file di /usr/share/phpmyadmin/ direktori dan menampilkannya.
Muat ulang server web
Untuk membuat perubahan pada file konfigurasi langsung, Anda harus terlebih dahulu memeriksa sintaks file dan kemudian memulai ulang atau memuat ulang server web dengan lancar.
Gunakan perintah berikut untuk memeriksa sintaks file konfigurasi:
nginx -t
Kemudian reload web server Apache dengan menjalankan perintah berikut:
RHEL dan CentOS 6
service nginx graceful
RHel dan CentOS 7
systemctl reload nginx
Periksa status layanan untuk memastikan bahwa layanan berfungsi seperti yang diharapkan dengan menjalankan perintah berikut:
RHEL dan CentOS 6
service nginx status
RHEL dan CentOS 7
systemctl status nginx
Anda sekarang dapat melihat phpMyAdmin melalui browser web, seperti yang ditunjukkan pada gambar berikut:
Konfigurasikan keamanan tambahan (opsional)
htpasswd
digunakan untuk membuat dan memperbarui file datar yang menyimpan nama pengguna dan kata sandi untuk otentikasi dasar pengguna HTTP. Jikahtpasswd
tidak dapat mengakses file (tidak dapat menulis ke file keluaran atau membaca file untuk memperbaruinya), ini mengembalikan status kesalahan dan tidak membuat perubahan.
Gunakan langkah-langkah di bagian berikut untuk menyiapkan otentikasi dasar pada server web yang menjalankan phpMyAdmin.
Server web Apache
Secara default, Apache tidak mengizinkan penggunaan .htaccess
. Anda harus mengkonfigurasi Apache untuk mengizinkan .htaccess
otentikasi berbasis.
Buka file konfigurasi Apache di editor teks dan temukan bagian yang dimulai dengan <Directory "/var/www/html">
.
Untuk RHEL dan CentOS, file konfigurasinya adalah /etc/httpd/conf/httpd.conf .
Untuk sistem operasi Ubuntu, file konfigurasinya adalah /etc/Apache2/conf/httpd.conf .
Ubah baris dari AllowOverride none
ke AllowOverride AuthConfig
.
Catatan :Jika baris ini berbunyi AllowOverride All
, maka tidak ada perubahan yang diperlukan.
Simpan dan tutup file.
htpasswd
perintah digunakan untuk membuat dan memperbarui file yang menyimpan nama pengguna dan kata sandi untuk otentikasi dasar pengguna Apache. Gunakan perintah berikut untuk membuat file tersembunyi untuk menyimpan nama pengguna dan kata sandi terenkripsi untuk setiap pengguna:
htpasswd -c /etc/phpMyAdmin/.phpmyadmin-htpasswd username
Setelah Anda membuat pengguna, jalankan perintah berikut untuk melihat nama pengguna dan kata sandi di /etc/phpMyAdmin/.phpmyadmin-htpasswd berkas:
cat /etc/phpMyAdmin/.phpmyadmin-htpasswd
Outputnya harus mirip dengan contoh berikut:
user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1
Sekarang Anda perlu mengizinkan apache
pengguna untuk membaca .htpasswd
file dengan menjalankan perintah berikut:
chown apache:apache /etc/phpMyAdmin/.phpmyadmin-htpasswd
chmod 0660 /etc/phpMyAdmin/.phpmyadmin-htpasswd
Terakhir, Anda harus menghapus komentar pada baris berikut dari file konfigurasi phpMyAdmin:
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd; # uncomment if using .htaccess & .htpasswd security
Server web NGINX
htpasswd
perintah digunakan untuk membuat dan memperbarui file yang menyimpan nama pengguna dan kata sandi untuk otentikasi dasar pengguna Apache. Gunakan perintah berikut untuk membuat file tersembunyi untuk menyimpan nama pengguna dan kata sandi terenkripsi untuk setiap pengguna:
htpasswd -c /etc/nginx/.pma_pass username
Setelah Anda membuat pengguna, jalankan perintah berikut untuk melihat nama pengguna dan kata sandi di /etc/nginx/.pma_pass berkas:
cat /etc/nginx/.pma_pass
Outputnya harus mirip dengan contoh berikut:
user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1
Sekarang Anda perlu mengizinkan apache
pengguna untuk membaca .htpasswd
file dengan menjalankan perintah berikut:
chown nginx:nginx /etc/nginx/.pma_pass
chmod 0660 /etc/nginx/.pma_pass
Terakhir, Anda harus menghapus komentar pada baris berikut dari file konfigurasi phpMyAdmin:
# auth_basic "phpMyAdmin Login"; # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd; # uncomment if using .htaccess & .htpasswd security