PhpMyAdmin: Difference between revisions

From Alpine Linux
(replace /etc/init.d with rc-service)
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 5: 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
rc-service 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 ==


Create a directory named {{Path|webapps}}
{{Cmd|mkdir -p /usr/share/webapps/}}
Download the source code
{{Cmd|cd /usr/share/webapps
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz}}
Unpack the archive and remove the archive
{{Cmd|tar zxvf phpMyAdmin-5.2.1-all-languages.tar.gz
rm phpMyAdmin-5.2.1-all-languages.tar.gz}}
Rename the folder
{{Cmd|mv phpMyAdmin-5.2.1-all-languages phpmyadmin}}
Change the folder permissions
Change the folder permissions


{{Cmd|chmod -R 755 /usr/share/webapps/}}
{{Cmd|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
Create a symlink to the ''phpmyadmin'' folder


{{Cmd|ln -s /usr/share/webapps/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin}}
{{Cmd|ln -s /usr/share/webapps/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin}}
Generate a Cookie encryption key
{{Cmd|php -r 'echo bin2hex(random_bytes(16)) . PHP_EOL;'}}
Put the key in the phpmyadmin configuration file {{Path|/etc/phpmyadmin/config.inc.php}}
{{cat|/etc/phpmyadmin/config.inc.php|<nowiki>...
$cfg['blowfish_secret'] = sodium_hex2bin('cookie_encryption_key_here');
...</nowiki>}}


== Log on your phpMyAdmin ==
== Log on your phpMyAdmin ==

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.