This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
deb11:phpmyadmin [2022/09/26 10:36] – Bernard Condrau | deb11:phpmyadmin [2024/05/23 05:44] (current) – [Links] Bernard Condrau | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== phpMyAdmin ====== | ====== phpMyAdmin ====== | ||
- | Debian 10/11, other than Debian 9, require manual installation of phpmyadmin, phpmyadmin has been removed from Debian' | ||
===== Installation ===== | ===== Installation ===== | ||
Line 7: | Line 6: | ||
sudo mv phpMyAdmin-5.2.0-english/ | sudo mv phpMyAdmin-5.2.0-english/ | ||
$ sudo chown -R www-data: | $ sudo chown -R www-data: | ||
- | * Up to Debian 9, and in other distributions, | + | |
+ | | ||
===== Configuration ===== | ===== Configuration ===== | ||
- | - We will not use any of the standard path used in Debian versions up to 9 or in other distributions. All files related to phpMyAdmin will remain in the custom path where we moved the downloaded files which is the easiest way to later maintain | + | - We will not use any of the standard path used in Debian versions up to 9 or in other distributions. All files related to phpMyAdmin will remain in the custom path where we moved the downloaded files which is the easiest way for maintenance and later version upgrades |
- | - Make a new directory for phpMyAdmin to store its temporary files:< | + | - Make a new directory for phpMyAdmin to store its temporary files:< |
- Copy '' | - Copy '' | ||
- Use the [[https:// | - Use the [[https:// | ||
Line 21: | Line 21: | ||
$cfg[' | $cfg[' | ||
$cfg[' | $cfg[' | ||
- | | + | |
- | - Leave the commented out settings in '' | + | - Leave the commented out settings in '' |
- Create ''/ | - Create ''/ | ||
Line 67: | Line 67: | ||
< | < | ||
Require all denied | Require all denied | ||
- | </ | + | </ |
+ | # Secure access to phpMyAdmin by restricting access to it's parent, for example by IP address or domain name, local or external | ||
+ | < | ||
+ | < | ||
+ | Require ip 127.0.0.1 | ||
+ | Require forward-dns ddns.domain.name | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | - You can replace the directives for the setup directory with '' | ||
+ | - Symlink the configuration file for Apache and restart the service:< | ||
+ | $ sudo service apache2 restart</ | ||
+ | - Create a regular MariaDB user for the purpose of managing databases through phpMyAdmin, if you haven' | ||
+ | MariaDB [(none)]> | ||
+ | MariaDB [(none)]> | ||
+ | MariaDB [(none)]> | ||
+ | - Make sure permissions are set to traverse directories, | ||
+ | ===== Run phpMyAdmin ===== | ||
+ | - Access phpMyAdmin by appending ''/ | ||
- | * Copy folder {{: | ||
- | * Symlink the configuration files for apache:< | ||
- | ln -s ../ | ||
- | cd ../ | ||
- | ln -s ../ | ||
- | * Symlink the configuration files for phpmyadmin in it's root folder:< | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | * Create a additional config file with the path to the **tmp** directory:< | ||
- | <?php | ||
- | $cfg[' | ||
- | * Make sure the // | ||
- | SELECT user,host FROM mysql.user; | ||
- | CREATE USER ' | ||
- | GRANT USAGE ON phpmyadmin.* TO phpmyadmin</ | ||
- | * The password is in file / | ||
- | sudo chmod 640 / | ||
- | * Create a regular MariaDB user for the purpose of managing databases through phpMyAdmin, as it’s recommended that you log in using another account than the pma user. You could create a user that has privileges to all tables within the database, as well as the power to add, change, and remove user privileges, with this command. Whatever privileges you assign to this user, be sure to give it a strong password as well:< | ||
- | GRANT ALL PRIVILEGES ON *.* TO ' | ||
- | exit</ | ||
- | * [[https:// | ||
- | ==== Manual Upgrade on Debian 9 ==== | ||
- | * Check latest version of [[https:// | ||
- | * Download and install< | ||
- | sudo wget https:// | ||
- | tar xzf phpMyAdmin-5.1.0-english.tar.gz | ||
- | sudo mv phpMyAdmin-5.1.0-english phpmyadmin</ | ||
- | * Modify the following lines in / | ||
- | define(' | ||
- | * See [[https:// | ||
- | |||
- | ===== Securing Your phpMyAdmin Instance ===== | ||
- | Edit / | ||
- | Alias /phpmyadmin / | ||
- | < | ||
- | Options FollowSymLinks | ||
- | DirectoryIndex index.php | ||
- | | ||
- | # Allow user to access without password | ||
- | Include conf-available/ | ||
- | | ||
- | < | ||
- | < | ||
- | AddType application/ | ||
- | </ | ||
- | < | ||
- | SetHandler application/ | ||
- | </ | ||
- | | ||
- | php_flag magic_quotes_gpc Off | ||
- | php_flag track_vars On | ||
- | php_flag register_globals Off | ||
- | php_admin_flag allow_url_fopen Off | ||
- | php_value include_path . | ||
- | php_admin_value upload_tmp_dir / | ||
- | php_admin_value open_basedir / | ||
- | </ | ||
- | </ | ||
- | |||
- | conf-available/ | ||
- | # Allow user to access without password | ||
- | Require ip www.xx.yyy.zzz | ||
===== Links ===== | ===== Links ===== | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ |