PhpMyAdmin: Difference between revisions

From Q
Jump to navigation Jump to search
Tgurr (talk | contribs)
No edit summary
Tgurr (talk | contribs)
No edit summary
Line 4: Line 4:
<pre>
<pre>
<VirtualHost *:80>
<VirtualHost *:80>
     ServerName phpmyadmin.<domain>
 
     ServerName phpmyadmin.<domain>:80
 
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
 
</VirtualHost>
 
<VirtualHost *:443>
 
     DocumentRoot "/var/www/phpmyadmin.<domain>/htdocs"
     DocumentRoot "/var/www/phpmyadmin.<domain>/htdocs"
    ServerName phpmyadmin.<domain>:443
    DirectoryIndex index.php
    AddDefaultCharset UTF-8


     <IfModule mpm_peruser_module>
     <IfModule mpm_itk_module>
         ServerEnvironment apache apache
         AssignUserId apache apache
     </IfModule>
     </IfModule>


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


Line 21: Line 33:
     php_admin_value upload_tmp_dir /var/www/phpmyadmin.<domain>/tmp
     php_admin_value upload_tmp_dir /var/www/phpmyadmin.<domain>/tmp
     php_admin_value session.save_path /var/www/phpmyadmin.<domain>/session
     php_admin_value session.save_path /var/www/phpmyadmin.<domain>/session
    php_admin_value sys_temp_dir /var/www/phpmyadmin.<domain>/tmp
    SSLEngine On
    SSLCertificateFile /etc/ssl/apache2/phpmyadmin.<domain>/phpmyadmin.<domain>.crt
    SSLCertificateKeyFile /etc/ssl/apache2/phpmyadmin.<domain>/phpmyadmin.<domain>.key
    SSLCertificateChainFile /etc/ssl/apache2/phpmyadmin.<domain>/phpmyadmin.<domain>.pem
</VirtualHost>
</VirtualHost>
</pre>
</pre>
Line 37: Line 56:
{{Root|webapp-config -I -h phpmyadmin.<domain> phpmyadmin <version>}}
{{Root|webapp-config -I -h phpmyadmin.<domain> phpmyadmin <version>}}


{{Root|mysql -u root -p < /usr/share/webapps/phpmyadmin/<version>/htdocs/scripts/create_tables.sql}}
{{Root|mysql -u root -p < /usr/share/webapps/phpmyadmin/<version>/htdocs/examples/create_tables.sql}}


== Configuration ==
== Configuration ==
Line 43: Line 62:
{{File|/var/www/phpmyadmin.<domain>/htdocs/config.inc.php|
{{File|/var/www/phpmyadmin.<domain>/htdocs/config.inc.php|
<pre>
<pre>
$cfg['PmaAbsoluteUri'] = 'http://phpmyadmin.<domain>/';
$cfg['SuhosinDisableWarning'] = true;
$cfg['LeftFrameLight'] = false;
$cfg['DefaultTabTable'] = 'sql.php';
/* Servers configuration */
/* Servers configuration */
$i = 0;
$i = 0;
Line 72: Line 85:
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
/* Hide lost+found if on a separate partition */
/* Hide lost+found if on a separate partition */
$cfg['Servers'][$i]['hide_db'] = '\#mysql50\#lost\+found';
$cfg['Servers'][$i]['hide_db'] = '#mysql50#lost|^(information\_schema|performance\_schema|mysql|phpmyadmin)$';
/* End of servers configuration */
 
/* Misc settings */
$cfg['Export']['compression'] = 'bzip2';
$cfg['DefaultLang'] = 'de';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['VersionCheck'] = 0;
</pre>
</pre>
}}
}}


To make the setup scripts inaccessible you should copy the .htaccess file to the scripts directory.
To make the installation scripts inaccessible you should delete the setup directory.
 
{{Root|cp /var/www/phpmyadmin.<domain>/htdocs/libraries/.htaccess /var/www/phpmyadmin.<domain>/htdocs/scripts/}}


== Update ==
== Update ==

Revision as of 18:10, 16 December 2013

Apache vhost configuration

File: /etc/apache2/vhosts.d/phpmyadmin.<domain>.conf
<VirtualHost *:80>

    ServerName phpmyadmin.<domain>:80

    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

</VirtualHost>

<VirtualHost *:443>

    DocumentRoot "/var/www/phpmyadmin.<domain>/htdocs"
    ServerName phpmyadmin.<domain>:443
    DirectoryIndex index.php
    AddDefaultCharset UTF-8

    <IfModule mpm_itk_module>
        AssignUserId apache apache
    </IfModule>

    <Directory "/var/www/phpmyadmin.<domain>/htdocs">
        Options None
        AllowOverride Limit
        Require ip 10.133 10.132
    </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
    php_admin_value sys_temp_dir /var/www/phpmyadmin.<domain>/tmp

    SSLEngine On
    SSLCertificateFile /etc/ssl/apache2/phpmyadmin.<domain>/phpmyadmin.<domain>.crt
    SSLCertificateKeyFile /etc/ssl/apache2/phpmyadmin.<domain>/phpmyadmin.<domain>.key
    SSLCertificateChainFile /etc/ssl/apache2/phpmyadmin.<domain>/phpmyadmin.<domain>.pem

</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/examples/create_tables.sql

Configuration

File: /var/www/phpmyadmin.<domain>/htdocs/config.inc.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';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
/* Hide lost+found if on a separate partition */
$cfg['Servers'][$i]['hide_db'] = '#mysql50#lost|^(information\_schema|performance\_schema|mysql|phpmyadmin)$';
/* End of servers configuration */

/* Misc settings */
$cfg['Export']['compression'] = 'bzip2';
$cfg['DefaultLang'] = 'de';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['VersionCheck'] = 0;

To make the installation scripts inaccessible you should delete the setup directory.

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>