PhpMyAdmin: Difference between revisions

From Alpine Linux
No edit summary
 
(27 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== What is phpMyAdmin? ==
[https://www.phpmyadmin.net phpMyAdmin] is a free software tool written in PHP intended to handle the administration of MySQL over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement.  
 
phpMyAdmin is a free software tool written in PHP intended to handle the administration of MySQL over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement.  
 
== Set up phpMyAdmin on Alpine Linux ==
 
This document will be a very quick c/p guide to setup phpMyAdmin on Alpine linux. What we will setup is the following:
 
* Lighttpd with PHP
* Mysql
* phpMyAdmin
 


== Install lighttpd, PHP and MySql ==
== Install lighttpd, PHP and MySql ==
Line 16: Line 5:


Install extra packages:
Install extra packages:
{{Cmd|apk add mysql mysql-client php-mysql php-mysqli}}
{{Cmd|apk add mariadb mariadb-client phpmyadmin}}


== Configuring MySql ==
== Configuring MySql ==


{{Cmd|<nowiki>/usr/bin/mysql_install_db --user=mysql
{{Cmd|<nowiki>mariadb-install-db --user=mysql --datadir=/var/lib/mysql
/etc/init.d/mysql start && rc-update add mysql default
rc-service mariadb start && rc-update add mariadb default
/usr/bin/mysqladmin -u root password 'password'</nowiki>}}
mariadb-secure-installation</nowiki>}}


== Installing phpMyAdmin ==
== Configuring phpMyAdmin ==


Download
Change the folder permissions


{{Cmd|cd /tmp
{{Cmd|chmod -R 755 /usr/share/webapps/
wget http://files.directadmin.com/services/all/phpMyAdmin/phpMyAdmin-3.4.3.2-all-languages.tar.gz}}
chown -R lighttpd:lighttpd /usr/share/webapps/phpmyadmin
chown -R lighttpd:lighttpd /etc/phpmyadmin}}


Unpack
Create a symlink to the ''phpmyadmin'' folder


{{Cmd|tar zxvf phpMyAdmin-3.4.3-all-languages.tar.gz}}
{{Cmd|ln -s /usr/share/webapps/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin}}


Change Folder Name
Generate a Cookie encryption key
{{Cmd|php -r 'echo bin2hex(random_bytes(16)) . PHP_EOL;'}}


{{Cmd|mv phpMyAdmin-3.4.3-all-languages /etc/phpmyadmin}}
Put the key in the phpmyadmin configuration file {{Path|/etc/phpmyadmin/config.inc.php}}
{{cat|/etc/phpmyadmin/config.inc.php|<nowiki>...
Change Folder Permissions
$cfg['blowfish_secret'] = sodium_hex2bin('cookie_encryption_key_here');
...</nowiki>}}


{{Cmd|chmod -R 777 /etc/phpmyadmin/}}
== Log on your phpMyAdmin ==
 
Make Symlink to the phpMyAdmin folder
 
{{Cmd|ln -s /etc/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin}}


== Log on your phpMyAdmin ==
Browse to: <nowiki>https://WEBSERVER_IP_ADDRESS/phpmyadmin</nowiki> and logon to phpMyAdmin using your MySQL user and password.


Browse to: http://WEBSERVER_IP_ADDRESS/phpmyadmin and logon to phpMyAdmin using your MySQL user and password.
[[Category:PHP]]
[[Category:SQL]]

Latest revision as of 10:50, 27 September 2025

phpMyAdmin is a free software tool written in PHP intended to handle the administration of MySQL over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement.

Install lighttpd, PHP and MySql

Basic Installation

For installing the additional packages first activate community packages and update the package index

Install the required packages:

# apk add lighttpd php fcgi php-cgi

Configure Lighttpd

Edit lighttpd.conf (/etc/lighttpd/lighttpd.conf) and uncomment the line:

Contents of /etc/lighttpd/lighttpd.conf

... include "mod_fastcgi.conf" ...

Start lighttpd service and add it to default runlevel

# rc-service lighttpd start # rc-update add lighttpd default

Install extra packages:

apk add mariadb mariadb-client phpmyadmin

Configuring MySql

mariadb-install-db --user=mysql --datadir=/var/lib/mysql rc-service mariadb start && rc-update add mariadb default mariadb-secure-installation

Configuring phpMyAdmin

Change the folder permissions

chmod -R 755 /usr/share/webapps/ chown -R lighttpd:lighttpd /usr/share/webapps/phpmyadmin chown -R lighttpd:lighttpd /etc/phpmyadmin

Create a symlink to the phpmyadmin folder

ln -s /usr/share/webapps/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin

Generate a Cookie encryption key

php -r 'echo bin2hex(random_bytes(16)) . PHP_EOL;'

Put the key in the phpmyadmin configuration file /etc/phpmyadmin/config.inc.php

Contents of /etc/phpmyadmin/config.inc.php

... $cfg['blowfish_secret'] = sodium_hex2bin('cookie_encryption_key_here'); ...

Log on your phpMyAdmin

Browse to: https://WEBSERVER_IP_ADDRESS/phpmyadmin and logon to phpMyAdmin using your MySQL user and password.