PHPMyAdmin

From SME Server
Jump to navigation Jump to search

Is this article helpful to you?
Please consider donating or volunteering
Thank you!

PHPMyAdmin for SME Server

  Skill level: Medium
The instructions on this page require a basic knowledge of linux.


  Warning:
ONLY run smeserver-phpmyadmin-3.5.2.2-1.el5.sme and phpMyAdmin3-3.5.2.2-1.el5 or newer on a SME8. phpmyadmin 2 will corrupt your data if you intend to use it with SME8, as it runs php 5.3 with some deprecated functions missing.

---Unnilennium 13:32, 24 September 2012 (MDT)


phpmyadmin
Description


Contrib 10:
Contrib 9:
smeserver-phpmyadmin
Description


Maintainer

JP Pialasse (aka Unnilennium)

Description

PHPMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web.

Currently it can create and drop databases, create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage keys on fields, manage privileges,export data into various formats.

This contrib provides PHPMyAdmin for SME Server.

Installation

[edit]

This contrib can be found in the smecontribs repository. To install this contrib you will have to get shell access as root user, and issue the following command:

yum --enablerepo=smecontribs install smeserver-phpmyadmin

On sme8 this will also install the dependencies libmcrypt, php53-mcrypt, php53-php-gettext & phpMyAdmin3

then do either

signal-event post-upgrade; signal-event reboot

or

expand-template /etc/phpMyAdmin/config.inc.php
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart
yum install --enablerepo=smecontribs smeserver-phpmyadmin

then reconfigure

signal-event post-upgrade; signal-event reboot

or if you don't want to restart your server

signal-event phpmyadmin-update

Configuration

By default, access to phpmyadmin is restricted to the local network, and to any trusted networks. To make phpmyadmin accessible to external networks (the internet), the configuration parameter for access has to be changed. Changing this parameter requires you to use the SME Server shell.

To view the current access setting:

config show phpmyadmin

This would output something like this:

phpmyadmin=configuration
 access=private
 adminaccess=enabled
 multiaccess=disabled

To change the current setting:

private or public access

config setprop phpmyadmin access (private|public)
signal-event ibay-modify
  Warning:
Setting the access type to public makes PHPMyAdmin available to the internet, make sure you choose a strong password before doing so as you severely weaken the security of your server.


admin access only (default)

set to enabled (enabled|disabled) to use with the url https://your-sme-ip/phpmyadmin with the SME admin account and its password.

config setprop phpmyadmin adminaccess enabled

and do these commands

expand-template /etc/phpMyAdmin/config.inc.php
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart

multiuser access

set to enabled (enabled|disabled) to use with the url https://your-sme-ip/phpmyadmin-multi with the Mysql user account of a database and its password. Only the database concerned is seen in the phpmyadmin management web page.

  Note:
alternatively you can use root and ldap password (cat /etc/ldap.secret), but it is not advisable


config setprop phpmyadmin multiaccess enabled

and do these commands

expand-template /etc/phpMyAdmin/config.inc.php
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart

prevent the admin access

in certain cases you may want to forbid the adminaccess and allow only the multiaccess, so you have to set the adminaccess to disabled and the multiaccess to enabled

config setprop phpmyadmin adminaccess disabled
config setprop phpmyadmin multiaccess enabled

and do these commands

expand-template /etc/phpMyAdmin/config.inc.php
expand-template /etc/httpd/conf/httpd.conf
service httpd-e-smith restart

therefore the access for multi user will be available through the url https://your-sme-ip/phpmyadmin (instead of phpmyadmin-multi)


  Tip:
remember that at any time you can see you db configuration by the command "config show phpmyadmin in a root Terminal


specific SME Server 9 settings

Only for SME9 you have some more settings available by DB

# config show phpmyadmin
phpmyadmin=configuration
   DbName=phpmyadmin
   DbPassword=rvAd9ShvG2GyiWPXiH+oAK3/yk4GwCxDW5PWzy2CWdtMG7zu3SSH7XkJUEV7EpY8HSVaCCHKL//2
   DbUser=phpmyadmin
   access=private
   adminaccess=enabled
   multiaccess=disabled
   sqladminPassword=mcJ1Tad4I0XENJrl+sfzkKjS8rs4Bq6C0MsjbTkgyv3evFLrPgrXy8eP1u23vANuGtSkQ3//8tmM
   status=enabled
  • status

You can enable/disable phpmyadmin (enabled|disabled)

config setprop phpmyadmin status disabled
signal-event phpmyadmin-update
  • sqladmin

You have a super sql user when you use the cookies authentication mode (phpmyadmin-multi or multiaccess enabled)
login : sqladmin
password : content of the db sqladminPassword

Additional information

  • NEVER MODIFY MYSQL ROOT user PASSWORD
  • The password is changed using the privileges section of phpmyadmin. (Locate the admin user and assign a new password there).
  • Did we mention : NEVER MODIFY MYSQL ROOT user PASSWORD

More information about PhpMyAdmin can be found on the PHPMyAdmin site.

Uninstall

yum remove smeserver-phpmyadmin phpMyAdmin3 libmcrypt php53-mcrypt php53-php-gettext
signal-event post-upgrade; signal-event reboot

Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-phpmyadmin component or use this link .

IDProductVersionStatusSummary (3 tasks)
12736SME Contribs11.0RESOLVEDfirst build for sme11
12516SME Contribs10.0CONFIRMEDWrong Servers output from template
12343SME Contribs10.0RESOLVEDauthorization in Location section make Directory section authorization ignored