PhpMyAdmin: Difference between revisions

From Alpine Linux
m (updated to use lighttpd tempalte)
No edit summary
 
(29 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:
apk add mysql mysql-client php-mysql php-mysqli
{{Cmd|apk add mariadb mariadb-client phpmyadmin}}


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


/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'
mariadb-secure-installation</nowiki>}}


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


'''Install phpMyAdmin'''
Change the folder permissions


Download
{{Cmd|chmod -R 755 /usr/share/webapps/
chown -R lighttpd:lighttpd /usr/share/webapps/phpmyadmin
chown -R lighttpd:lighttpd /etc/phpmyadmin}}


cd /tmp
Create a symlink to the ''phpmyadmin'' folder
wget http://ufpr.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.5/phpMyAdmin-3.3.5-all-languages.tar.gz


Unpack
{{Cmd|ln -s /usr/share/webapps/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin}}


tar zxvf phpMyAdmin-3.3.5-all-languages.tar.gz
Generate a Cookie encryption key
{{Cmd|php -r 'echo bin2hex(random_bytes(16)) . PHP_EOL;'}}


Change Folder Name
Put the key in the phpmyadmin configuration file {{Path|/etc/phpmyadmin/config.inc.php}}
 
{{cat|/etc/phpmyadmin/config.inc.php|<nowiki>...
mv phpMyAdmin-3.3.5-all-languages /etc/phpmyadmin
$cfg['blowfish_secret'] = sodium_hex2bin('cookie_encryption_key_here');
...</nowiki>}}
Change Folder Persmissions
 
  chmod -R 777 /etc/phpmyadmin/
 
Make Symlink to the phpMyAdmin folder
 
  ln -s /etc/phpmyadmin/ /var/www/localhost/htdocs/phpmyadmin


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


Browse to: http://WEBSERVER_IP_ADDRESS/phpmyadmin and logon to phpMyAdmin using MySQL user and password.
Browse to: <nowiki>https://WEBSERVER_IP_ADDRESS/phpmyadmin</nowiki> and logon to phpMyAdmin using your MySQL user and password.
And enjoy this nice and useful tool.
 
== License ==
 
'''phpMyAdmin License'''
 
phpMyAdmin is released under GNU General Public License, version 2.
 
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.


This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
[[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.