PhpMyAdmin

From Q
Revision as of 15:33, 27 July 2011 by Tgurr (talk | contribs)
Jump to navigation Jump to search

Apache vhost configuration

File: /etc/apache2/vhosts.d/phpmyadmin.<domain>.conf
<VirtualHost *:80>
    ServerName phpmyadmin.<domain>
    DocumentRoot "/var/www/phpmyadmin.<domain>/htdocs"

    <IfModule mpm_peruser_module>
        ServerEnvironment apache apache
    </IfModule>

    <Directory "/var/www/phpmyadmin.<domain>/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride Limit
        Order allow,deny
        Allow from all
    </Directory>

    php_admin_value open_basedir /var/www/phpmyadmin.<domain>:/usr/bin:/usr/share/php
    php_admin_value upload_tmp_dir /var/www/phpmyadmin.<domain>/tmp
    php_admin_value session.save_path /var/www/phpmyadmin.<domain>/session
</VirtualHost>

Installation

File: /etc/portage/package.use
dev-db/phpmyadmin vhosts
# emerge phpmyadmin
# webapp-config -I -h phpmyadmin.<domain> phpmyadmin <version>
# mysql -u root -p < /usr/share/webapps/phpmyadmin/<version>/htdocs/scripts/create_tables.sql

Configuration

File: /var/www/phpmyadmin.<domain>/htdocs/config.inc.php
$cfg['PmaAbsoluteUri'] = 'http://phpmyadmin.<domain>/';

$cfg['SuhosinDisableWarning'] = true;
$cfg['LeftFrameLight'] = false;
$cfg['DefaultTabTable'] = 'sql.php';

/* Servers configuration */
$i = 0;

/* Server localhost (http) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'http';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = 'xxx';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
/* Hide lost+found if on a separate partition */
$cfg['Servers'][$i]['hide_db'] = '\#mysql50\#lost\+found';

To make the setup scripts inaccessible you should copy the .htaccess file to the scripts directory.

# cp /var/www/phpmyadmin.<domain>/htdocs/libraries/.htaccess /var/www/phpmyadmin.<domain>/htdocs/scripts/

Update

# emerge phpmyadmin
# webapp-config -U -h phpmyadmin.<domain> phpmyadmin <newversion>
# CONFIG_PROTECT="/var/www/phpmyadmin.<domain>/htdocs//libraries" etc-update
# 1
# q
# 2
# y
# emerge -C phpmyadmin-<oldversion>