php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /var/www/html/sub/images/Rm19_symconf/root/opt/lampp/phpmyadmin/doc/doctrees/
upload
files >> /var/www/html/sub/images/Rm19_symconf/root/opt/lampp/phpmyadmin/doc/doctrees/setup.doctree

cdocutils.nodes
document
q)q}q(U	nametypesq}q(XxamppqXred hat enterprise linuxqNX$https://www.phpmyadmin.net/auth_key/qX	upgradingq	Xsetup_scriptq
X
quick installqNXsignon authentication modeqNXinstalling on windowsq
NXusing setup scriptqNX,validating other keys on your public keyringqX
linked-tablesqX
quick_installqXfedoraqNXppa for michal čihařqXverifyqX	wikipediaqXmanual configurationqNXauthentication_modesqXverifying phpmyadmin releasesqNXauth_signonqXgentooqNXcookie authentication modeqNXhttp authentication modeqNXopensuseqNXlinux distributionsqNXcookieqX*extra packages for enterprise linux (epel)q Xubuntuq!NXhttps://keybase.io/lem9q"Xusing authentication modesq#NX%securing your phpmyadmin installationq$NXdebianq%NXmanually creating the fileq&NXour download serverq'Xinstallationq(NXzero configurationq)NXconfig authentication modeq*NXsetupq+Xswekey authentication modeq,NXenabledq-X phpmyadmin configuration storageq.NXopensuse build serviceq/Xmain phpmyadmin directoryq0Xmandrivaq1NXupgrading from an older versionq2NXswekeyq3Xmarc's key links to linus's keyq4uUsubstitution_defsq5}q6Uparse_messagesq7]q8Ucurrent_sourceq9NU
decorationq:NUautofootnote_startq;KUnameidsq<}q=(hUxamppq>hUred-hat-enterprise-linuxq?hU!https-www-phpmyadmin-net-auth-keyq@h	U	upgradingqAh
Usetup-scriptqBhUid1qChUsignon-authentication-modeqDh
Uinstalling-on-windowsqEhUusing-setup-scriptqFhU,validating-other-keys-on-your-public-keyringqGhU
linked-tablesqHhU
quick-installqIhUfedoraqJhUppa-for-michal-ciharqKhUverifyqLhU	wikipediaqMhUmanual-configurationqNhUauthentication-modesqOhUverifying-phpmyadmin-releasesqPhUauth-signonqQhUgentooqRhUcookie-authentication-modeqShUhttp-authentication-modeqThUopensuseqUhUlinux-distributionsqVhUcookieqWh U(extra-packages-for-enterprise-linux-epelqXh!UubuntuqYh"Uhttps-keybase-io-lem9qZh#Uusing-authentication-modesq[h$U%securing-your-phpmyadmin-installationq\h%Udebianq]h&Umanually-creating-the-fileq^h'Uour-download-serverq_h(Uinstallationq`h)Uzero-configurationqah*Uconfig-authentication-modeqbh+Usetupqch,Uswekey-authentication-modeqdh-Uenabledqeh.U phpmyadmin-configuration-storageqfh/Uopensuse-build-serviceqgh0Umain-phpmyadmin-directoryqhh1Umandrivaqih2Uupgrading-from-an-older-versionqjh3Uswekeyqkh4Umarc-s-key-links-to-linus-s-keyqluUchildrenqm]qn(cdocutils.nodes
target
qo)qp}qq(U	rawsourceqrX
.. _setup:UparentqshUsourceqtX?/mnt/autrexfs/phpmyadmin/release/phpMyAdmin-4.5.2/doc/setup.rstquUtagnameqvUtargetqwU
attributesqx}qy(Uidsqz]Ubackrefsq{]Udupnamesq|]Uclassesq}]Unamesq~]UrefidqhcuUlineqKUdocumentqhhm]ubcdocutils.nodes
section
q)q}q(hrUhshhthuUexpect_referenced_by_nameq}qh+hpshvUsectionqhx}q(h|]h}]h{]hz]q(h`hceh~]q(h(h+euhKhhUexpect_referenced_by_idq}qhchpshm]q(cdocutils.nodes
title
q)q}q(hrXInstallationqhshhthuhvUtitleqhx}q(h|]h}]h{]hz]h~]uhKhhhm]qcdocutils.nodes
Text
qXInstallationqq}q(hrhhshubaubcdocutils.nodes
paragraph
q)q}q(hrXphpMyAdmin does not apply any special security methods to the MySQL
database server. It is still the system administrator's job to grant
permissions on the MySQL databases properly. phpMyAdmin's :guilabel:`Users`
page can be used for this.hshhthuhvU	paragraphqhx}q(h|]h}]h{]hz]h~]uhKhhhm]q(hXphpMyAdmin does not apply any special security methods to the MySQL
database server. It is still the system administrator's job to grant
permissions on the MySQL databases properly. phpMyAdmin's qq}q(hrXphpMyAdmin does not apply any special security methods to the MySQL
database server. It is still the system administrator's job to grant
permissions on the MySQL databases properly. phpMyAdmin's hshubcdocutils.nodes
emphasis
q)q}q(hrUhx}q(UrawtextX:guilabel:`Users`hz]h{]h|]h}]qXguilabelqah~]uhshhm]qhXUsersqq}q(hrUhshubahvUemphasisqubhX
page can be used for this.qq}q(hrX
page can be used for this.hshubeubcdocutils.nodes
warning
q)q}q(hrX=:term:`Mac` users should note that if you are on a version before
:term:`Mac OS X`, StuffIt unstuffs with :term:`Mac` formats. So you'll have
to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before
uploading them to your server, as PHP seems not to like :term:`Mac`-style
end of lines character ("``\r``").hshhthuhvUwarningqhx}q(h|]h}]h{]hz]h~]uhNhhhm]qh)q}q(hrX=:term:`Mac` users should note that if you are on a version before
:term:`Mac OS X`, StuffIt unstuffs with :term:`Mac` formats. So you'll have
to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before
uploading them to your server, as PHP seems not to like :term:`Mac`-style
end of lines character ("``\r``").hshhthuhvhhx}q(h|]h}]h{]hz]h~]uhK
hm]q(csphinx.addnodes
pending_xref
q)q}q(hrX:term:`Mac`qhshhthuhvUpending_xrefqhx}q(UreftypeXtermUrefwarnqU	reftargetqXmacU	refdomainXstdqhz]h{]Urefexplicith|]h}]h~]UrefdocqXsetupquhK
hm]qh)q}q(hrhhx}q(h|]h}]q(UxrefqhXstd-termqeh{]hz]h~]uhshhm]qhXMacqͅq}q(hrUhshubahvhubaubhX7 users should note that if you are on a version before
qЅq}q(hrX7 users should note that if you are on a version before
hshubh)q}q(hrX:term:`Mac OS X`qhshhthuhvhhx}q(UreftypeXtermhhXmac os xU	refdomainXstdqhz]h{]Urefexplicith|]h}]h~]hhuhK
hm]qh)q}q(hrhhx}q(h|]h}]q(hhXstd-termqeh{]hz]h~]uhshhm]qhXMac OS Xq߅q}q(hrUhshubahvhubaubhX, StuffIt unstuffs with q⅁q}q(hrX, StuffIt unstuffs with hshubh)q}q(hrX:term:`Mac`qhshhthuhvhhx}q(UreftypeXtermhhXmacU	refdomainXstdqhz]h{]Urefexplicith|]h}]h~]hhuhK
hm]qh)q}q(hrhhx}q(h|]h}]q(hhXstd-termqeh{]hz]h~]uhshhm]qhXMacqq}q(hrUhshubahvhubaubhX formats. So you'll have
to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before
uploading them to your server, as PHP seems not to like qq}q(hrX formats. So you'll have
to resave as in BBEdit to Unix style ALL phpMyAdmin scripts before
uploading them to your server, as PHP seems not to like hshubh)q}q(hrX:term:`Mac`qhshhthuhvhhx}q(UreftypeXtermhhXmacU	refdomainXstdqhz]h{]Urefexplicith|]h}]h~]hhuhK
hm]qh)q}q(hrhhx}q(h|]h}]r(hhXstd-termreh{]hz]h~]uhshhm]rhXMacrr}r(hrUhshubahvhubaubhX -style
end of lines character ("rr}r(hrX -style
end of lines character ("hshubcdocutils.nodes
literal
r	)r
}r(hrX``\r``hx}r(h|]h}]h{]hz]h~]uhshhm]r
hX\rrr}r(hrUhsj
ubahvUliteralrubhX").rr}r(hrX").hshubeubaubh)r}r(hrUhshhthuhvhhx}r(h|]h}]h{]hz]rhVah~]rhauhKhhhm]r(h)r}r(hrXLinux distributionsrhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]rhXLinux distributionsr r!}r"(hrjhsjubaubh)r#}r$(hrXphpMyAdmin is included in most Linux distributions. It is recommended to use
distribution packages when possible - they usually provide integration to your
distribution and you will automatically get security updates from your distribution.r%hsjhthuhvhhx}r&(h|]h}]h{]hz]h~]uhKhhhm]r'hXphpMyAdmin is included in most Linux distributions. It is recommended to use
distribution packages when possible - they usually provide integration to your
distribution and you will automatically get security updates from your distribution.r(r)}r*(hrj%hsj#ubaubh)r+}r,(hrUhsjhthuhvhhx}r-(h|]h}]h{]hz]r.h]ah~]r/h%auhKhhhm]r0(h)r1}r2(hrXDebianr3hsj+hthuhvhhx}r4(h|]h}]h{]hz]h~]uhKhhhm]r5hXDebianr6r7}r8(hrj3hsj1ubaubh)r9}r:(hrXDebian's package repositories include a phpMyAdmin package, but be aware that
the configuration file is maintained in ``/etc/phpmyadmin`` and may differ in
some ways from the official phpMyAdmin documentation.hsj+hthuhvhhx}r;(h|]h}]h{]hz]h~]uhKhhhm]r<(hXvDebian's package repositories include a phpMyAdmin package, but be aware that
the configuration file is maintained in r=r>}r?(hrXvDebian's package repositories include a phpMyAdmin package, but be aware that
the configuration file is maintained in hsj9ubj	)r@}rA(hrX``/etc/phpmyadmin``hx}rB(h|]h}]h{]hz]h~]uhsj9hm]rChX/etc/phpmyadminrDrE}rF(hrUhsj@ubahvjubhXH and may differ in
some ways from the official phpMyAdmin documentation.rGrH}rI(hrXH and may differ in
some ways from the official phpMyAdmin documentation.hsj9ubeubeubh)rJ}rK(hrUhsjhthuhvhhx}rL(h|]h}]h{]hz]rMhUah~]rNhauhK#hhhm]rO(h)rP}rQ(hrXOpenSUSErRhsjJhthuhvhhx}rS(h|]h}]h{]hz]h~]uhK#hhhm]rThXOpenSUSErUrV}rW(hrjRhsjPubaubh)rX}rY(hrXOpenSUSE already comes with phpMyAdmin package, just install packages from
the `openSUSE Build Service <http://software.opensuse.org/package/phpMyAdmin>`_.hsjJhthuhvhhx}rZ(h|]h}]h{]hz]h~]uhK%hhhm]r[(hXOOpenSUSE already comes with phpMyAdmin package, just install packages from
the r\r]}r^(hrXOOpenSUSE already comes with phpMyAdmin package, just install packages from
the hsjXubcdocutils.nodes
reference
r_)r`}ra(hrXK`openSUSE Build Service <http://software.opensuse.org/package/phpMyAdmin>`_hx}rb(UnameXopenSUSE Build ServiceUrefurircX/http://software.opensuse.org/package/phpMyAdminrdhz]h{]h|]h}]h~]uhsjXhm]rehXopenSUSE Build Servicerfrg}rh(hrUhsj`ubahvU	referenceriubho)rj}rk(hrX2 <http://software.opensuse.org/package/phpMyAdmin>U
referencedrlKhsjXhvhwhx}rm(Urefurijdhz]rnhgah{]h|]h}]h~]roh/auhm]ubhX.rp}rq(hrX.hsjXubeubeubh)rr}rs(hrUhsjhthuhvhhx}rt(h|]h}]h{]hz]ruhYah~]rvh!auhK)hhhm]rw(h)rx}ry(hrXUbunturzhsjrhthuhvhhx}r{(h|]h}]h{]hz]h~]uhK)hhhm]r|hXUbuntur}r~}r(hrjzhsjxubaubh)r}r(hrXUbuntu ships phpMyAdmin package, however if you want to use recent version, you
can use packages from
`PPA for Michal Čihař <https://launchpad.net/~nijel/+archive/phpmyadmin>`_.hsjrhthuhvhhx}r(h|]h}]h{]hz]h~]uhK+hhhm]r(hXfUbuntu ships phpMyAdmin package, however if you want to use recent version, you
can use packages from
rr}r(hrXfUbuntu ships phpMyAdmin package, however if you want to use recent version, you
can use packages from
hsjubj_)r}r(hrXL`PPA for Michal Čihař <https://launchpad.net/~nijel/+archive/phpmyadmin>`_hx}r(UnameXPPA for Michal ČihařjcX0https://launchpad.net/~nijel/+archive/phpmyadminrhz]h{]h|]h}]h~]uhsjhm]rhXPPA for Michal Čihařrr}r(hrUhsjubahvjiubho)r}r(hrX3 <https://launchpad.net/~nijel/+archive/phpmyadmin>jlKhsjhvhwhx}r(Urefurijhz]rhKah{]h|]h}]h~]rhauhm]ubhX.r}r(hrX.hsjubeubeubh)r}r(hrUhsjhthuhvhhx}r(h|]h}]h{]hz]rhRah~]rhauhK0hhhm]r(h)r}r(hrXGentoorhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK0hhhm]rhXGentoorr}r(hrjhsjubaubh)r}r(hrXGentoo ships the phpMyAdmin package, both in a near stock configuration as well
as in a ``webapp-config`` configuration. Use ``emerge dev-db/phpmyadmin`` to
install.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK2hhhm]r(hXXGentoo ships the phpMyAdmin package, both in a near stock configuration as well
as in a rr}r(hrXXGentoo ships the phpMyAdmin package, both in a near stock configuration as well
as in a hsjubj	)r}r(hrX``webapp-config``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX
webapp-configrr}r(hrUhsjubahvjubhX configuration. Use rr}r(hrX configuration. Use hsjubj	)r}r(hrX``emerge dev-db/phpmyadmin``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXemerge dev-db/phpmyadminrr}r(hrUhsjubahvjubhX to
install.rr}r(hrX to
install.hsjubeubeubh)r}r(hrUhsjhthuhvhhx}r(h|]h}]h{]hz]rhiah~]rh1auhK7hhhm]r(h)r}r(hrXMandrivarhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK7hhhm]rhXMandrivarr}r(hrjhsjubaubh)r}r(hrXtMandriva ships the phpMyAdmin package in their ``contrib`` branch and can be
installed via the usual Control Center.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK9hhhm]r(hX/Mandriva ships the phpMyAdmin package in their rr}r(hrX/Mandriva ships the phpMyAdmin package in their hsjubj	)r}r(hrX``contrib``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXcontribrr}r(hrUhsjubahvjubhX: branch and can be
installed via the usual Control Center.rr}r(hrX: branch and can be
installed via the usual Control Center.hsjubeubeubh)r}r(hrUhsjhthuhvhhx}r(h|]h}]h{]hz]rhJah~]rhauhK=hhhm]r(h)r}r(hrXFedorarhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK=hhhm]rhXFedorarr}r(hrjhsjubaubh)r}r(hrXFedora ships the phpMyAdmin package, but be aware that the configuration file
is maintained in ``/etc/phpMyAdmin/`` and may differ in some ways from the
official phpMyAdmin documentation.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK?hhhm]r(hX_Fedora ships the phpMyAdmin package, but be aware that the configuration file
is maintained in rr}r(hrX_Fedora ships the phpMyAdmin package, but be aware that the configuration file
is maintained in hsjubj	)r}r(hrX``/etc/phpMyAdmin/``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX/etc/phpMyAdmin/rr}r(hrUhsjubahvjubhXH and may differ in some ways from the
official phpMyAdmin documentation.rr}r(hrXH and may differ in some ways from the
official phpMyAdmin documentation.hsjubeubeubh)r}r(hrUhsjhthuhvhhx}r(h|]h}]h{]hz]rh?ah~]rhauhKDhhhm]r(h)r}r(hrXRed Hat Enterprise Linuxrhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKDhhhm]rhXRed Hat Enterprise Linuxrr	}r
(hrjhsjubaubh)r}r(hrXRed Hat Enterprise Linux itself and thus derivatives like CentOS don't
ship phpMyAdmin, but the Fedora-driven repository
`Extra Packages for Enterprise Linux (EPEL) <http://fedoraproject.org/wiki/EPEL>`_
is doing so, if it's
`enabled <http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_.
But be aware that the configuration file is maintained in
``/etc/phpMyAdmin/`` and may differ in some ways from the
official phpMyAdmin documentation.hsjhthuhvhhx}r
(h|]h}]h{]hz]h~]uhKFhhhm]r(hXyRed Hat Enterprise Linux itself and thus derivatives like CentOS don't
ship phpMyAdmin, but the Fedora-driven repository
rr}r(hrXyRed Hat Enterprise Linux itself and thus derivatives like CentOS don't
ship phpMyAdmin, but the Fedora-driven repository
hsjubj_)r}r(hrXR`Extra Packages for Enterprise Linux (EPEL) <http://fedoraproject.org/wiki/EPEL>`_hx}r(UnameX*Extra Packages for Enterprise Linux (EPEL)jcX"http://fedoraproject.org/wiki/EPELrhz]h{]h|]h}]h~]uhsjhm]rhX*Extra Packages for Enterprise Linux (EPEL)rr}r(hrUhsjubahvjiubho)r}r(hrX% <http://fedoraproject.org/wiki/EPEL>jlKhsjhvhwhx}r(Urefurijhz]rhXah{]h|]h}]h~]rh auhm]ubhX
is doing so, if it's
rr }r!(hrX
is doing so, if it's
hsjubj_)r"}r#(hrX<`enabled <http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>`_hx}r$(Unameh-jcX/http://fedoraproject.org/wiki/EPEL/FAQ#howtouser%hz]h{]h|]h}]h~]uhsjhm]r&hXenabledr'r(}r)(hrUhsj"ubahvjiubho)r*}r+(hrX2 <http://fedoraproject.org/wiki/EPEL/FAQ#howtouse>jlKhsjhvhwhx}r,(Urefurij%hz]r-heah{]h|]h}]h~]r.h-auhm]ubhX<.
But be aware that the configuration file is maintained in
r/r0}r1(hrX<.
But be aware that the configuration file is maintained in
hsjubj	)r2}r3(hrX``/etc/phpMyAdmin/``hx}r4(h|]h}]h{]hz]h~]uhsjhm]r5hX/etc/phpMyAdmin/r6r7}r8(hrUhsj2ubahvjubhXH and may differ in some ways from the
official phpMyAdmin documentation.r9r:}r;(hrXH and may differ in some ways from the
official phpMyAdmin documentation.hsjubeubeubeubh)r<}r=(hrUhshhthuhvhhx}r>(h|]h}]h{]hz]r?hEah~]r@h
auhKQhhhm]rA(h)rB}rC(hrXInstalling on WindowsrDhsj<hthuhvhhx}rE(h|]h}]h{]hz]h~]uhKQhhhm]rFhXInstalling on WindowsrGrH}rI(hrjDhsjBubaubh)rJ}rK(hrXThe easiest way to get phpMyAdmin on Windows is using third party products
which include phpMyAdmin together with a database and web server such as
`XAMPP <http://www.apachefriends.org/en/xampp.html>`_.hsj<hthuhvhhx}rL(h|]h}]h{]hz]h~]uhKShhhm]rM(hXThe easiest way to get phpMyAdmin on Windows is using third party products
which include phpMyAdmin together with a database and web server such as
rNrO}rP(hrXThe easiest way to get phpMyAdmin on Windows is using third party products
which include phpMyAdmin together with a database and web server such as
hsjJubj_)rQ}rR(hrX5`XAMPP <http://www.apachefriends.org/en/xampp.html>`_hx}rS(UnameXXAMPPjcX*http://www.apachefriends.org/en/xampp.htmlrThz]h{]h|]h}]h~]uhsjJhm]rUhXXAMPPrVrW}rX(hrUhsjQubahvjiubho)rY}rZ(hrX- <http://www.apachefriends.org/en/xampp.html>jlKhsjJhvhwhx}r[(UrefurijThz]r\h>ah{]h|]h}]h~]r]hauhm]ubhX.r^}r_(hrX.hsjJubeubh)r`}ra(hrXgYou can find more of such options at `Wikipedia <https://en.wikipedia.org/wiki/List_of_AMP_packages>`_.rbhsj<hthuhvhhx}rc(h|]h}]h{]hz]h~]uhKWhhhm]rd(hX%You can find more of such options at rerf}rg(hrX%You can find more of such options at hsj`ubj_)rh}ri(hrXA`Wikipedia <https://en.wikipedia.org/wiki/List_of_AMP_packages>`_hx}rj(UnameX	WikipediajcX2https://en.wikipedia.org/wiki/List_of_AMP_packagesrkhz]h{]h|]h}]h~]uhsj`hm]rlhX	Wikipediarmrn}ro(hrUhsjhubahvjiubho)rp}rq(hrX5 <https://en.wikipedia.org/wiki/List_of_AMP_packages>jlKhsj`hvhwhx}rr(Urefurijkhz]rshMah{]h|]h}]h~]rthauhm]ubhX.ru}rv(hrX.hsj`ubeubho)rw}rx(hrX.. _quick_install:hsj<hthuhvhwhx}ry(hz]h{]h|]h}]h~]hhIuhKZhhhm]ubeubh)rz}r{(hrUhshhthuh}r|hjwshvhhx}r}(h|]h}]h{]hz]r~(hIhCeh~]r(hheuhK]hhh}rhIjwshm]r(h)r}r(hrX
Quick Installrhsjzhthuhvhhx}r(h|]h}]h{]hz]h~]uhK]hhhm]rhX
Quick Installrr}r(hrjhsjubaubcdocutils.nodes
enumerated_list
r)r}r(hrUhsjzhthuhvUenumerated_listrhx}r(UsuffixrU.hz]h{]h|]UprefixrUh}]h~]UenumtyperUarabicruhK_hhhm]r(cdocutils.nodes
list_item
r)r}r(hrXChoose an appropriate distribution kit from the phpmyadmin.net
Downloads page. Some kits contain only the English messages, others
contain all languages. We'll assume you chose a kit whose name
looks like ``phpMyAdmin-x.x.x -all-languages.tar.gz``.hsjhthuhvU	list_itemrhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXChoose an appropriate distribution kit from the phpmyadmin.net
Downloads page. Some kits contain only the English messages, others
contain all languages. We'll assume you chose a kit whose name
looks like ``phpMyAdmin-x.x.x -all-languages.tar.gz``.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhK_hm]r(hXChoose an appropriate distribution kit from the phpmyadmin.net
Downloads page. Some kits contain only the English messages, others
contain all languages. We'll assume you chose a kit whose name
looks like rr}r(hrXChoose an appropriate distribution kit from the phpmyadmin.net
Downloads page. Some kits contain only the English messages, others
contain all languages. We'll assume you chose a kit whose name
looks like hsjubj	)r}r(hrX*``phpMyAdmin-x.x.x -all-languages.tar.gz``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX&phpMyAdmin-x.x.x -all-languages.tar.gzrr}r(hrUhsjubahvjubhX.r}r(hrX.hsjubeubaubj)r}r(hrX@Ensure you have downloaded a genuine archive, see :ref:`verify`.rhsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrjhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKchm]r(hX2Ensure you have downloaded a genuine archive, see rr}r(hrX2Ensure you have downloaded a genuine archive, see hsjubh)r}r(hrX
:ref:`verify`rhsjhthuhvhhx}r(UreftypeXrefhhXverifyU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKchm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXverifyrr}r(hrUhsjubahvhubaubhX.r}r(hrX.hsjubeubaubj)r}r(hrX^Untar or unzip the distribution (be sure to unzip the subdirectories):
``tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz`` in your
webserver's document root. If you don't have direct access to your
document root, put the files in a directory on your local machine,
and, after step 4, transfer the directory on your web server using,
for example, ftp.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrX^Untar or unzip the distribution (be sure to unzip the subdirectories):
``tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz`` in your
webserver's document root. If you don't have direct access to your
document root, put the files in a directory on your local machine,
and, after step 4, transfer the directory on your web server using,
for example, ftp.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKdhm]r(hXGUntar or unzip the distribution (be sure to unzip the subdirectories):
rr}r(hrXGUntar or unzip the distribution (be sure to unzip the subdirectories):
hsjubj	)r}r(hrX3``tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX/tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gzrr}r(hrUhsjubahvjubhX in your
webserver's document root. If you don't have direct access to your
document root, put the files in a directory on your local machine,
and, after step 4, transfer the directory on your web server using,
for example, ftp.rr}r(hrX in your
webserver's document root. If you don't have direct access to your
document root, put the files in a directory on your local machine,
and, after step 4, transfer the directory on your web server using,
for example, ftp.hsjubeubaubj)r}r(hrXEnsure that all the scripts have the appropriate owner (if PHP is
running in safe mode, having some scripts with an owner different from
the owner of other scripts will be a problem). See :ref:`faq4_2` and
:ref:`faq1_26` for suggestions.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXEnsure that all the scripts have the appropriate owner (if PHP is
running in safe mode, having some scripts with an owner different from
the owner of other scripts will be a problem). See :ref:`faq4_2` and
:ref:`faq1_26` for suggestions.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKjhm]r(hXEnsure that all the scripts have the appropriate owner (if PHP is
running in safe mode, having some scripts with an owner different from
the owner of other scripts will be a problem). See rr}r(hrXEnsure that all the scripts have the appropriate owner (if PHP is
running in safe mode, having some scripts with an owner different from
the owner of other scripts will be a problem). See hsjubh)r}r(hrX
:ref:`faq4_2`rhsjhthuhvhhx}r(UreftypeXrefhhXfaq4_2U	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKjhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXfaq4_2rr}r(hrUhsjubahvhubaubhX and
rr}r(hrX and
hsjubh)r}r(hrX:ref:`faq1_26`rhsjhthuhvhhx}r(UreftypeXrefhhXfaq1_26U	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKjhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXfaq1_26rr}r(hrUhsjubahvhubaubhX for suggestions.rr	}r
(hrX for suggestions.hsjubeubaubj)r}r(hrXgNow you must configure your installation. There are two methods that
can be used. Traditionally, users have hand-edited a copy of
:file:`config.inc.php`, but now a wizard-style setup script is provided
for those who prefer a graphical installation. Creating a
:file:`config.inc.php` is still a quick way to get started and needed for
some advanced features.

hsjhthuhvjhx}r
(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXeNow you must configure your installation. There are two methods that
can be used. Traditionally, users have hand-edited a copy of
:file:`config.inc.php`, but now a wizard-style setup script is provided
for those who prefer a graphical installation. Creating a
:file:`config.inc.php` is still a quick way to get started and needed for
some advanced features.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKnhm]r(hXNow you must configure your installation. There are two methods that
can be used. Traditionally, users have hand-edited a copy of
rr}r(hrXNow you must configure your installation. There are two methods that
can be used. Traditionally, users have hand-edited a copy of
hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXconfig.inc.phprr}r(hrXconfig.inc.phphsjubahvjubhXl, but now a wizard-style setup script is provided
for those who prefer a graphical installation. Creating a
rr }r!(hrXl, but now a wizard-style setup script is provided
for those who prefer a graphical installation. Creating a
hsjubj	)r"}r#(hrUhx}r$(hz]h{]h|]h}]r%Xfiler&aUrolej&h~]uhsjhm]r'hXconfig.inc.phpr(r)}r*(hrXconfig.inc.phphsj"ubahvjubhXK is still a quick way to get started and needed for
some advanced features.r+r,}r-(hrXK is still a quick way to get started and needed for
some advanced features.hsjubeubaubeubh)r.}r/(hrUhsjzhthuhvhhx}r0(h|]h}]h{]hz]r1h^ah~]r2h&auhKwhhhm]r3(h)r4}r5(hrXManually creating the filer6hsj.hthuhvhhx}r7(h|]h}]h{]hz]h~]uhKwhhhm]r8hXManually creating the filer9r:}r;(hrj6hsj4ubaubh)r<}r=(hrXkTo manually create the file, simply use your text editor to create the
file :file:`config.inc.php` (you can copy :file:`config.sample.inc.php` to get
a minimal configuration file) in the main (top-level) phpMyAdmin
directory (the one that contains :file:`index.php`). phpMyAdmin first
loads :file:`libraries/config.default.php` and then overrides those values
with anything found in :file:`config.inc.php`. If the default value is
okay for a particular setting, there is no need to include it in
:file:`config.inc.php`. You'll probably need only a few directives to get going; a
simple configuration may look like this:hsj.hthuhvhhx}r>(h|]h}]h{]hz]h~]uhKyhhhm]r?(hXLTo manually create the file, simply use your text editor to create the
file r@rA}rB(hrXLTo manually create the file, simply use your text editor to create the
file hsj<ubj	)rC}rD(hrUhx}rE(hz]h{]h|]h}]rFXfilerGaUrolejGh~]uhsj<hm]rHhXconfig.inc.phprIrJ}rK(hrXconfig.inc.phphsjCubahvjubhX (you can copy rLrM}rN(hrX (you can copy hsj<ubj	)rO}rP(hrUhx}rQ(hz]h{]h|]h}]rRXfilerSaUrolejSh~]uhsj<hm]rThXconfig.sample.inc.phprUrV}rW(hrXconfig.sample.inc.phphsjOubahvjubhXj to get
a minimal configuration file) in the main (top-level) phpMyAdmin
directory (the one that contains rXrY}rZ(hrXj to get
a minimal configuration file) in the main (top-level) phpMyAdmin
directory (the one that contains hsj<ubj	)r[}r\(hrUhx}r](hz]h{]h|]h}]r^Xfiler_aUrolej_h~]uhsj<hm]r`hX	index.phprarb}rc(hrX	index.phphsj[ubahvjubhX). phpMyAdmin first
loads rdre}rf(hrX). phpMyAdmin first
loads hsj<ubj	)rg}rh(hrUhx}ri(hz]h{]h|]h}]rjXfilerkaUrolejkh~]uhsj<hm]rlhXlibraries/config.default.phprmrn}ro(hrXlibraries/config.default.phphsjgubahvjubhX8 and then overrides those values
with anything found in rprq}rr(hrX8 and then overrides those values
with anything found in hsj<ubj	)rs}rt(hrUhx}ru(hz]h{]h|]h}]rvXfilerwaUrolejwh~]uhsj<hm]rxhXconfig.inc.phpryrz}r{(hrXconfig.inc.phphsjsubahvjubhX[. If the default value is
okay for a particular setting, there is no need to include it in
r|r}}r~(hrX[. If the default value is
okay for a particular setting, there is no need to include it in
hsj<ubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsj<hm]rhXconfig.inc.phprr}r(hrXconfig.inc.phphsjubahvjubhXe. You'll probably need only a few directives to get going; a
simple configuration may look like this:rr}r(hrXe. You'll probably need only a few directives to get going; a
simple configuration may look like this:hsj<ubeubcdocutils.nodes
literal_block
r)r}r(hrX<?php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // use here a value of your choice

$i=0;
$i++;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
?>hsj.hthuhvU
literal_blockrhx}r(UlinenosrUlanguagerXxml+phpU	xml:spacerUpreserverhz]h{]h|]h}]h~]uhKhhhm]rhX<?php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // use here a value of your choice

$i=0;
$i++;
$cfg['Servers'][$i]['auth_type']     = 'cookie';
?>rr}r(hrUhsjubaubh)r}r(hrX;Or, if you prefer to not be prompted every time you log in:rhsj.hthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]rhX;Or, if you prefer to not be prompted every time you log in:rr}r(hrjhsjubaubj)r}r(hrX<?php

$i=0;
$i++;
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = 'cbb74bc'; // use here your password
$cfg['Servers'][$i]['auth_type']     = 'config';
?>hsj.hthuhvjhx}r(jjXxml+phpjjhz]h{]h|]h}]h~]uhKhhhm]rhX<?php

$i=0;
$i++;
$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = 'cbb74bc'; // use here your password
$cfg['Servers'][$i]['auth_type']     = 'config';
?>rr}r(hrUhsjubaubh)r}r(hrX`For a full explanation of possible configuration values, see the
:ref:`config` of this document.hsj.hthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]r(hXAFor a full explanation of possible configuration values, see the
rr}r(hrXAFor a full explanation of possible configuration values, see the
hsjubh)r}r(hrX
:ref:`config`rhsjhthuhvhhx}r(UreftypeXrefhhXconfigU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXconfigrr}r(hrUhsjubahvhubaubhX of this document.rr}r(hrX of this document.hsjubeubcsphinx.addnodes
index
r)r}r(hrUhsj.hthuhvUindexrhx}r(hz]h{]h|]h}]h~]Uentriesr]r(UsinglerXSetup scriptUindex-0rUtraUinlineruhKhhhm]ubho)r}r(hrUhsj.hthuhvhwhx}r(hz]h{]h|]h}]h~]hjuhKhhhm]ubho)r}r(hrX.. _setup_script:hsj.hthuh}hvhwhx}r(hz]h{]h|]h}]h~]hhBuhKhhh}rjjshm]ubeubh)r}r(hrUhsjzhthuh}rh
jshvhhx}r(h|]h}]h{]hz]r(hFhBjeh~]r(hh
euhKhhh}r(jjhBjuhm]r(h)r}r(hrXUsing Setup scriptrhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]rhXUsing Setup scriptrr}r(hrjhsjubaubh)r}r(hrXInstead of manually editing :file:`config.inc.php`, you can use phpMyAdmin's
setup feature. First you must manually create a folder ``config``
in the phpMyAdmin directory. This is a security measure. On a
Linux/Unix system you can use the following commands:hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]r(hXInstead of manually editing rr}r(hrXInstead of manually editing hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXconfig.inc.phprr}r(hrXconfig.inc.phphsjubahvjubhXR, you can use phpMyAdmin's
setup feature. First you must manually create a folder rr}r(hrXR, you can use phpMyAdmin's
setup feature. First you must manually create a folder hsjubj	)r}r(hrX
``config``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXconfigrr}r(hrUhsjubahvjubhXt
in the phpMyAdmin directory. This is a security measure. On a
Linux/Unix system you can use the following commands:rr}r(hrXt
in the phpMyAdmin directory. This is a security measure. On a
Linux/Unix system you can use the following commands:hsjubeubj)r}r(hrXcd phpMyAdmin
mkdir config                        # create directory for saving
chmod o+rw config                   # give it world writable permissionshsjhthuhvjhx}r(jjXshjjhz]h{]h|]h}]h~]uhKhhhm]rhXcd phpMyAdmin
mkdir config                        # create directory for saving
chmod o+rw config                   # give it world writable permissionsrr}r(hrUhsjubaubh)r}r(hrX:And to edit an existing configuration, copy it over first:rhsjhthuhvhhx}r	(h|]h}]h{]hz]h~]uhKhhhm]r
hX:And to edit an existing configuration, copy it over first:rr}r
(hrjhsjubaubj)r}r(hrXcp config.inc.php config/           # copy current configuration for editing
chmod o+w config/config.inc.php     # give it world writable permissionshsjhthuhvjhx}r(jjXshjjhz]h{]h|]h}]h~]uhKhhhm]rhXcp config.inc.php config/           # copy current configuration for editing
chmod o+w config/config.inc.php     # give it world writable permissionsrr}r(hrUhsjubaubcdocutils.nodes
note
r)r}r(hrXuDebian and Ubuntu have simplified this setup and all you need to do is to
execute :program:`/usr/sbin/pma-configure`.hsjhthuhvUnoterhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXuDebian and Ubuntu have simplified this setup and all you need to do is to
execute :program:`/usr/sbin/pma-configure`.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhm]r(hXRDebian and Ubuntu have simplified this setup and all you need to do is to
execute rr }r!(hrXRDebian and Ubuntu have simplified this setup and all you need to do is to
execute hsjubcdocutils.nodes
strong
r")r#}r$(hrX":program:`/usr/sbin/pma-configure`hx}r%(h|]h}]r&Uprogramr'ah{]hz]h~]uhsjhm]r(hX/usr/sbin/pma-configurer)r*}r+(hrUhsj#ubahvUstrongr,ubhX.r-}r.(hrX.hsjubeubaubh)r/}r0(hrXOn other platforms, simply create the folder and ensure that your web
server has read and write access to it. :ref:`faq1_26` can help with
this.hsjhthuhvhhx}r1(h|]h}]h{]hz]h~]uhKhhhm]r2(hXnOn other platforms, simply create the folder and ensure that your web
server has read and write access to it. r3r4}r5(hrXnOn other platforms, simply create the folder and ensure that your web
server has read and write access to it. hsj/ubh)r6}r7(hrX:ref:`faq1_26`r8hsj/hthuhvhhx}r9(UreftypeXrefhhXfaq1_26U	refdomainXstdr:hz]h{]Urefexplicith|]h}]h~]hhuhKhm]r;h)r<}r=(hrj8hx}r>(h|]h}]r?(hj:Xstd-refr@eh{]hz]h~]uhsj6hm]rAhXfaq1_26rBrC}rD(hrUhsj<ubahvhubaubhX can help with
this.rErF}rG(hrX can help with
this.hsj/ubeubh)rH}rI(hrXNext, open your browser and visit the location where you installed phpMyAdmin, with the ``/setup`` suffix. If you have an existing configuration,
use the ``Load`` button to bring its content inside the setup panel.
Note that **changes are not saved to disk until you explicitly choose ``Save``**
from the *Configuration* area of the screen. Normally the script saves the new
:file:`config.inc.php` to the ``config/`` directory, but if the webserver does
not have the proper permissions you may see the error "Cannot load or
save configuration." Ensure that the ``config/`` directory exists and
has the proper permissions - or use the ``Download`` link to save the
config file locally and upload it (via FTP or some similar means) to the
proper location.hsjhthuhvhhx}rJ(h|]h}]h{]hz]h~]uhKhhhm]rK(hXXNext, open your browser and visit the location where you installed phpMyAdmin, with the rLrM}rN(hrXXNext, open your browser and visit the location where you installed phpMyAdmin, with the hsjHubj	)rO}rP(hrX
``/setup``hx}rQ(h|]h}]h{]hz]h~]uhsjHhm]rRhX/setuprSrT}rU(hrUhsjOubahvjubhX8 suffix. If you have an existing configuration,
use the rVrW}rX(hrX8 suffix. If you have an existing configuration,
use the hsjHubj	)rY}rZ(hrX``Load``hx}r[(h|]h}]h{]hz]h~]uhsjHhm]r\hXLoadr]r^}r_(hrUhsjYubahvjubhX? button to bring its content inside the setup panel.
Note that r`ra}rb(hrX? button to bring its content inside the setup panel.
Note that hsjHubj")rc}rd(hrXF**changes are not saved to disk until you explicitly choose ``Save``**hx}re(h|]h}]h{]hz]h~]uhsjHhm]rfhXBchanges are not saved to disk until you explicitly choose ``Save``rgrh}ri(hrUhsjcubahvj,ubhX

from the rjrk}rl(hrX

from the hsjHubh)rm}rn(hrX*Configuration*hx}ro(h|]h}]h{]hz]h~]uhsjHhm]rphX
Configurationrqrr}rs(hrUhsjmubahvhubhX7 area of the screen. Normally the script saves the new
rtru}rv(hrX7 area of the screen. Normally the script saves the new
hsjHubj	)rw}rx(hrUhx}ry(hz]h{]h|]h}]rzXfiler{aUrolej{h~]uhsjHhm]r|hXconfig.inc.phpr}r~}r(hrXconfig.inc.phphsjwubahvjubhX to the rr}r(hrX to the hsjHubj	)r}r(hrX``config/``hx}r(h|]h}]h{]hz]h~]uhsjHhm]rhXconfig/rr}r(hrUhsjubahvjubhX directory, but if the webserver does
not have the proper permissions you may see the error "Cannot load or
save configuration." Ensure that the rr}r(hrX directory, but if the webserver does
not have the proper permissions you may see the error "Cannot load or
save configuration." Ensure that the hsjHubj	)r}r(hrX``config/``hx}r(h|]h}]h{]hz]h~]uhsjHhm]rhXconfig/rr}r(hrUhsjubahvjubhX> directory exists and
has the proper permissions - or use the rr}r(hrX> directory exists and
has the proper permissions - or use the hsjHubj	)r}r(hrX``Download``hx}r(h|]h}]h{]hz]h~]uhsjHhm]rhXDownloadrr}r(hrUhsjubahvjubhXk link to save the
config file locally and upload it (via FTP or some similar means) to the
proper location.rr}r(hrXk link to save the
config file locally and upload it (via FTP or some similar means) to the
proper location.hsjHubeubh)r}r(hrXOnce the file has been saved, it must be moved out of the ``config/``
directory and the permissions must be reset, again as a security
measure:hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]r(hX:Once the file has been saved, it must be moved out of the rr}r(hrX:Once the file has been saved, it must be moved out of the hsjubj	)r}r(hrX``config/``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXconfig/rr}r(hrUhsjubahvjubhXJ
directory and the permissions must be reset, again as a security
measure:rr}r(hrXJ
directory and the permissions must be reset, again as a security
measure:hsjubeubj)r}r(hrXmv config/config.inc.php .         # move file to current directory
chmod o-rw config.inc.php          # remove world read and write permissions
rm -rf config                      # remove not needed directoryhsjhthuhvjhx}r(jjXshjjhz]h{]h|]h}]h~]uhKhhhm]rhXmv config/config.inc.php .         # move file to current directory
chmod o-rw config.inc.php          # remove world read and write permissions
rm -rf config                      # remove not needed directoryrr}r(hrUhsjubaubj)r}r(hrXrDebian and Ubuntu have simplified this setup and all you need to do is to
execute :program:`/usr/sbin/pma-secure`.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXrDebian and Ubuntu have simplified this setup and all you need to do is to
execute :program:`/usr/sbin/pma-secure`.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhm]r(hXRDebian and Ubuntu have simplified this setup and all you need to do is to
execute rr}r(hrXRDebian and Ubuntu have simplified this setup and all you need to do is to
execute hsjubj")r}r(hrX:program:`/usr/sbin/pma-secure`hx}r(h|]h}]rj'ah{]hz]h~]uhsjhm]rhX/usr/sbin/pma-securerr}r(hrUhsjubahvj,ubhX.r}r(hrX.hsjubeubaubh)r}r(hrXNow the file is ready to be used. You can choose to review or edit the
file with your favorite editor, if you prefer to set some advanced
options which the setup script does not provide.rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]rhXNow the file is ready to be used. You can choose to review or edit the
file with your favorite editor, if you prefer to set some advanced
options which the setup script does not provide.rr}r(hrjhsjubaubj)r}r(hrUhsjhthuhvjhx}r(jU.hz]h{]h|]jUh}]h~]jjuhKhhhm]r(j)r}r(hrXIf you are using the ``auth_type`` "config", it is suggested that you
protect the phpMyAdmin installation directory because using config
does not require a user to enter a password to access the phpMyAdmin
installation. Use of an alternate authentication method is
recommended, for example with HTTP–AUTH in a :term:`.htaccess` file or switch to using
``auth_type`` cookie or http. See the :ref:`faqmultiuser`
for additional information, especially :ref:`faq4_4`.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXIf you are using the ``auth_type`` "config", it is suggested that you
protect the phpMyAdmin installation directory because using config
does not require a user to enter a password to access the phpMyAdmin
installation. Use of an alternate authentication method is
recommended, for example with HTTP–AUTH in a :term:`.htaccess` file or switch to using
``auth_type`` cookie or http. See the :ref:`faqmultiuser`
for additional information, especially :ref:`faq4_4`.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhm]r(hXIf you are using the rr}r(hrXIf you are using the hsjubj	)r}r(hrX
``auth_type``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX	auth_typerr}r(hrUhsjubahvjubhX "config", it is suggested that you
protect the phpMyAdmin installation directory because using config
does not require a user to enter a password to access the phpMyAdmin
installation. Use of an alternate authentication method is
recommended, for example with HTTP–AUTH in a rr}r(hrX "config", it is suggested that you
protect the phpMyAdmin installation directory because using config
does not require a user to enter a password to access the phpMyAdmin
installation. Use of an alternate authentication method is
recommended, for example with HTTP–AUTH in a hsjubh)r}r(hrX:term:`.htaccess`rhsjhthuhvhhx}r(UreftypeXtermhhX	.htaccessU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-termreh{]hz]h~]uhsjhm]rhX	.htaccessrr}r(hrUhsjubahvhubaubhX file or switch to using
rr}r(hrX file or switch to using
hsjubj	)r}r(hrX
``auth_type``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX	auth_typerr}r(hrUhsjubahvjubhX cookie or http. See the rr	}r
(hrX cookie or http. See the hsjubh)r}r(hrX:ref:`faqmultiuser`r
hsjhthuhvhhx}r(UreftypeXrefhhXfaqmultiuserU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKhm]rh)r}r(hrj
hx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXfaqmultiuserrr}r(hrUhsjubahvhubaubhX(
for additional information, especially rr}r(hrX(
for additional information, especially hsjubh)r}r(hrX
:ref:`faq4_4`rhsjhthuhvhhx}r (UreftypeXrefhhXfaq4_4U	refdomainXstdr!hz]h{]Urefexplicith|]h}]h~]hhuhKhm]r"h)r#}r$(hrjhx}r%(h|]h}]r&(hj!Xstd-refr'eh{]hz]h~]uhsjhm]r(hXfaq4_4r)r*}r+(hrUhsj#ubahvhubaubhX.r,}r-(hrX.hsjubeubaubj)r.}r/(hrXOpen the `main phpMyAdmin directory <index.php>`_ in your browser.
phpMyAdmin should now display a welcome screen and your databases, or
a login dialog if using :term:`HTTP` or
cookie authentication mode.hsjhthuhvjhx}r0(h|]h}]h{]hz]h~]uhNhhhm]r1h)r2}r3(hrXOpen the `main phpMyAdmin directory <index.php>`_ in your browser.
phpMyAdmin should now display a welcome screen and your databases, or
a login dialog if using :term:`HTTP` or
cookie authentication mode.hsj.hthuhvhhx}r4(h|]h}]h{]hz]h~]uhKhm]r5(hX	Open the r6r7}r8(hrX	Open the hsj2ubj_)r9}r:(hrX(`main phpMyAdmin directory <index.php>`_hx}r;(UnameXmain phpMyAdmin directoryjcX	index.phpr<hz]h{]h|]h}]h~]uhsj2hm]r=hXmain phpMyAdmin directoryr>r?}r@(hrUhsj9ubahvjiubho)rA}rB(hrX <index.php>jlKhsj2hvhwhx}rC(Urefurij<hz]rDhhah{]h|]h}]h~]rEh0auhm]ubhXp in your browser.
phpMyAdmin should now display a welcome screen and your databases, or
a login dialog if using rFrG}rH(hrXp in your browser.
phpMyAdmin should now display a welcome screen and your databases, or
a login dialog if using hsj2ubh)rI}rJ(hrX:term:`HTTP`rKhsj2hthuhvhhx}rL(UreftypeXtermhhXhttpU	refdomainXstdrMhz]h{]Urefexplicith|]h}]h~]hhuhKhm]rNh)rO}rP(hrjKhx}rQ(h|]h}]rR(hjMXstd-termrSeh{]hz]h~]uhsjIhm]rThXHTTPrUrV}rW(hrUhsjOubahvhubaubhX or
cookie authentication mode.rXrY}rZ(hrX or
cookie authentication mode.hsj2ubeubaubj)r[}r\(hrXcYou should deny access to the ``./libraries`` and ``./setup/lib``
subfolders in your webserver configuration.
Such configuration prevents from possible
path exposure and cross side scripting vulnerabilities that might
happen to be found in that code. For the Apache webserver, this is
often accomplished with a :term:`.htaccess` file in those directories.hsjhthuhvjhx}r](h|]h}]h{]hz]h~]uhNhhhm]r^h)r_}r`(hrXcYou should deny access to the ``./libraries`` and ``./setup/lib``
subfolders in your webserver configuration.
Such configuration prevents from possible
path exposure and cross side scripting vulnerabilities that might
happen to be found in that code. For the Apache webserver, this is
often accomplished with a :term:`.htaccess` file in those directories.hsj[hthuhvhhx}ra(h|]h}]h{]hz]h~]uhKhm]rb(hXYou should deny access to the rcrd}re(hrXYou should deny access to the hsj_ubj	)rf}rg(hrX``./libraries``hx}rh(h|]h}]h{]hz]h~]uhsj_hm]rihX./librariesrjrk}rl(hrUhsjfubahvjubhX and rmrn}ro(hrX and hsj_ubj	)rp}rq(hrX``./setup/lib``hx}rr(h|]h}]h{]hz]h~]uhsj_hm]rshX./setup/librtru}rv(hrUhsjpubahvjubhX
subfolders in your webserver configuration.
Such configuration prevents from possible
path exposure and cross side scripting vulnerabilities that might
happen to be found in that code. For the Apache webserver, this is
often accomplished with a rwrx}ry(hrX
subfolders in your webserver configuration.
Such configuration prevents from possible
path exposure and cross side scripting vulnerabilities that might
happen to be found in that code. For the Apache webserver, this is
often accomplished with a hsj_ubh)rz}r{(hrX:term:`.htaccess`r|hsj_hthuhvhhx}r}(UreftypeXtermhhX	.htaccessU	refdomainXstdr~hz]h{]Urefexplicith|]h}]h~]hhuhKhm]rh)r}r(hrj|hx}r(h|]h}]r(hj~Xstd-termreh{]hz]h~]uhsjzhm]rhX	.htaccessrr}r(hrUhsjubahvhubaubhX file in those directories.rr}r(hrX file in those directories.hsj_ubeubaubj)r}r(hrXIt is generally a good idea to protect a public phpMyAdmin installation
against access by robots as they usually can not do anything good
there. You can do this using ``robots.txt`` file in root of your
webserver or limit access by web server configuration, see
:ref:`faq1_42`.

hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXIt is generally a good idea to protect a public phpMyAdmin installation
against access by robots as they usually can not do anything good
there. You can do this using ``robots.txt`` file in root of your
webserver or limit access by web server configuration, see
:ref:`faq1_42`.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhm]r(hXIt is generally a good idea to protect a public phpMyAdmin installation
against access by robots as they usually can not do anything good
there. You can do this using rr}r(hrXIt is generally a good idea to protect a public phpMyAdmin installation
against access by robots as they usually can not do anything good
there. You can do this using hsjubj	)r}r(hrX``robots.txt``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX
robots.txtrr}r(hrUhsjubahvjubhXQ file in root of your
webserver or limit access by web server configuration, see
rr}r(hrXQ file in root of your
webserver or limit access by web server configuration, see
hsjubh)r}r(hrX:ref:`faq1_42`rhsjhthuhvhhx}r(UreftypeXrefhhXfaq1_42U	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhKhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXfaq1_42rr}r(hrUhsjubahvhubaubhX.r}r(hrX.hsjubeubaubeubho)r}r(hrX.. _verify:hsjhthuhvhwhx}r(hz]h{]h|]h}]h~]hhLuhKhhhm]ubeubeubh)r}r(hrUhshhthuh}rhjshvhhx}r(h|]h}]h{]hz]r(hPhLeh~]r(hheuhKhhh}rhLjshm]r(h)r}r(hrXVerifying phpMyAdmin releasesrhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]rhXVerifying phpMyAdmin releasesrr}r(hrjhsjubaubh)r}r(hrXSince July 2015 all phpMyAdmin releases are cryptographically signed by the
releasing developer, who is currently Marc Delisle. His key id is
0x81AF644A, his PGP fingerprint is:rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhKhhhm]rhXSince July 2015 all phpMyAdmin releases are cryptographically signed by the
releasing developer, who is currently Marc Delisle. His key id is
0x81AF644A, his PGP fingerprint is:rr}r(hrjhsjubaubj)r}r(hrX1436F F188 4B1A 0C3F DCBF 0D79 FEFC 65D1 81AF 644Ahsjhthuhvjhx}r(jjXconsolejjhz]h{]h|]h}]h~]uhMhhhm]rhX1436F F188 4B1A 0C3F DCBF 0D79 FEFC 65D1 81AF 644Arr}r(hrUhsjubaubh)r}r(hrXand you can get more identification information from `https://keybase.io/lem9 <https://keybase.io/lem9>`_.  You should verify that the signature matches
the archive you have downloaded. This way you can be sure that you are using
the same code that was released.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hX5and you can get more identification information from rr}r(hrX5and you can get more identification information from hsjubj_)r}r(hrX4`https://keybase.io/lem9 <https://keybase.io/lem9>`_hx}r(Unameh"jcXhttps://keybase.io/lem9rhz]h{]h|]h}]h~]uhsjhm]rhXhttps://keybase.io/lem9rr}r(hrUhsjubahvjiubho)r}r(hrX <https://keybase.io/lem9>jlKhsjhvhwhx}r(Urefurijhz]rhZah{]h|]h}]h~]rh"auhm]ubhX.  You should verify that the signature matches
the archive you have downloaded. This way you can be sure that you are using
the same code that was released.rr}r(hrX.  You should verify that the signature matches
the archive you have downloaded. This way you can be sure that you are using
the same code that was released.hsjubeubh)r}r(hrXEach archive is accompanied with ``.asc`` files which contains the PGP signature
for it. Once you have both of them in the same folder, you can verify the signature:hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hX!Each archive is accompanied with rr}r(hrX!Each archive is accompanied with hsjubj	)r}r(hrX``.asc``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.ascrr}r(hrUhsjubahvjubhX| files which contains the PGP signature
for it. Once you have both of them in the same folder, you can verify the signature:rr}r(hrX| files which contains the PGP signature
for it. Once you have both of them in the same folder, you can verify the signature:hsjubeubj)r}r(hrX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: Can't check signature: No public keyhsjhthuhvjhx}r(jjXconsolejjhz]h{]h|]h}]h~]uhMhhhm]rhX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: Can't check signature: No public keyrr}r(hrUhsjubaubh)r}r(hrXzAs you can see gpg complains that it does not know the public key. At this
point you should do one of the following steps:rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]rhXzAs you can see gpg complains that it does not know the public key. At this
point you should do one of the following steps:rr	}r
(hrjhsjubaubcdocutils.nodes
bullet_list
r)r}r
(hrUhsjhthuhvUbullet_listrhx}r(UbulletrX*hz]h{]h|]h}]h~]uhMhhhm]rj)r}r(hrXyDownload the keyring from `our download server <https://files.phpmyadmin.net/phpmyadmin.keyring>`_, then import it with:
hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXxDownload the keyring from `our download server <https://files.phpmyadmin.net/phpmyadmin.keyring>`_, then import it with:hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]r(hXDownload the keyring from rr}r(hrXDownload the keyring from hsjubj_)r}r(hrXH`our download server <https://files.phpmyadmin.net/phpmyadmin.keyring>`_hx}r(UnameXour download serverjcX/https://files.phpmyadmin.net/phpmyadmin.keyringr hz]h{]h|]h}]h~]uhsjhm]r!hXour download serverr"r#}r$(hrUhsjubahvjiubho)r%}r&(hrX2 <https://files.phpmyadmin.net/phpmyadmin.keyring>jlKhsjhvhwhx}r'(Urefurij hz]r(h_ah{]h|]h}]h~]r)h'auhm]ubhX, then import it with:r*r+}r,(hrX, then import it with:hsjubeubaubaubj)r-}r.(hrX!$ gpg --import phpmyadmin.keyringhsjhthuhvjhx}r/(jjXconsolejjhz]h{]h|]h}]h~]uhMhhhm]r0hX!$ gpg --import phpmyadmin.keyringr1r2}r3(hrUhsj-ubaubj)r4}r5(hrUhsjhthuhvjhx}r6(jX*hz]h{]h|]h}]h~]uhMhhhm]r7j)r8}r9(hrX9Download and import the key from one of the key servers:
hsj4hthuhvjhx}r:(h|]h}]h{]hz]h~]uhNhhhm]r;h)r<}r=(hrX8Download and import the key from one of the key servers:r>hsj8hthuhvhhx}r?(h|]h}]h{]hz]h~]uhMhm]r@hX8Download and import the key from one of the key servers:rArB}rC(hrj>hsj<ubaubaubaubj)rD}rE(hrX*$ gpg --keyserver hkp://pgp.mit.edu --recv-keys 81AF644A
gpg: requesting key 81AF644A from hkp server pgp.mit.edu
gpg: key 81AF644A: public key "Marc Delisle <marc@infomarc.info>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)hsjhthuhvjhx}rF(jjXconsolejjhz]h{]h|]h}]h~]uhMhhhm]rGhX*$ gpg --keyserver hkp://pgp.mit.edu --recv-keys 81AF644A
gpg: requesting key 81AF644A from hkp server pgp.mit.edu
gpg: key 81AF644A: public key "Marc Delisle <marc@infomarc.info>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)rHrI}rJ(hrUhsjDubaubh)rK}rL(hrXThis will improve the situation a bit - at this point you can verify that the
signature from the given key is correct but you still can not trust the name used
in the key:rMhsjhthuhvhhx}rN(h|]h}]h{]hz]h~]uhM(hhhm]rOhXThis will improve the situation a bit - at this point you can verify that the
signature from the given key is correct but you still can not trust the name used
in the key:rPrQ}rR(hrjMhsjKubaubj)rS}rT(hrX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: Good signature from "Marc Delisle <marc@infomarc.info>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 436F F188 4B1A 0C3F DCBF  0D79 FEFC 65D1 81AF 644Ahsjhthuhvjhx}rU(jjXconsolejjhz]h{]h|]h}]h~]uhM,hhhm]rVhX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: Good signature from "Marc Delisle <marc@infomarc.info>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 436F F188 4B1A 0C3F DCBF  0D79 FEFC 65D1 81AF 644ArWrX}rY(hrUhsjSubaubh)rZ}r[(hrX5The problem here is that anybody could issue the key with this name.  You need to
ensure that the key is actually owned by the mentioned person.  The GNU Privacy
Handbook covers this topic in the chapter `Validating other keys on your public
keyring`_. The most reliable method is to meet the developer in person and
exchange key fingerprints, however you can also rely on the web of trust. This way
you can trust the key transitively though signatures of others, who have met
the developer in person. For example you can see how `Marc's key links to
Linus's key`_.hsjhthuhvhhx}r\(h|]h}]h{]hz]h~]uhM5hhhm]r](hXThe problem here is that anybody could issue the key with this name.  You need to
ensure that the key is actually owned by the mentioned person.  The GNU Privacy
Handbook covers this topic in the chapter r^r_}r`(hrXThe problem here is that anybody could issue the key with this name.  You need to
ensure that the key is actually owned by the mentioned person.  The GNU Privacy
Handbook covers this topic in the chapter hsjZubj_)ra}rb(hrX/`Validating other keys on your public
keyring`_UresolvedrcKhsjZhvjihx}rd(UnameX,Validating other keys on your public keyringjcX/https://www.gnupg.org/gph/en/manual.html#AEN335rehz]h{]h|]h}]h~]uhm]rfhX,Validating other keys on your public
keyringrgrh}ri(hrUhsjaubaubhX. The most reliable method is to meet the developer in person and
exchange key fingerprints, however you can also rely on the web of trust. This way
you can trust the key transitively though signatures of others, who have met
the developer in person. For example you can see how rjrk}rl(hrX. The most reliable method is to meet the developer in person and
exchange key fingerprints, however you can also rely on the web of trust. This way
you can trust the key transitively though signatures of others, who have met
the developer in person. For example you can see how hsjZubj_)rm}rn(hrX"`Marc's key links to
Linus's key`_jcKhsjZhvjihx}ro(UnameXMarc's key links to Linus's keyjcX9http://pgp.cs.uu.nl/mk_path.cgi?FROM=00411886&TO=81AF644Arphz]h{]h|]h}]h~]uhm]rqhXMarc's key links to
Linus's keyrrrs}rt(hrUhsjmubaubhX.ru}rv(hrX.hsjZubeubh)rw}rx(hrX4Once the key is trusted, the warning will not occur:ryhsjhthuhvhhx}rz(h|]h}]h{]hz]h~]uhM>hhhm]r{hX4Once the key is trusted, the warning will not occur:r|r}}r~(hrjyhsjwubaubj)r}r(hrX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: Good signature from "Marc Delisle <marc@infomarc.info>" [full]hsjhthuhvjhx}r(jjXconsolejjhz]h{]h|]h}]h~]uhM@hhhm]rhX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: Good signature from "Marc Delisle <marc@infomarc.info>" [full]rr}r(hrUhsjubaubh)r}r(hrXShould the signature be invalid (the archive has been changed), you would get a
clear error regardless of the fact that the key is trusted or not:rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMFhhhm]rhXShould the signature be invalid (the archive has been changed), you would get a
clear error regardless of the fact that the key is trusted or not:rr}r(hrjhsjubaubj)r}r(hrX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: BAD signature from "Marc Delisle <marc@infomarc.info>" [unknown]hsjhthuhvjhx}r(jjXconsolejjhz]h{]h|]h}]h~]uhMIhhhm]rhX$ gpg --verify phpMyAdmin-4.4.9-all-languages.zip.asc
gpg: Signature made Fri Jun 12 13:09:58 2015 CEST using RSA key ID 81AF644A
gpg: BAD signature from "Marc Delisle <marc@infomarc.info>" [unknown]rr}r(hrUhsjubaubho)r}r(hrXa.. _Validating other keys on your public keyring: https://www.gnupg.org/gph/en/manual.html#AEN335jlKhsjhthuhvhwhx}r(jcjehz]rhGah{]h|]h}]h~]rhauhMOhhhm]ubho)r}r(hrX^.. _Marc's key links to Linus's key: http://pgp.cs.uu.nl/mk_path.cgi?FROM=00411886&TO=81AF644AjlKhsjhthuhvhwhx}r(jcjphz]rhlah{]h|]h}]h~]rh4auhMQhhhm]ubj)r}r(hrUhsjhthuhvjhx}r(hz]h{]h|]h}]h~]j]r((jXConfiguration storageUindex-1rUtr(jX phpMyAdmin configuration storagejUtr(jXpmadbjUtrejuhMThhhm]ubho)r}r(hrUhsjhthuhvhwhx}r(hz]h{]h|]h}]h~]hjuhMXhhhm]ubho)r}r(hrX.. _linked-tables:hsjhthuh}hvhwhx}r(hz]h{]h|]h}]h~]hhHuhMYhhh}rjjshm]ubeubh)r}r(hrUhshhthuh}rhjshvhhx}r(h|]h}]h{]hz]r(hfhHjeh~]r(h.heuhM\hhh}r(jjhHjuhm]r(h)r}r(hrX phpMyAdmin configuration storagerhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhM\hhhm]rhX phpMyAdmin configuration storagerr}r(hrjhsjubaubh)r}r(hrXFor a whole set of additional features (bookmarks, comments, :term:`SQL`-history,
tracking mechanism, :term:`PDF`-generation, column contents transformation,
etc.) you need to create a set of special tables.  Those tables can be located
in your own database, or in a central database for a multi-user installation
(this database would then be accessed by the controluser, so no other user
should have rights to it).hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhM^hhhm]r(hX=For a whole set of additional features (bookmarks, comments, rr}r(hrX=For a whole set of additional features (bookmarks, comments, hsjubh)r}r(hrX:term:`SQL`rhsjhthuhvhhx}r(UreftypeXtermhhXsqlU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhM^hm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-termreh{]hz]h~]uhsjhm]rhXSQLrr}r(hrUhsjubahvhubaubhX-history,
tracking mechanism, rr}r(hrX-history,
tracking mechanism, hsjubh)r}r(hrX:term:`PDF`rhsjhthuhvhhx}r(UreftypeXtermhhXpdfU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhM^hm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-termreh{]hz]h~]uhsjhm]rhXPDFrr}r(hrUhsjubahvhubaubhX.-generation, column contents transformation,
etc.) you need to create a set of special tables.  Those tables can be located
in your own database, or in a central database for a multi-user installation
(this database would then be accessed by the controluser, so no other user
should have rights to it).rr}r(hrX.-generation, column contents transformation,
etc.) you need to create a set of special tables.  Those tables can be located
in your own database, or in a central database for a multi-user installation
(this database would then be accessed by the controluser, so no other user
should have rights to it).hsjubeubh)r}r(hrUhsjhthuhvhhx}r(h|]h}]h{]hz]rhaah~]rh)auhMfhhhm]r(h)r}r(hrXZero configurationrhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMfhhhm]rhXZero configurationrr}r(hrjhsjubaubh)r}r(hrXIn many cases, this database structure can be automatically created and
configured. This is called “Zero Configuration” mode and can be particularly
useful in shared hosting situations. “Zeroconf” mode is on by default, to
disable set :config:option:`$cfg['ZeroConf']` to false.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhhm]r(hXIn many cases, this database structure can be automatically created and
configured. This is called “Zero Configuration” mode and can be particularly
useful in shared hosting situations. “Zeroconf” mode is on by default, to
disable set rr}r(hrXIn many cases, this database structure can be automatically created and
configured. This is called “Zero Configuration” mode and can be particularly
useful in shared hosting situations. “Zeroconf” mode is on by default, to
disable set hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX$cfg['ZeroConf']rUindex-2rjtr(jX&configuration option; $cfg['ZeroConf']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]r	jah~]uhsjhm]hvhwubh)r
}r(hrX!:config:option:`$cfg['ZeroConf']`rhsjhthuhvhhx}r
(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhMhhm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsj
hm]rhX$cfg['ZeroConf']rr}r(hrUhsjubahvjubaubhX
 to false.rr}r(hrX
 to false.hsjubeubh)r}r(hrXIThe following three scenarios are covered by the Zero Configuration mode:rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMmhhhm]r hXIThe following three scenarios are covered by the Zero Configuration mode:r!r"}r#(hrjhsjubaubj)r$}r%(hrUhsjhthuhvjhx}r&(jX*hz]h{]h|]h}]h~]uhMohhhm]r'(j)r(}r)(hrXWhen entering a database where the configuration storage tables are not
present, phpMyAdmin offers to create them from the Operations tab.hsj$hthuhvjhx}r*(h|]h}]h{]hz]h~]uhNhhhm]r+h)r,}r-(hrXWhen entering a database where the configuration storage tables are not
present, phpMyAdmin offers to create them from the Operations tab.r.hsj(hthuhvhhx}r/(h|]h}]h{]hz]h~]uhMohm]r0hXWhen entering a database where the configuration storage tables are not
present, phpMyAdmin offers to create them from the Operations tab.r1r2}r3(hrj.hsj,ubaubaubj)r4}r5(hrXWhen entering a database where the tables do already exist, the software
automatically detects this and begins using them. This is the most common
situation; after the tables are initially created automatically they are
continually used without disturbing the user; this is also most useful on
shared hosting where the user is not able to edit :file:`config.inc.php` and
usually the user only has access to one database.hsj$hthuhvjhx}r6(h|]h}]h{]hz]h~]uhNhhhm]r7h)r8}r9(hrXWhen entering a database where the tables do already exist, the software
automatically detects this and begins using them. This is the most common
situation; after the tables are initially created automatically they are
continually used without disturbing the user; this is also most useful on
shared hosting where the user is not able to edit :file:`config.inc.php` and
usually the user only has access to one database.hsj4hthuhvhhx}r:(h|]h}]h{]hz]h~]uhMqhm]r;(hXXWhen entering a database where the tables do already exist, the software
automatically detects this and begins using them. This is the most common
situation; after the tables are initially created automatically they are
continually used without disturbing the user; this is also most useful on
shared hosting where the user is not able to edit r<r=}r>(hrXXWhen entering a database where the tables do already exist, the software
automatically detects this and begins using them. This is the most common
situation; after the tables are initially created automatically they are
continually used without disturbing the user; this is also most useful on
shared hosting where the user is not able to edit hsj8ubj	)r?}r@(hrUhx}rA(hz]h{]h|]h}]rBXfilerCaUrolejCh~]uhsj8hm]rDhXconfig.inc.phprErF}rG(hrXconfig.inc.phphsj?ubahvjubhX6 and
usually the user only has access to one database.rHrI}rJ(hrX6 and
usually the user only has access to one database.hsj8ubeubaubj)rK}rL(hrX$When having access to multiple databases, if the user first enters the
database containing the configuration storage tables then switches to
another database,
phpMyAdmin continues to use the tables from the first database; the user is
not prompted to create more tables in the new database.

hsj$hthuhvjhx}rM(h|]h}]h{]hz]h~]uhNhhhm]rNh)rO}rP(hrX"When having access to multiple databases, if the user first enters the
database containing the configuration storage tables then switches to
another database,
phpMyAdmin continues to use the tables from the first database; the user is
not prompted to create more tables in the new database.rQhsjKhthuhvhhx}rR(h|]h}]h{]hz]h~]uhMwhm]rShX"When having access to multiple databases, if the user first enters the
database containing the configuration storage tables then switches to
another database,
phpMyAdmin continues to use the tables from the first database; the user is
not prompted to create more tables in the new database.rTrU}rV(hrjQhsjOubaubaubeubeubh)rW}rX(hrUhsjhthuhvhhx}rY(h|]h}]h{]hz]rZhNah~]r[hauhMhhhm]r\(h)r]}r^(hrXManual configurationr_hsjWhthuhvhhx}r`(h|]h}]h{]hz]h~]uhMhhhm]rahXManual configurationrbrc}rd(hrj_hsj]ubaubh)re}rf(hrXPlease look at your ``./sql/`` directory, where you should find a
file called *create\_tables.sql*. (If you are using a Windows server,
pay special attention to :ref:`faq1_23`).hsjWhthuhvhhx}rg(h|]h}]h{]hz]h~]uhMhhhm]rh(hXPlease look at your rirj}rk(hrXPlease look at your hsjeubj	)rl}rm(hrX
``./sql/``hx}rn(h|]h}]h{]hz]h~]uhsjehm]rohX./sql/rprq}rr(hrUhsjlubahvjubhX0 directory, where you should find a
file called rsrt}ru(hrX0 directory, where you should find a
file called hsjeubh)rv}rw(hrX*create\_tables.sql*hx}rx(h|]h}]h{]hz]h~]uhsjehm]ryhXcreate_tables.sqlrzr{}r|(hrUhsjvubahvhubhX?. (If you are using a Windows server,
pay special attention to r}r~}r(hrX?. (If you are using a Windows server,
pay special attention to hsjeubh)r}r(hrX:ref:`faq1_23`rhsjehthuhvhhx}r(UreftypeXrefhhXfaq1_23U	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXfaq1_23rr}r(hrUhsjubahvhubaubhX).rr}r(hrX).hsjeubeubh)r}r(hrX+If you already had this infrastructure and:rhsjWhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]rhX+If you already had this infrastructure and:rr}r(hrjhsjubaubj)r}r(hrUhsjWhthuhvjhx}r(jX*hz]h{]h|]h}]h~]uhMhhhm]r(j)r}r(hrXYupgraded to MySQL 4.1.2 or newer, please use
:file:`sql/upgrade_tables_mysql_4_1_2+.sql`.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXYupgraded to MySQL 4.1.2 or newer, please use
:file:`sql/upgrade_tables_mysql_4_1_2+.sql`.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]r(hX-upgraded to MySQL 4.1.2 or newer, please use
rr}r(hrX-upgraded to MySQL 4.1.2 or newer, please use
hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhX#sql/upgrade_tables_mysql_4_1_2+.sqlrr}r(hrX#sql/upgrade_tables_mysql_4_1_2+.sqlhsjubahvjubhX.r}r(hrX.hsjubeubaubj)r}r(hrX}upgraded to phpMyAdmin 4.3.0 or newer from 2.5.0 or newer (<= 4.2.x),
please use :file:`sql/upgrade_column_info_4_3_0+.sql`.
hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrX|upgraded to phpMyAdmin 4.3.0 or newer from 2.5.0 or newer (<= 4.2.x),
please use :file:`sql/upgrade_column_info_4_3_0+.sql`.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]r(hXQupgraded to phpMyAdmin 4.3.0 or newer from 2.5.0 or newer (<= 4.2.x),
please use rr}r(hrXQupgraded to phpMyAdmin 4.3.0 or newer from 2.5.0 or newer (<= 4.2.x),
please use hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhX"sql/upgrade_column_info_4_3_0+.sqlrr}r(hrX"sql/upgrade_column_info_4_3_0+.sqlhsjubahvjubhX.r}r(hrX.hsjubeubaubeubh)r}r(hrXFand then create new tables by importing :file:`sql/create_tables.sql`.rhsjWhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hX(and then create new tables by importing rr}r(hrX(and then create new tables by importing hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXsql/create_tables.sqlrr}r(hrXsql/create_tables.sqlhsjubahvjubhX.r}r(hrX.hsjubeubh)r}r(hrXYou can use your phpMyAdmin to create the tables for you. Please be
aware that you may need special (administrator) privileges to create
the database and tables, and that the script may need some tuning,
depending on the database name.rhsjWhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]rhXYou can use your phpMyAdmin to create the tables for you. Please be
aware that you may need special (administrator) privileges to create
the database and tables, and that the script may need some tuning,
depending on the database name.rr}r(hrjhsjubaubh)r}r(hrXAfter having imported the :file:`sql/create_tables.sql` file, you
should specify the table names in your :file:`config.inc.php` file. The
directives used for that can be found in the :ref:`config`.hsjWhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hXAfter having imported the rr}r(hrXAfter having imported the hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXsql/create_tables.sqlrr}r(hrXsql/create_tables.sqlhsjubahvjubhX2 file, you
should specify the table names in your rr}r(hrX2 file, you
should specify the table names in your hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXconfig.inc.phprr}r(hrXconfig.inc.phphsjubahvjubhX8 file. The
directives used for that can be found in the rr}r(hrX8 file. The
directives used for that can be found in the hsjubh)r}r(hrX
:ref:`config`rhsjhthuhvhhx}r(UreftypeXrefhhXconfigU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]r	h)r
}r(hrjhx}r(h|]h}]r
(hjXstd-refreh{]hz]h~]uhsjhm]rhXconfigrr}r(hrUhsj
ubahvhubaubhX.r}r(hrX.hsjubeubh)r}r(hrXYou will also need to have a controluser
(:config:option:`$cfg['Servers'][$i]['controluser']` and
:config:option:`$cfg['Servers'][$i]['controlpass']` settings)
with the proper rights to those tables. For example you can create it
using following statement:hsjWhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hX*You will also need to have a controluser
(rr}r(hrX*You will also need to have a controluser
(hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX"$cfg['Servers'][$i]['controluser']r Uindex-3r!j tr"(jX8configuration option; $cfg['Servers'][$i]['controluser']j!j tr#euhsjhm]hvjubho)r$}r%(hrUhx}r&(h|]h}]h{]hz]r'j!ah~]uhsjhm]hvhwubh)r(}r)(hrX3:config:option:`$cfg['Servers'][$i]['controluser']`r*hsjhthuhvhhx}r+(UreftypeXoptionhhj U	refdomainXconfigr,hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r-j	)r.}r/(hrj*hx}r0(h|]h}]r1(hj,X
config-optionr2eh{]hz]h~]uhsj(hm]r3hX"$cfg['Servers'][$i]['controluser']r4r5}r6(hrUhsj.ubahvjubaubhX and
r7r8}r9(hrX and
hsjubj)r:}r;(hrUhx}r<(hz]h{]h|]h}]h~]j]r=((jX"$cfg['Servers'][$i]['controlpass']r>Uindex-4r?j>tr@(jX8configuration option; $cfg['Servers'][$i]['controlpass']j?j>trAeuhsjhm]hvjubho)rB}rC(hrUhx}rD(h|]h}]h{]hz]rEj?ah~]uhsjhm]hvhwubh)rF}rG(hrX3:config:option:`$cfg['Servers'][$i]['controlpass']`rHhsjhthuhvhhx}rI(UreftypeXoptionhhj>U	refdomainXconfigrJhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rKj	)rL}rM(hrjHhx}rN(h|]h}]rO(hjJX
config-optionrPeh{]hz]h~]uhsjFhm]rQhX"$cfg['Servers'][$i]['controlpass']rRrS}rT(hrUhsjLubahvjubaubhXk settings)
with the proper rights to those tables. For example you can create it
using following statement:rUrV}rW(hrXk settings)
with the proper rights to those tables. For example you can create it
using following statement:hsjubeubj)rX}rY(hrXaGRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost'  IDENTIFIED BY 'pmapass';hsjWhthuhvjhx}rZ(jjXmysqljjhz]h{]h|]h}]h~]uhMhhhm]r[hXaGRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost'  IDENTIFIED BY 'pmapass';r\r]}r^(hrUhsjXubaubho)r_}r`(hrX.. _upgrading:hsjWhthuhvhwhx}ra(hz]h{]h|]h}]h~]hhAuhMhhhm]ubeubeubh)rb}rc(hrUhshhthuh}rdh	j_shvhhx}re(h|]h}]h{]hz]rf(hjhAeh~]rg(h2h	euhMhhh}rhhAj_shm]ri(h)rj}rk(hrXUpgrading from an older versionrlhsjbhthuhvhhx}rm(h|]h}]h{]hz]h~]uhMhhhm]rnhXUpgrading from an older versionrorp}rq(hrjlhsjjubaubh)rr}rs(hrXz**Never** extract the new version over an existing installation
of phpMyAdmin; we had evidence of problems caused by this.hsjbhthuhvhhx}rt(h|]h}]h{]hz]h~]uhMhhhm]ru(j")rv}rw(hrX	**Never**hx}rx(h|]h}]h{]hz]h~]uhsjrhm]ryhXNeverrzr{}r|(hrUhsjvubahvj,ubhXq extract the new version over an existing installation
of phpMyAdmin; we had evidence of problems caused by this.r}r~}r(hrXq extract the new version over an existing installation
of phpMyAdmin; we had evidence of problems caused by this.hsjrubeubh)r}r(hrXhSimply copy :file:`config.inc.php` from your previous installation into
the newly unpacked one. Configuration files from old versions may
require some tweaking as some options have been changed or removed.
For compatibility with PHP 5.3 and later, remove a
``set_magic_quotes_runtime(0);`` statement that you might find near
the end of your configuration file.hsjbhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hXSimply copy rr}r(hrXSimply copy hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXconfig.inc.phprr}r(hrXconfig.inc.phphsjubahvjubhX from your previous installation into
the newly unpacked one. Configuration files from old versions may
require some tweaking as some options have been changed or removed.
For compatibility with PHP 5.3 and later, remove a
rr}r(hrX from your previous installation into
the newly unpacked one. Configuration files from old versions may
require some tweaking as some options have been changed or removed.
For compatibility with PHP 5.3 and later, remove a
hsjubj	)r}r(hrX ``set_magic_quotes_runtime(0);``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXset_magic_quotes_runtime(0);rr}r(hrUhsjubahvjubhXG statement that you might find near
the end of your configuration file.rr}r(hrXG statement that you might find near
the end of your configuration file.hsjubeubh)r}r(hrXYou should **not** copy :file:`libraries/config.default.php` over
:file:`config.inc.php` because the default configuration file is version-
specific.hsjbhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hXYou should rr}r(hrXYou should hsjubj")r}r(hrX**not**hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXnotrr}r(hrUhsjubahvj,ubhX copy rr}r(hrX copy hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXlibraries/config.default.phprr}r(hrXlibraries/config.default.phphsjubahvjubhX over
rr}r(hrX over
hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhXconfig.inc.phprr}r(hrXconfig.inc.phphsjubahvjubhX= because the default configuration file is version-
specific.rr}r(hrX= because the default configuration file is version-
specific.hsjubeubh)r}r(hrXIf you have upgraded your MySQL server from a version previous to 4.1.2 to
version 5.x or newer and if you use the phpMyAdmin configuration storage, you
should run the :term:`SQL` script found in
:file:`sql/upgrade_tables_mysql_4_1_2+.sql`.hsjbhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hXIf you have upgraded your MySQL server from a version previous to 4.1.2 to
version 5.x or newer and if you use the phpMyAdmin configuration storage, you
should run the rr}r(hrXIf you have upgraded your MySQL server from a version previous to 4.1.2 to
version 5.x or newer and if you use the phpMyAdmin configuration storage, you
should run the hsjubh)r}r(hrX:term:`SQL`rhsjhthuhvhhx}r(UreftypeXtermhhXsqlU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-termreh{]hz]h~]uhsjhm]rhXSQLrr}r(hrUhsjubahvhubaubhX script found in
rr}r(hrX script found in
hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]rhX#sql/upgrade_tables_mysql_4_1_2+.sqlrr}r(hrX#sql/upgrade_tables_mysql_4_1_2+.sqlhsjubahvjubhX.r}r(hrX.hsjubeubh)r}r(hrXIf you have upgraded your phpMyAdmin to 4.3.0 or newer from 2.5.0 or
newer (<= 4.2.x) and if you use the phpMyAdmin configuration storage, you
should run the :term:`SQL` script found in
:file:`sql/upgrade_column_info_4_3_0+.sql`.hsjbhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hXIf you have upgraded your phpMyAdmin to 4.3.0 or newer from 2.5.0 or
newer (<= 4.2.x) and if you use the phpMyAdmin configuration storage, you
should run the rr}r(hrXIf you have upgraded your phpMyAdmin to 4.3.0 or newer from 2.5.0 or
newer (<= 4.2.x) and if you use the phpMyAdmin configuration storage, you
should run the hsjubh)r}r(hrX:term:`SQL`rhsjhthuhvhhx}r(UreftypeXtermhhXsqlU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-termreh{]hz]h~]uhsjhm]rhXSQLrr}r(hrUhsjubahvhubaubhX script found in
r	r	}r	(hrX script found in
hsjubj	)r	}r	(hrUhx}r	(hz]h{]h|]h}]r	Xfiler	aUrolej	h~]uhsjhm]r	hX"sql/upgrade_column_info_4_3_0+.sqlr		r
	}r	(hrX"sql/upgrade_column_info_4_3_0+.sqlhsj	ubahvjubhX.r	}r
	(hrX.hsjubeubh)r	}r	(hrXjDo not forget to clear the browser cache and to empty the old session by
logging out and logging in again.r	hsjbhthuhvhhx}r	(h|]h}]h{]hz]h~]uhMhhhm]r	hXjDo not forget to clear the browser cache and to empty the old session by
logging out and logging in again.r	r	}r	(hrj	hsj	ubaubj)r	}r	(hrUhsjbhthuhvjhx}r	(hz]h{]h|]h}]h~]j]r	(jXAuthentication modeUindex-5r	Utr	ajuhMhhhm]ubho)r	}r	(hrUhsjbhthuhvhwhx}r	(hz]h{]h|]h}]h~]hj	uhMhhhm]ubho)r	}r 	(hrX.. _authentication_modes:hsjbhthuh}hvhwhx}r!	(hz]h{]h|]h}]h~]hhOuhMhhh}r"	j	j	shm]ubeubh)r#	}r$	(hrUhshhthuh}r%	hj	shvhhx}r&	(h|]h}]h{]hz]r'	(h[hOj	eh~]r(	(h#heuhMhhh}r)	(j	j	hOj	uhm]r*	(h)r+	}r,	(hrXUsing authentication modesr-	hsj#	hthuhvhhx}r.	(h|]h}]h{]hz]h~]uhMhhhm]r/	hXUsing authentication modesr0	r1	}r2	(hrj-	hsj+	ubaubh)r3	}r4	(hrX:term:`HTTP` and cookie authentication modes are recommended in a **multi-user
environment** where you want to give users access to their own database and
don't want them to play around with others. Nevertheless be aware that MS
Internet Explorer seems to be really buggy about cookies, at least till version
6. Even in a **single-user environment**, you might prefer to use :term:`HTTP`
or cookie mode so that your user/password pair are not in clear in the
configuration file.hsj#	hthuhvhhx}r5	(h|]h}]h{]hz]h~]uhMhhhm]r6	(h)r7	}r8	(hrX:term:`HTTP`r9	hsj3	hthuhvhhx}r:	(UreftypeXtermhhXhttpU	refdomainXstdr;	hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r<	h)r=	}r>	(hrj9	hx}r?	(h|]h}]r@	(hj;	Xstd-termrA	eh{]hz]h~]uhsj7	hm]rB	hXHTTPrC	rD	}rE	(hrUhsj=	ubahvhubaubhX6 and cookie authentication modes are recommended in a rF	rG	}rH	(hrX6 and cookie authentication modes are recommended in a hsj3	ubj")rI	}rJ	(hrX**multi-user
environment**hx}rK	(h|]h}]h{]hz]h~]uhsj3	hm]rL	hXmulti-user
environmentrM	rN	}rO	(hrUhsjI	ubahvj,ubhX where you want to give users access to their own database and
don't want them to play around with others. Nevertheless be aware that MS
Internet Explorer seems to be really buggy about cookies, at least till version
6. Even in a rP	rQ	}rR	(hrX where you want to give users access to their own database and
don't want them to play around with others. Nevertheless be aware that MS
Internet Explorer seems to be really buggy about cookies, at least till version
6. Even in a hsj3	ubj")rS	}rT	(hrX**single-user environment**hx}rU	(h|]h}]h{]hz]h~]uhsj3	hm]rV	hXsingle-user environmentrW	rX	}rY	(hrUhsjS	ubahvj,ubhX, you might prefer to use rZ	r[	}r\	(hrX, you might prefer to use hsj3	ubh)r]	}r^	(hrX:term:`HTTP`r_	hsj3	hthuhvhhx}r`	(UreftypeXtermhhXhttpU	refdomainXstdra	hz]h{]Urefexplicith|]h}]h~]hhuhMhm]rb	h)rc	}rd	(hrj_	hx}re	(h|]h}]rf	(hja	Xstd-termrg	eh{]hz]h~]uhsj]	hm]rh	hXHTTPri	rj	}rk	(hrUhsjc	ubahvhubaubhX[
or cookie mode so that your user/password pair are not in clear in the
configuration file.rl	rm	}rn	(hrX[
or cookie mode so that your user/password pair are not in clear in the
configuration file.hsj3	ubeubh)ro	}rp	(hrX:term:`HTTP` and cookie authentication
modes are more secure: the MySQL login information does not need to be
set in the phpMyAdmin configuration file (except possibly for the
:config:option:`$cfg['Servers'][$i]['controluser']`).
However, keep in mind that the password travels in plain text, unless
you are using the HTTPS protocol. In cookie mode, the password is
stored, encrypted with the AES algorithm, in a temporary cookie.hsj#	hthuhvhhx}rq	(h|]h}]h{]hz]h~]uhMhhhm]rr	(h)rs	}rt	(hrX:term:`HTTP`ru	hsjo	hthuhvhhx}rv	(UreftypeXtermhhXhttpU	refdomainXstdrw	hz]h{]Urefexplicith|]h}]h~]hhuhMhm]rx	h)ry	}rz	(hrju	hx}r{	(h|]h}]r|	(hjw	Xstd-termr}	eh{]hz]h~]uhsjs	hm]r~	hXHTTPr	r	}r	(hrUhsjy	ubahvhubaubhX and cookie authentication
modes are more secure: the MySQL login information does not need to be
set in the phpMyAdmin configuration file (except possibly for the
r	r	}r	(hrX and cookie authentication
modes are more secure: the MySQL login information does not need to be
set in the phpMyAdmin configuration file (except possibly for the
hsjo	ubj)r	}r	(hrUhx}r	(hz]h{]h|]h}]h~]j]r	((jX"$cfg['Servers'][$i]['controluser']r	Uindex-6r	j	tr	(jX8configuration option; $cfg['Servers'][$i]['controluser']j	j	tr	euhsjo	hm]hvjubho)r	}r	(hrUhx}r	(h|]h}]h{]hz]r	j	ah~]uhsjo	hm]hvhwubh)r	}r	(hrX3:config:option:`$cfg['Servers'][$i]['controluser']`r	hsjo	hthuhvhhx}r	(UreftypeXoptionhhj	U	refdomainXconfigr	hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r	j	)r	}r	(hrj	hx}r	(h|]h}]r	(hj	X
config-optionr	eh{]hz]h~]uhsj	hm]r	hX"$cfg['Servers'][$i]['controluser']r	r	}r	(hrUhsj	ubahvjubaubhX).
However, keep in mind that the password travels in plain text, unless
you are using the HTTPS protocol. In cookie mode, the password is
stored, encrypted with the AES algorithm, in a temporary cookie.r	r	}r	(hrX).
However, keep in mind that the password travels in plain text, unless
you are using the HTTPS protocol. In cookie mode, the password is
stored, encrypted with the AES algorithm, in a temporary cookie.hsjo	ubeubh)r	}r	(hrXfThen each of the *true* users should be granted a set of privileges
on a set of particular databases. Normally you shouldn't give global
privileges to an ordinary user, unless you understand the impact of those
privileges (for example, you are creating a superuser).
For example, to grant the user *real_user* with all privileges on
the database *user_base*:hsj#	hthuhvhhx}r	(h|]h}]h{]hz]h~]uhMhhhm]r	(hXThen each of the r	r	}r	(hrXThen each of the hsj	ubh)r	}r	(hrX*true*hx}r	(h|]h}]h{]hz]h~]uhsj	hm]r	hXtruer	r	}r	(hrUhsj	ubahvhubhX users should be granted a set of privileges
on a set of particular databases. Normally you shouldn't give global
privileges to an ordinary user, unless you understand the impact of those
privileges (for example, you are creating a superuser).
For example, to grant the user r	r	}r	(hrX users should be granted a set of privileges
on a set of particular databases. Normally you shouldn't give global
privileges to an ordinary user, unless you understand the impact of those
privileges (for example, you are creating a superuser).
For example, to grant the user hsj	ubh)r	}r	(hrX*real_user*hx}r	(h|]h}]h{]hz]h~]uhsj	hm]r	hX	real_userr	r	}r	(hrUhsj	ubahvhubhX% with all privileges on
the database r	r	}r	(hrX% with all privileges on
the database hsj	ubh)r	}r	(hrX*user_base*hx}r	(h|]h}]h{]hz]h~]uhsj	hm]r	hX	user_baser	r	}r	(hrUhsj	ubahvhubhX:r	}r	(hrX:hsj	ubeubj)r	}r	(hrX[GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password';hsj#	hthuhvjhx}r	(jjXmysqljjhz]h{]h|]h}]h~]uhMhhhm]r	hX[GRANT ALL PRIVILEGES ON user_base.* TO 'real_user'@localhost IDENTIFIED BY 'real_password';r	r	}r	(hrUhsj	ubaubh)r	}r	(hrXWhat the user may now do is controlled entirely by the MySQL user management
system. With HTTP or cookie authentication mode, you don't need to fill the
user/password fields inside the :config:option:`$cfg['Servers']`.hsj#	hthuhvhhx}r	(h|]h}]h{]hz]h~]uhMhhhm]r	(hXWhat the user may now do is controlled entirely by the MySQL user management
system. With HTTP or cookie authentication mode, you don't need to fill the
user/password fields inside the r	r	}r	(hrXWhat the user may now do is controlled entirely by the MySQL user management
system. With HTTP or cookie authentication mode, you don't need to fill the
user/password fields inside the hsj	ubj)r	}r	(hrUhx}r	(hz]h{]h|]h}]h~]j]r	((jX$cfg['Servers']r	Uindex-7r	j	tr	(jX%configuration option; $cfg['Servers']j	j	tr	euhsj	hm]hvjubho)r	}r	(hrUhx}r	(h|]h}]h{]hz]r	j	ah~]uhsj	hm]hvhwubh)r	}r	(hrX :config:option:`$cfg['Servers']`r	hsj	hthuhvhhx}r	(UreftypeXoptionhhj	U	refdomainXconfigr	hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r	j	)r	}r	(hrj	hx}r	(h|]h}]r	(hj	X
config-optionr	eh{]hz]h~]uhsj	hm]r	hX$cfg['Servers']r	r	}r	(hrUhsj	ubahvjubaubhX.r	}r	(hrX.hsj	ubeubj)r	}r	(hrUhsj#	hthuhvjhx}r	(hz]h{]h|]h}]h~]j]r	(Upairr	XHTTP; Authentication modeUindex-8r	Utr	ajuhMhhhm]ubho)r	}r	(hrUhsj#	hthuhvhwhx}r	(hz]h{]h|]h}]h~]hj	uhMhhhm]ubh)r	}r	(hrUhsj#	hthuh}hvhhx}r	(h|]h}]h{]hz]r	(hTj	eh~]r
hauhMhhh}r
j	j	shm]r
(h)r
}r
(hrXHTTP authentication moder
hsj	hthuhvhhx}r
(h|]h}]h{]hz]h~]uhMhhhm]r
hXHTTP authentication moder
r	
}r

(hrj
hsj
ubaubj)r
}r
(hrUhsj	hthuhvjhx}r
(jX*hz]h{]h|]h}]h~]uhMhhhm]r
(j)r
}r
(hrX_Uses :term:`HTTP` Basic authentication
method and allows you to log in as any valid MySQL user.hsj
hthuhvjhx}r
(h|]h}]h{]hz]h~]uhNhhhm]r
h)r
}r
(hrX_Uses :term:`HTTP` Basic authentication
method and allows you to log in as any valid MySQL user.hsj
hthuhvhhx}r
(h|]h}]h{]hz]h~]uhMhm]r
(hXUses r
r
}r
(hrXUses hsj
ubh)r
}r
(hrX:term:`HTTP`r
hsj
hthuhvhhx}r
(UreftypeXtermhhXhttpU	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r
h)r 
}r!
(hrj
hx}r"
(h|]h}]r#
(hj
Xstd-termr$
eh{]hz]h~]uhsj
hm]r%
hXHTTPr&
r'
}r(
(hrUhsj 
ubahvhubaubhXN Basic authentication
method and allows you to log in as any valid MySQL user.r)
r*
}r+
(hrXN Basic authentication
method and allows you to log in as any valid MySQL user.hsj
ubeubaubj)r,
}r-
(hrXIs supported with most PHP configurations. For :term:`IIS` (:term:`ISAPI`)
support using :term:`CGI` PHP see :ref:`faq1_32`, for using with Apache
:term:`CGI` see :ref:`faq1_35`.hsj
hthuhvjhx}r.
(h|]h}]h{]hz]h~]uhNhhhm]r/
h)r0
}r1
(hrXIs supported with most PHP configurations. For :term:`IIS` (:term:`ISAPI`)
support using :term:`CGI` PHP see :ref:`faq1_32`, for using with Apache
:term:`CGI` see :ref:`faq1_35`.hsj,
hthuhvhhx}r2
(h|]h}]h{]hz]h~]uhMhm]r3
(hX/Is supported with most PHP configurations. For r4
r5
}r6
(hrX/Is supported with most PHP configurations. For hsj0
ubh)r7
}r8
(hrX:term:`IIS`r9
hsj0
hthuhvhhx}r:
(UreftypeXtermhhXiisU	refdomainXstdr;
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r<
h)r=
}r>
(hrj9
hx}r?
(h|]h}]r@
(hj;
Xstd-termrA
eh{]hz]h~]uhsj7
hm]rB
hXIISrC
rD
}rE
(hrUhsj=
ubahvhubaubhX (rF
rG
}rH
(hrX (hsj0
ubh)rI
}rJ
(hrX
:term:`ISAPI`rK
hsj0
hthuhvhhx}rL
(UreftypeXtermhhXisapiU	refdomainXstdrM
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]rN
h)rO
}rP
(hrjK
hx}rQ
(h|]h}]rR
(hjM
Xstd-termrS
eh{]hz]h~]uhsjI
hm]rT
hXISAPIrU
rV
}rW
(hrUhsjO
ubahvhubaubhX)
support using rX
rY
}rZ
(hrX)
support using hsj0
ubh)r[
}r\
(hrX:term:`CGI`r]
hsj0
hthuhvhhx}r^
(UreftypeXtermhhXcgiU	refdomainXstdr_
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r`
h)ra
}rb
(hrj]
hx}rc
(h|]h}]rd
(hj_
Xstd-termre
eh{]hz]h~]uhsj[
hm]rf
hXCGIrg
rh
}ri
(hrUhsja
ubahvhubaubhX	 PHP see rj
rk
}rl
(hrX	 PHP see hsj0
ubh)rm
}rn
(hrX:ref:`faq1_32`ro
hsj0
hthuhvhhx}rp
(UreftypeXrefhhXfaq1_32U	refdomainXstdrq
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]rr
h)rs
}rt
(hrjo
hx}ru
(h|]h}]rv
(hjq
Xstd-refrw
eh{]hz]h~]uhsjm
hm]rx
hXfaq1_32ry
rz
}r{
(hrUhsjs
ubahvhubaubhX, for using with Apache
r|
r}
}r~
(hrX, for using with Apache
hsj0
ubh)r
}r
(hrX:term:`CGI`r
hsj0
hthuhvhhx}r
(UreftypeXtermhhXcgiU	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-termr
eh{]hz]h~]uhsj
hm]r
hXCGIr
r
}r
(hrUhsj
ubahvhubaubhX see r
r
}r
(hrX see hsj0
ubh)r
}r
(hrX:ref:`faq1_35`r
hsj0
hthuhvhhx}r
(UreftypeXrefhhXfaq1_35U	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-refr
eh{]hz]h~]uhsj
hm]r
hXfaq1_35r
r
}r
(hrUhsj
ubahvhubaubhX.r
}r
(hrX.hsj0
ubeubaubj)r
}r
(hrXvSee also :ref:`faq4_4` about not using the :term:`.htaccess` mechanism along with
':term:`HTTP`' authentication mode.
hsj
hthuhvjhx}r
(h|]h}]h{]hz]h~]uhNhhhm]r
h)r
}r
(hrXuSee also :ref:`faq4_4` about not using the :term:`.htaccess` mechanism along with
':term:`HTTP`' authentication mode.hsj
hthuhvhhx}r
(h|]h}]h{]hz]h~]uhMhm]r
(hX	See also r
r
}r
(hrX	See also hsj
ubh)r
}r
(hrX
:ref:`faq4_4`r
hsj
hthuhvhhx}r
(UreftypeXrefhhXfaq4_4U	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-refr
eh{]hz]h~]uhsj
hm]r
hXfaq4_4r
r
}r
(hrUhsj
ubahvhubaubhX about not using the r
r
}r
(hrX about not using the hsj
ubh)r
}r
(hrX:term:`.htaccess`r
hsj
hthuhvhhx}r
(UreftypeXtermhhX	.htaccessU	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-termr
eh{]hz]h~]uhsj
hm]r
hX	.htaccessr
r
}r
(hrUhsj
ubahvhubaubhX mechanism along with
'r
r
}r
(hrX mechanism along with
'hsj
ubh)r
}r
(hrX:term:`HTTP`r
hsj
hthuhvhhx}r
(UreftypeXtermhhXhttpU	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMhm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-termr
eh{]hz]h~]uhsj
hm]r
hXHTTPr
r
}r
(hrUhsj
ubahvhubaubhX' authentication mode.r
r
}r
(hrX' authentication mode.hsj
ubeubaubeubj)r
}r
(hrUhsj	hthuhvjhx}r
(hz]h{]h|]h}]h~]j]r
(j	XCookie; Authentication modeUindex-9r
Utr
ajuhMhhhm]ubho)r
}r
(hrUhsj	hthuhvhwhx}r
(hz]h{]h|]h}]h~]hj
uhMhhhm]ubho)r
}r
(hrX.. _cookie:hsj	hthuh}hvhwhx}r
(hz]h{]h|]h}]h~]hhWuhMhhh}r
j
j
shm]ubeubh)r
}r
(hrUhsj#	hthuh}r
hj
shvhhx}r
(h|]h}]h{]hz]r
(hShWj
eh~]r
(hheuhMhhh}r
(hWj
j
j
uhm]r
(h)r
}r
(hrXCookie authentication moder
hsj
hthuhvhhx}r
(h|]h}]h{]hz]h~]uhMhhhm]r
hXCookie authentication moder
r
}r
(hrj
hsj
ubaubj)r}r(hrUhsj
hthuhvjhx}r(jX*hz]h{]h|]h}]h~]uhMhhhm]r(j)r}r(hrXdUsername and password are stored in cookies during the session and password
is deleted when it ends.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r	(hrXdUsername and password are stored in cookies during the session and password
is deleted when it ends.r
hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]rhXdUsername and password are stored in cookies during the session and password
is deleted when it ends.r
r}r(hrj
hsjubaubaubj)r}r(hrX`With this mode, the user can truly log out of phpMyAdmin and log
back in with the same username.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrX`With this mode, the user can truly log out of phpMyAdmin and log
back in with the same username.rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]rhX`With this mode, the user can truly log out of phpMyAdmin and log
back in with the same username.rr}r(hrjhsjubaubaubj)r}r(hrXIf you want to allow users to enter any hostname to connect (rather than only
servers that are configured in :file:`config.inc.php`),
see the :config:option:`$cfg['AllowArbitraryServer']` directive.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r }r!(hrXIf you want to allow users to enter any hostname to connect (rather than only
servers that are configured in :file:`config.inc.php`),
see the :config:option:`$cfg['AllowArbitraryServer']` directive.hsjhthuhvhhx}r"(h|]h}]h{]hz]h~]uhMhm]r#(hXmIf you want to allow users to enter any hostname to connect (rather than only
servers that are configured in r$r%}r&(hrXmIf you want to allow users to enter any hostname to connect (rather than only
servers that are configured in hsj ubj	)r'}r((hrUhx}r)(hz]h{]h|]h}]r*Xfiler+aUrolej+h~]uhsj hm]r,hXconfig.inc.phpr-r.}r/(hrXconfig.inc.phphsj'ubahvjubhX),
see the r0r1}r2(hrX),
see the hsj ubj)r3}r4(hrUhx}r5(hz]h{]h|]h}]h~]j]r6((jX$cfg['AllowArbitraryServer']r7Uindex-10r8j7tr9(jX2configuration option; $cfg['AllowArbitraryServer']j8j7tr:euhsj hm]hvjubho)r;}r<(hrUhx}r=(h|]h}]h{]hz]r>j8ah~]uhsj hm]hvhwubh)r?}r@(hrX-:config:option:`$cfg['AllowArbitraryServer']`rAhsj hthuhvhhx}rB(UreftypeXoptionhhj7U	refdomainXconfigrChz]h{]Urefexplicith|]h}]h~]hhuhMhm]rDj	)rE}rF(hrjAhx}rG(h|]h}]rH(hjCX
config-optionrIeh{]hz]h~]uhsj?hm]rJhX$cfg['AllowArbitraryServer']rKrL}rM(hrUhsjEubahvjubaubhX directive.rNrO}rP(hrX directive.hsj ubeubaubj)rQ}rR(hrXAs mentioned in the :ref:`require` section, having the ``mcrypt`` extension will
speed up access considerably, but is not required.
hsjhthuhvjhx}rS(h|]h}]h{]hz]h~]uhNhhhm]rTh)rU}rV(hrXAs mentioned in the :ref:`require` section, having the ``mcrypt`` extension will
speed up access considerably, but is not required.hsjQhthuhvhhx}rW(h|]h}]h{]hz]h~]uhMhm]rX(hXAs mentioned in the rYrZ}r[(hrXAs mentioned in the hsjUubh)r\}r](hrX:ref:`require`r^hsjUhthuhvhhx}r_(UreftypeXrefhhXrequireU	refdomainXstdr`hz]h{]Urefexplicith|]h}]h~]hhuhMhm]rah)rb}rc(hrj^hx}rd(h|]h}]re(hj`Xstd-refrfeh{]hz]h~]uhsj\hm]rghXrequirerhri}rj(hrUhsjbubahvhubaubhX section, having the rkrl}rm(hrX section, having the hsjUubj	)rn}ro(hrX
``mcrypt``hx}rp(h|]h}]h{]hz]h~]uhsjUhm]rqhXmcryptrrrs}rt(hrUhsjnubahvjubhXB extension will
speed up access considerably, but is not required.rurv}rw(hrXB extension will
speed up access considerably, but is not required.hsjUubeubaubeubj)rx}ry(hrUhsj
hthuhvjhx}rz(hz]h{]h|]h}]h~]j]r{(j	XSignon; Authentication modeUindex-11r|Utr}ajuhMhhhm]ubho)r~}r(hrUhsj
hthuhvhwhx}r(hz]h{]h|]h}]h~]hj|uhMhhhm]ubho)r}r(hrX.. _auth_signon:hsj
hthuh}hvhwhx}r(hz]h{]h|]h}]h~]hhQuhMhhh}rj|j~shm]ubeubh)r}r(hrUhsj#	hthuh}rhjshvhhx}r(h|]h}]h{]hz]r(hDhQj|eh~]r(hheuhMhhh}r(hQjj|j~uhm]r(h)r}r(hrXSignon authentication moderhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]rhXSignon authentication moderr}r(hrjhsjubaubj)r}r(hrUhsjhthuhvjhx}r(jX*hz]h{]h|]h}]h~]uhM
hhhm]r(j)r}r(hrXThis mode is a convenient way of using credentials from another
application to authenticate to phpMyAdmin to implement single signon
solution.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXThis mode is a convenient way of using credentials from another
application to authenticate to phpMyAdmin to implement single signon
solution.rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhM
hm]rhXThis mode is a convenient way of using credentials from another
application to authenticate to phpMyAdmin to implement single signon
solution.rr}r(hrjhsjubaubaubj)r}r(hrXThe other application has to store login information into session
data (see :config:option:`$cfg['Servers'][$i]['SignonSession']`) or you
need to implement script to return the credentials (see
:config:option:`$cfg['Servers'][$i]['SignonScript']`).hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXThe other application has to store login information into session
data (see :config:option:`$cfg['Servers'][$i]['SignonSession']`) or you
need to implement script to return the credentials (see
:config:option:`$cfg['Servers'][$i]['SignonScript']`).hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]r(hXLThe other application has to store login information into session
data (see rr}r(hrXLThe other application has to store login information into session
data (see hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX$$cfg['Servers'][$i]['SignonSession']rUindex-12rjtr(jX:configuration option; $cfg['Servers'][$i]['SignonSession']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX5:config:option:`$cfg['Servers'][$i]['SignonSession']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX$$cfg['Servers'][$i]['SignonSession']rr}r(hrUhsjubahvjubaubhXA) or you
need to implement script to return the credentials (see
rr}r(hrXA) or you
need to implement script to return the credentials (see
hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX#$cfg['Servers'][$i]['SignonScript']rUindex-13rjtr(jX9configuration option; $cfg['Servers'][$i]['SignonScript']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX4:config:option:`$cfg['Servers'][$i]['SignonScript']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX#$cfg['Servers'][$i]['SignonScript']rr}r(hrUhsjubahvjubaubhX).rr}r(hrX).hsjubeubaubj)r}r(hrXWhen no credentials are available, the user is being redirected to
:config:option:`$cfg['Servers'][$i]['SignonURL']`, where you should handle
the login process.
hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXWhen no credentials are available, the user is being redirected to
:config:option:`$cfg['Servers'][$i]['SignonURL']`, where you should handle
the login process.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhm]r(hXCWhen no credentials are available, the user is being redirected to
rr}r(hrXCWhen no credentials are available, the user is being redirected to
hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX $cfg['Servers'][$i]['SignonURL']rUindex-14rjtr(jX6configuration option; $cfg['Servers'][$i]['SignonURL']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX1:config:option:`$cfg['Servers'][$i]['SignonURL']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rj	)r	}r
(hrjhx}r(h|]h}]r(hjX
config-optionr
eh{]hz]h~]uhsjhm]rhX $cfg['Servers'][$i]['SignonURL']rr}r(hrUhsj	ubahvjubaubhX,, where you should handle
the login process.rr}r(hrX,, where you should handle
the login process.hsjubeubaubeubh)r}r(hrXfThe very basic example of saving credentials in a session is available as
:file:`examples/signon.php`:hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMhhhm]r(hXJThe very basic example of saving credentials in a session is available as
rr}r(hrXJThe very basic example of saving credentials in a session is available as
hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfiler aUrolej h~]uhsjhm]r!hXexamples/signon.phpr"r#}r$(hrXexamples/signon.phphsjubahvjubhX:r%}r&(hrX:hsjubeubj)r'}r((hrX~	<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Single signon for phpMyAdmin
 *
 * This is just example how to use session based single signon with
 * phpMyAdmin, it is not intended to be perfect code and look, only
 * shows how you can integrate this functionality in your application.
 *
 * @package    PhpMyAdmin
 * @subpackage Example
 */

/* Need to have cookie visible from parent directory */
session_set_cookie_params(0, '/', '', false);
/* Create signon session */
$session_name = 'SignonSession';
session_name($session_name);
// Uncomment and change the following line to match your $cfg['SessionSavePath']
//session_save_path('/foobar');
session_start();

/* Was data posted? */
if (isset($_POST['user'])) {
    /* Store there credentials */
    $_SESSION['PMA_single_signon_user'] = $_POST['user'];
    $_SESSION['PMA_single_signon_password'] = $_POST['password'];
    $_SESSION['PMA_single_signon_host'] = $_POST['host'];
    $_SESSION['PMA_single_signon_port'] = $_POST['port'];
    /* Update another field of server configuration */
    $_SESSION['PMA_single_signon_cfgupdate'] = array('verbose' => 'Signon test');
    $id = session_id();
    /* Close that session */
    session_write_close();
    /* Redirect to phpMyAdmin (should use absolute URL here!) */
    header('Location: ../index.php');
} else {
    /* Show simple form */
    header('Content-Type: text/html; charset=utf-8');
    echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
    ?>
    <!DOCTYPE HTML>
    <html lang="en" dir="ltr">
    <head>
    <link rel="icon" href="../favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    <meta charset="utf-8" />
    <title>phpMyAdmin single signon example</title>
    </head>
    <body>
    <?php
    if (isset($_SESSION['PMA_single_signon_error_message'])) {
        echo '<p class="error">';
        echo $_SESSION['PMA_single_signon_error_message'];
        echo '</p>';
    }
    ?>
    <form action="signon.php" method="post">
    Username: <input type="text" name="user" /><br />
    Password: <input type="password" name="password" /><br />
    Host: (will use the one from config.inc.php by default)
    <input type="text" name="host" /><br />
    Port: (will use the one from config.inc.php by default)
    <input type="text" name="port" /><br />
    <input type="submit" />
    </form>
    </body>
    </html>
    <?php
}
?>
hsjhthuhvjhx}r)(jcdocutils.nodes
reprunicode
r*Xphpr+r,}r-bh|]jjhz]h{]UsourceXE/mnt/autrexfs/phpmyadmin/release/phpMyAdmin-4.5.2/examples/signon.phph}]h~]uhMhhhm]r.hX~	<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Single signon for phpMyAdmin
 *
 * This is just example how to use session based single signon with
 * phpMyAdmin, it is not intended to be perfect code and look, only
 * shows how you can integrate this functionality in your application.
 *
 * @package    PhpMyAdmin
 * @subpackage Example
 */

/* Need to have cookie visible from parent directory */
session_set_cookie_params(0, '/', '', false);
/* Create signon session */
$session_name = 'SignonSession';
session_name($session_name);
// Uncomment and change the following line to match your $cfg['SessionSavePath']
//session_save_path('/foobar');
session_start();

/* Was data posted? */
if (isset($_POST['user'])) {
    /* Store there credentials */
    $_SESSION['PMA_single_signon_user'] = $_POST['user'];
    $_SESSION['PMA_single_signon_password'] = $_POST['password'];
    $_SESSION['PMA_single_signon_host'] = $_POST['host'];
    $_SESSION['PMA_single_signon_port'] = $_POST['port'];
    /* Update another field of server configuration */
    $_SESSION['PMA_single_signon_cfgupdate'] = array('verbose' => 'Signon test');
    $id = session_id();
    /* Close that session */
    session_write_close();
    /* Redirect to phpMyAdmin (should use absolute URL here!) */
    header('Location: ../index.php');
} else {
    /* Show simple form */
    header('Content-Type: text/html; charset=utf-8');
    echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
    ?>
    <!DOCTYPE HTML>
    <html lang="en" dir="ltr">
    <head>
    <link rel="icon" href="../favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    <meta charset="utf-8" />
    <title>phpMyAdmin single signon example</title>
    </head>
    <body>
    <?php
    if (isset($_SESSION['PMA_single_signon_error_message'])) {
        echo '<p class="error">';
        echo $_SESSION['PMA_single_signon_error_message'];
        echo '</p>';
    }
    ?>
    <form action="signon.php" method="post">
    Username: <input type="text" name="user" /><br />
    Password: <input type="password" name="password" /><br />
    Host: (will use the one from config.inc.php by default)
    <input type="text" name="host" /><br />
    Port: (will use the one from config.inc.php by default)
    <input type="text" name="port" /><br />
    <input type="submit" />
    </form>
    </body>
    </html>
    <?php
}
?>
r/r0}r1(hrUhsj'ubaubh)r2}r3(hrXiAlternatively you can also use this way to integrate with OpenID as shown
in :file:`examples/openid.php`:hsjhthuhvhhx}r4(h|]h}]h{]hz]h~]uhMhhhm]r5(hXMAlternatively you can also use this way to integrate with OpenID as shown
in r6r7}r8(hrXMAlternatively you can also use this way to integrate with OpenID as shown
in hsj2ubj	)r9}r:(hrUhx}r;(hz]h{]h|]h}]r<Xfiler=aUrolej=h~]uhsj2hm]r>hXexamples/openid.phpr?r@}rA(hrXexamples/openid.phphsj9ubahvjubhX:rB}rC(hrX:hsj2ubeubj)rD}rE(hrX<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Single signon for phpMyAdmin using OpenID
 *
 * This is just example how to use single signon with phpMyAdmin, it is
 * not intended to be perfect code and look, only shows how you can
 * integrate this functionality in your application.
 *
 * It uses OpenID pear package, see http://pear.php.net/package/OpenID
 *
 * User first authenticates using OpenID and based on content of $AUTH_MAP
 * the login information is passed to phpMyAdmin in session data.
 *
 * @package    PhpMyAdmin
 * @subpackage Example
 */

if (false === @include_once 'OpenID/RelyingParty.php') {
    exit;
}

/**
 * Map of authenticated users to MySQL user/password pairs.
 */
$AUTH_MAP = array(
    'http://launchpad.net/~username' => array(
        'user' => 'root',
        'password' => '',
        ),
    );

/**
 * Simple function to show HTML page with given content.
 *
 * @param string $contents Content to include in page
 *
 * @return void
 */
function Show_page($contents)
{
    header('Content-Type: text/html; charset=utf-8');
    echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
    ?>
    <!DOCTYPE HTML>
    <html lang="en" dir="ltr">
    <head>
    <link rel="icon" href="../favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    <meta charset="utf-8" />
    <title>phpMyAdmin OpenID signon example</title>
    </head>
    <body>
    <?php
    if (isset($_SESSION) && isset($_SESSION['PMA_single_signon_error_message'])) {
        echo '<p class="error">' . $_SESSION['PMA_single_signon_message'] . '</p>';
        unset($_SESSION['PMA_single_signon_message']);
    }
    echo $contents;
    ?>
    </body>
    </html>
    <?php
}

/* Need to have cookie visible from parent directory */
session_set_cookie_params(0, '/', '', false);
/* Create signon session */
$session_name = 'SignonSession';
session_name($session_name);
session_start();

// Determine realm and return_to
$base = 'http';
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
    $base .= 's';
}
$base .= '://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];

$realm = $base . '/';
$returnTo = $base . dirname($_SERVER['PHP_SELF']);
if ($returnTo[/*overload*/mb_strlen($returnTo) - 1] != '/') {
    $returnTo .= '/';
}
$returnTo .= 'openid.php';

/* Display form */
if (!count($_GET) && !count($_POST) || isset($_GET['phpMyAdmin'])) {
    /* Show simple form */
    $content = '<form action="openid.php" method="post">
OpenID: <input type="text" name="identifier" /><br />
<input type="submit" name="start" />
</form>
</body>
</html>';
    Show_page($content);
    exit;
}

/* Grab identifier */
if (isset($_POST['identifier'])) {
    $identifier = $_POST['identifier'];
} else if (isset($_SESSION['identifier'])) {
    $identifier = $_SESSION['identifier'];
} else {
    $identifier = null;
}

/* Create OpenID object */
try {
    $o = new OpenID_RelyingParty($returnTo, $realm, $identifier);
} catch (OpenID_Exception $e) {
    $contents = "<div class='relyingparty_results'>\n";
    $contents .= "<pre>" . $e->getMessage() . "</pre>\n";
    $contents .= "</div class='relyingparty_results'>";
    Show_page($contents);
    exit;
}

/* Redirect to OpenID provider */
if (isset($_POST['start'])) {
    try {
        $authRequest = $o->prepare();
    } catch (OpenID_Exception $e) {
        $contents = "<div class='relyingparty_results'>\n";
        $contents .= "<pre>" . $e->getMessage() . "</pre>\n";
        $contents .= "</div class='relyingparty_results'>";
        Show_page($contents);
        exit;
    }

    $url = $authRequest->getAuthorizeURL();

    header("Location: $url");
    exit;
} else {
    /* Grab query string */
    if (!count($_POST)) {
        list(, $queryString) = explode('?', $_SERVER['REQUEST_URI']);
    } else {
        // I hate php sometimes
        $queryString = file_get_contents('php://input');
    }

    /* Check reply */
    $message = new OpenID_Message($queryString, OpenID_Message::FORMAT_HTTP);

    $id = $message->get('openid.claimed_id');

    if (!empty($id) && isset($AUTH_MAP[$id])) {
        $_SESSION['PMA_single_signon_user'] = $AUTH_MAP[$id]['user'];
        $_SESSION['PMA_single_signon_password'] = $AUTH_MAP[$id]['password'];
        session_write_close();
        /* Redirect to phpMyAdmin (should use absolute URL here!) */
        header('Location: ../index.php');
    } else {
        Show_page('<p>User not allowed!</p>');
        exit;
    }
}
hsjhthuhvjhx}rF(jj*XphprGrH}rIbh|]jjhz]h{]UsourceXE/mnt/autrexfs/phpmyadmin/release/phpMyAdmin-4.5.2/examples/openid.phph}]h~]uhM!hhhm]rJhX<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Single signon for phpMyAdmin using OpenID
 *
 * This is just example how to use single signon with phpMyAdmin, it is
 * not intended to be perfect code and look, only shows how you can
 * integrate this functionality in your application.
 *
 * It uses OpenID pear package, see http://pear.php.net/package/OpenID
 *
 * User first authenticates using OpenID and based on content of $AUTH_MAP
 * the login information is passed to phpMyAdmin in session data.
 *
 * @package    PhpMyAdmin
 * @subpackage Example
 */

if (false === @include_once 'OpenID/RelyingParty.php') {
    exit;
}

/**
 * Map of authenticated users to MySQL user/password pairs.
 */
$AUTH_MAP = array(
    'http://launchpad.net/~username' => array(
        'user' => 'root',
        'password' => '',
        ),
    );

/**
 * Simple function to show HTML page with given content.
 *
 * @param string $contents Content to include in page
 *
 * @return void
 */
function Show_page($contents)
{
    header('Content-Type: text/html; charset=utf-8');
    echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
    ?>
    <!DOCTYPE HTML>
    <html lang="en" dir="ltr">
    <head>
    <link rel="icon" href="../favicon.ico" type="image/x-icon" />
    <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    <meta charset="utf-8" />
    <title>phpMyAdmin OpenID signon example</title>
    </head>
    <body>
    <?php
    if (isset($_SESSION) && isset($_SESSION['PMA_single_signon_error_message'])) {
        echo '<p class="error">' . $_SESSION['PMA_single_signon_message'] . '</p>';
        unset($_SESSION['PMA_single_signon_message']);
    }
    echo $contents;
    ?>
    </body>
    </html>
    <?php
}

/* Need to have cookie visible from parent directory */
session_set_cookie_params(0, '/', '', false);
/* Create signon session */
$session_name = 'SignonSession';
session_name($session_name);
session_start();

// Determine realm and return_to
$base = 'http';
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
    $base .= 's';
}
$base .= '://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];

$realm = $base . '/';
$returnTo = $base . dirname($_SERVER['PHP_SELF']);
if ($returnTo[/*overload*/mb_strlen($returnTo) - 1] != '/') {
    $returnTo .= '/';
}
$returnTo .= 'openid.php';

/* Display form */
if (!count($_GET) && !count($_POST) || isset($_GET['phpMyAdmin'])) {
    /* Show simple form */
    $content = '<form action="openid.php" method="post">
OpenID: <input type="text" name="identifier" /><br />
<input type="submit" name="start" />
</form>
</body>
</html>';
    Show_page($content);
    exit;
}

/* Grab identifier */
if (isset($_POST['identifier'])) {
    $identifier = $_POST['identifier'];
} else if (isset($_SESSION['identifier'])) {
    $identifier = $_SESSION['identifier'];
} else {
    $identifier = null;
}

/* Create OpenID object */
try {
    $o = new OpenID_RelyingParty($returnTo, $realm, $identifier);
} catch (OpenID_Exception $e) {
    $contents = "<div class='relyingparty_results'>\n";
    $contents .= "<pre>" . $e->getMessage() . "</pre>\n";
    $contents .= "</div class='relyingparty_results'>";
    Show_page($contents);
    exit;
}

/* Redirect to OpenID provider */
if (isset($_POST['start'])) {
    try {
        $authRequest = $o->prepare();
    } catch (OpenID_Exception $e) {
        $contents = "<div class='relyingparty_results'>\n";
        $contents .= "<pre>" . $e->getMessage() . "</pre>\n";
        $contents .= "</div class='relyingparty_results'>";
        Show_page($contents);
        exit;
    }

    $url = $authRequest->getAuthorizeURL();

    header("Location: $url");
    exit;
} else {
    /* Grab query string */
    if (!count($_POST)) {
        list(, $queryString) = explode('?', $_SERVER['REQUEST_URI']);
    } else {
        // I hate php sometimes
        $queryString = file_get_contents('php://input');
    }

    /* Check reply */
    $message = new OpenID_Message($queryString, OpenID_Message::FORMAT_HTTP);

    $id = $message->get('openid.claimed_id');

    if (!empty($id) && isset($AUTH_MAP[$id])) {
        $_SESSION['PMA_single_signon_user'] = $AUTH_MAP[$id]['user'];
        $_SESSION['PMA_single_signon_password'] = $AUTH_MAP[$id]['password'];
        session_write_close();
        /* Redirect to phpMyAdmin (should use absolute URL here!) */
        header('Location: ../index.php');
    } else {
        Show_page('<p>User not allowed!</p>');
        exit;
    }
}
rKrL}rM(hrUhsjDubaubh)rN}rO(hrXIf you intend to pass the credentials using some other means than, you have to
implement wrapper in PHP to get that data and set it to
:config:option:`$cfg['Servers'][$i]['SignonScript']`. There is very minimal example
in :file:`examples/signon-script.php`:hsjhthuhvhhx}rP(h|]h}]h{]hz]h~]uhM$hhhm]rQ(hXIf you intend to pass the credentials using some other means than, you have to
implement wrapper in PHP to get that data and set it to
rRrS}rT(hrXIf you intend to pass the credentials using some other means than, you have to
implement wrapper in PHP to get that data and set it to
hsjNubj)rU}rV(hrUhx}rW(hz]h{]h|]h}]h~]j]rX((jX#$cfg['Servers'][$i]['SignonScript']rYUindex-15rZjYtr[(jX9configuration option; $cfg['Servers'][$i]['SignonScript']jZjYtr\euhsjNhm]hvjubho)r]}r^(hrUhx}r_(h|]h}]h{]hz]r`jZah~]uhsjNhm]hvhwubh)ra}rb(hrX4:config:option:`$cfg['Servers'][$i]['SignonScript']`rchsjNhthuhvhhx}rd(UreftypeXoptionhhjYU	refdomainXconfigrehz]h{]Urefexplicith|]h}]h~]hhuhM$hm]rfj	)rg}rh(hrjchx}ri(h|]h}]rj(hjeX
config-optionrkeh{]hz]h~]uhsjahm]rlhX#$cfg['Servers'][$i]['SignonScript']rmrn}ro(hrUhsjgubahvjubaubhX#. There is very minimal example
in rprq}rr(hrX#. There is very minimal example
in hsjNubj	)rs}rt(hrUhx}ru(hz]h{]h|]h}]rvXfilerwaUrolejwh~]uhsjNhm]rxhXexamples/signon-script.phpryrz}r{(hrXexamples/signon-script.phphsjsubahvjubhX:r|}r}(hrX:hsjNubeubj)r~}r(hrX!<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Single signon for phpMyAdmin
 *
 * This is just example how to use script based single signon with
 * phpMyAdmin, it is not intended to be perfect code and look, only
 * shows how you can integrate this functionality in your application.
 *
 * @package    PhpMyAdmin
 * @subpackage Example
 */


/**
 * This function returns username and password.
 *
 * It can optionally use configured username as parameter.
 *
 * @param string $user User name
 *
 * @return array
 */
function get_login_credentials($user)
{
    /* Optionally we can use passed username */
    if (!empty($user)) {
        return array($user, 'password');
    }

    /* Here we would retrieve the credentials */
    $credentials = array('root', '');

    return $credentials;
}
hsjhthuhvjhx}r(jj*Xphprr}rbh|]jjhz]h{]UsourceXL/mnt/autrexfs/phpmyadmin/release/phpMyAdmin-4.5.2/examples/signon-script.phph}]h~]uhM)hhhm]rhX!<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Single signon for phpMyAdmin
 *
 * This is just example how to use script based single signon with
 * phpMyAdmin, it is not intended to be perfect code and look, only
 * shows how you can integrate this functionality in your application.
 *
 * @package    PhpMyAdmin
 * @subpackage Example
 */


/**
 * This function returns username and password.
 *
 * It can optionally use configured username as parameter.
 *
 * @param string $user User name
 *
 * @return array
 */
function get_login_credentials($user)
{
    /* Optionally we can use passed username */
    if (!empty($user)) {
        return array($user, 'password');
    }

    /* Here we would retrieve the credentials */
    $credentials = array('root', '');

    return $credentials;
}
rr}r(hrUhsj~ubaubcsphinx.addnodes
seealso
r)r}r(hrX:config:option:`$cfg['Servers'][$i]['auth_type']`,
:config:option:`$cfg['Servers'][$i]['SignonSession']`,
:config:option:`$cfg['Servers'][$i]['SignonScript']`,
:config:option:`$cfg['Servers'][$i]['SignonURL']`hsjhthuhvUseealsorhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrX:config:option:`$cfg['Servers'][$i]['auth_type']`,
:config:option:`$cfg['Servers'][$i]['SignonSession']`,
:config:option:`$cfg['Servers'][$i]['SignonScript']`,
:config:option:`$cfg['Servers'][$i]['SignonURL']`hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhM-hm]r(j)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX $cfg['Servers'][$i]['auth_type']rUindex-16rjtr(jX6configuration option; $cfg['Servers'][$i]['auth_type']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX1:config:option:`$cfg['Servers'][$i]['auth_type']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhM-hm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX $cfg['Servers'][$i]['auth_type']rr}r(hrUhsjubahvjubaubhX,
rr}r(hrX,
hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX$$cfg['Servers'][$i]['SignonSession']rUindex-17rjtr(jX:configuration option; $cfg['Servers'][$i]['SignonSession']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX5:config:option:`$cfg['Servers'][$i]['SignonSession']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhM-hm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX$$cfg['Servers'][$i]['SignonSession']rr}r(hrUhsjubahvjubaubhX,
rr}r(hrX,
hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX#$cfg['Servers'][$i]['SignonScript']rUindex-18rjtr(jX9configuration option; $cfg['Servers'][$i]['SignonScript']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX4:config:option:`$cfg['Servers'][$i]['SignonScript']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhM-hm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX#$cfg['Servers'][$i]['SignonScript']rr}r(hrUhsjubahvjubaubhX,
rr}r(hrX,
hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX $cfg['Servers'][$i]['SignonURL']rUindex-19rjtr(jX6configuration option; $cfg['Servers'][$i]['SignonURL']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX1:config:option:`$cfg['Servers'][$i]['SignonURL']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhM-hm]rj	)r}r(hrjhx}r
(h|]h}]r
(hjX
config-optionr
eh{]hz]h~]uhsjhm]r
hX $cfg['Servers'][$i]['SignonURL']r
r
}r
(hrUhsjubahvjubaubeubaubj)r
}r
(hrUhsjhthuhvjhx}r	
(hz]h{]h|]h}]h~]j]r

(j	XConfig; Authentication modeUindex-20r
Utr
ajuhM3hhhm]ubho)r

}r
(hrUhsjhthuhvhwhx}r
(hz]h{]h|]h}]h~]hj
uhM4hhhm]ubeubh)r
}r
(hrUhsj#	hthuh}hvhhx}r
(h|]h}]h{]hz]r
(hbj
eh~]r
h*auhM6hhh}r
j
j

shm]r
(h)r
}r
(hrXConfig authentication moder
hsj
hthuhvhhx}r
(h|]h}]h{]hz]h~]uhM6hhhm]r
hXConfig authentication moder
r
}r
(hrj
hsj
ubaubj)r
}r 
(hrUhsj
hthuhvjhx}r!
(jX*hz]h{]h|]h}]h~]uhM8hhhm]r"
(j)r#
}r$
(hrX#This mode is sometimes the less secure one because it requires you to fill the
:config:option:`$cfg['Servers'][$i]['user']` and
:config:option:`$cfg['Servers'][$i]['password']`
fields (and as a result, anyone who can read your :file:`config.inc.php`
can discover your username and password).hsj
hthuhvjhx}r%
(h|]h}]h{]hz]h~]uhNhhhm]r&
h)r'
}r(
(hrX#This mode is sometimes the less secure one because it requires you to fill the
:config:option:`$cfg['Servers'][$i]['user']` and
:config:option:`$cfg['Servers'][$i]['password']`
fields (and as a result, anyone who can read your :file:`config.inc.php`
can discover your username and password).hsj#
hthuhvhhx}r)
(h|]h}]h{]hz]h~]uhM8hm]r*
(hXOThis mode is sometimes the less secure one because it requires you to fill the
r+
r,
}r-
(hrXOThis mode is sometimes the less secure one because it requires you to fill the
hsj'
ubj)r.
}r/
(hrUhx}r0
(hz]h{]h|]h}]h~]j]r1
((jX$cfg['Servers'][$i]['user']r2
Uindex-21r3
j2
tr4
(jX1configuration option; $cfg['Servers'][$i]['user']j3
j2
tr5
euhsj'
hm]hvjubho)r6
}r7
(hrUhx}r8
(h|]h}]h{]hz]r9
j3
ah~]uhsj'
hm]hvhwubh)r:
}r;
(hrX,:config:option:`$cfg['Servers'][$i]['user']`r<
hsj'
hthuhvhhx}r=
(UreftypeXoptionhhj2
U	refdomainXconfigr>
hz]h{]Urefexplicith|]h}]h~]hhuhM8hm]r?
j	)r@
}rA
(hrj<
hx}rB
(h|]h}]rC
(hj>
X
config-optionrD
eh{]hz]h~]uhsj:
hm]rE
hX$cfg['Servers'][$i]['user']rF
rG
}rH
(hrUhsj@
ubahvjubaubhX and
rI
rJ
}rK
(hrX and
hsj'
ubj)rL
}rM
(hrUhx}rN
(hz]h{]h|]h}]h~]j]rO
((jX$cfg['Servers'][$i]['password']rP
Uindex-22rQ
jP
trR
(jX5configuration option; $cfg['Servers'][$i]['password']jQ
jP
trS
euhsj'
hm]hvjubho)rT
}rU
(hrUhx}rV
(h|]h}]h{]hz]rW
jQ
ah~]uhsj'
hm]hvhwubh)rX
}rY
(hrX0:config:option:`$cfg['Servers'][$i]['password']`rZ
hsj'
hthuhvhhx}r[
(UreftypeXoptionhhjP
U	refdomainXconfigr\
hz]h{]Urefexplicith|]h}]h~]hhuhM8hm]r]
j	)r^
}r_
(hrjZ
hx}r`
(h|]h}]ra
(hj\
X
config-optionrb
eh{]hz]h~]uhsjX
hm]rc
hX$cfg['Servers'][$i]['password']rd
re
}rf
(hrUhsj^
ubahvjubaubhX3
fields (and as a result, anyone who can read your rg
rh
}ri
(hrX3
fields (and as a result, anyone who can read your hsj'
ubj	)rj
}rk
(hrUhx}rl
(hz]h{]h|]h}]rm
Xfilern
aUrolejn
h~]uhsj'
hm]ro
hXconfig.inc.phprp
rq
}rr
(hrXconfig.inc.phphsjj
ubahvjubhX*
can discover your username and password).rs
rt
}ru
(hrX*
can discover your username and password).hsj'
ubeubaubj)rv
}rw
(hrXhIn the :ref:`faqmultiuser` section, there is an entry explaining how
to protect your configuration file.hsj
hthuhvjhx}rx
(h|]h}]h{]hz]h~]uhNhhhm]ry
h)rz
}r{
(hrXhIn the :ref:`faqmultiuser` section, there is an entry explaining how
to protect your configuration file.hsjv
hthuhvhhx}r|
(h|]h}]h{]hz]h~]uhM=hm]r}
(hXIn the r~
r
}r
(hrXIn the hsjz
ubh)r
}r
(hrX:ref:`faqmultiuser`r
hsjz
hthuhvhhx}r
(UreftypeXrefhhXfaqmultiuserU	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhM=hm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-refr
eh{]hz]h~]uhsj
hm]r
hXfaqmultiuserr
r
}r
(hrUhsj
ubahvhubaubhXN section, there is an entry explaining how
to protect your configuration file.r
r
}r
(hrXN section, there is an entry explaining how
to protect your configuration file.hsjz
ubeubaubj)r
}r
(hrXFor additional security in this mode, you may wish to consider the
Host authentication :config:option:`$cfg['Servers'][$i]['AllowDeny']['order']`
and :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` configuration directives.hsj
hthuhvjhx}r
(h|]h}]h{]hz]h~]uhNhhhm]r
h)r
}r
(hrXFor additional security in this mode, you may wish to consider the
Host authentication :config:option:`$cfg['Servers'][$i]['AllowDeny']['order']`
and :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` configuration directives.hsj
hthuhvhhx}r
(h|]h}]h{]hz]h~]uhM?hm]r
(hXWFor additional security in this mode, you may wish to consider the
Host authentication r
r
}r
(hrXWFor additional security in this mode, you may wish to consider the
Host authentication hsj
ubj)r
}r
(hrUhx}r
(hz]h{]h|]h}]h~]j]r
((jX)$cfg['Servers'][$i]['AllowDeny']['order']r
Uindex-23r
j
tr
(jX?configuration option; $cfg['Servers'][$i]['AllowDeny']['order']j
j
tr
euhsj
hm]hvjubho)r
}r
(hrUhx}r
(h|]h}]h{]hz]r
j
ah~]uhsj
hm]hvhwubh)r
}r
(hrX::config:option:`$cfg['Servers'][$i]['AllowDeny']['order']`r
hsj
hthuhvhhx}r
(UreftypeXoptionhhj
U	refdomainXconfigr
hz]h{]Urefexplicith|]h}]h~]hhuhM?hm]r
j	)r
}r
(hrj
hx}r
(h|]h}]r
(hj
X
config-optionr
eh{]hz]h~]uhsj
hm]r
hX)$cfg['Servers'][$i]['AllowDeny']['order']r
r
}r
(hrUhsj
ubahvjubaubhX
and r
r
}r
(hrX
and hsj
ubj)r
}r
(hrUhx}r
(hz]h{]h|]h}]h~]j]r
((jX)$cfg['Servers'][$i]['AllowDeny']['rules']r
Uindex-24r
j
tr
(jX?configuration option; $cfg['Servers'][$i]['AllowDeny']['rules']j
j
tr
euhsj
hm]hvjubho)r
}r
(hrUhx}r
(h|]h}]h{]hz]r
j
ah~]uhsj
hm]hvhwubh)r
}r
(hrX::config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']`r
hsj
hthuhvhhx}r
(UreftypeXoptionhhj
U	refdomainXconfigr
hz]h{]Urefexplicith|]h}]h~]hhuhM?hm]r
j	)r
}r
(hrj
hx}r
(h|]h}]r
(hj
X
config-optionr
eh{]hz]h~]uhsj
hm]r
hX)$cfg['Servers'][$i]['AllowDeny']['rules']r
r
}r
(hrUhsj
ubahvjubaubhX configuration directives.r
r
}r
(hrX configuration directives.hsj
ubeubaubj)r
}r
(hrXUnlike cookie and http, does not require a user to log in when first
loading the phpMyAdmin site. This is by design but could allow any
user to access your installation. Use of some restriction method is
suggested, perhaps a :term:`.htaccess` file with the HTTP-AUTH directive or disallowing
incoming HTTP requests at one’s router or firewall will suffice (both
of which are beyond the scope of this manual but easily searchable
with Google).
hsj
hthuhvjhx}r
(h|]h}]h{]hz]h~]uhNhhhm]r
h)r
}r
(hrXUnlike cookie and http, does not require a user to log in when first
loading the phpMyAdmin site. This is by design but could allow any
user to access your installation. Use of some restriction method is
suggested, perhaps a :term:`.htaccess` file with the HTTP-AUTH directive or disallowing
incoming HTTP requests at one’s router or firewall will suffice (both
of which are beyond the scope of this manual but easily searchable
with Google).hsj
hthuhvhhx}r
(h|]h}]h{]hz]h~]uhMBhm]r
(hXUnlike cookie and http, does not require a user to log in when first
loading the phpMyAdmin site. This is by design but could allow any
user to access your installation. Use of some restriction method is
suggested, perhaps a r
r
}r
(hrXUnlike cookie and http, does not require a user to log in when first
loading the phpMyAdmin site. This is by design but could allow any
user to access your installation. Use of some restriction method is
suggested, perhaps a hsj
ubh)r
}r
(hrX:term:`.htaccess`r
hsj
hthuhvhhx}r
(UreftypeXtermhhX	.htaccessU	refdomainXstdr
hz]h{]Urefexplicith|]h}]h~]hhuhMBhm]r
h)r
}r
(hrj
hx}r
(h|]h}]r
(hj
Xstd-termr
eh{]hz]h~]uhsj
hm]r
hX	.htaccessr
r
}r
(hrUhsj
ubahvhubaubhX file with the HTTP-AUTH directive or disallowing
incoming HTTP requests at one’s router or firewall will suffice (both
of which are beyond the scope of this manual but easily searchable
with Google).r
r
}r
(hrX file with the HTTP-AUTH directive or disallowing
incoming HTTP requests at one’s router or firewall will suffice (both
of which are beyond the scope of this manual but easily searchable
with Google).hsj
ubeubaubeubj)r
}r
(hrUhsj
hthuhvjhx}r
(hz]h{]h|]h}]h~]j]r
(j	XSwekey; Authentication modeUindex-25r
Utr
ajuhMJhhhm]ubho)r
}r
(hrUhsj
hthuhvhwhx}r
(hz]h{]h|]h}]h~]hj
uhMKhhhm]ubho)r}r(hrX.. _swekey:hsj
hthuh}hvhwhx}r(hz]h{]h|]h}]h~]hhkuhMLhhh}rj
j
shm]ubeubh)r}r(hrUhsj#	hthuh}rh3jshvhhx}r(h|]h}]h{]hz]r(hdhkj
eh~]r	(h,h3euhMOhhh}r
(hkjj
j
uhm]r(h)r}r
(hrXSwekey authentication moderhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMOhhhm]rhXSwekey authentication moderr}r(hrjhsjubaubh)r}r(hrX{The Swekey is a low cost authentication USB key that can be used in
web applications. When Swekey authentication is activated, phpMyAdmin
requires the users's Swekey to be plugged before entering the login
page (currently supported for cookie authentication mode only). Swekey
Authentication is disabled by default. To enable it, add the following
line to :file:`config.inc.php`:hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMQhhhm]r(hXdThe Swekey is a low cost authentication USB key that can be used in
web applications. When Swekey authentication is activated, phpMyAdmin
requires the users's Swekey to be plugged before entering the login
page (currently supported for cookie authentication mode only). Swekey
Authentication is disabled by default. To enable it, add the following
line to rr}r(hrXdThe Swekey is a low cost authentication USB key that can be used in
web applications. When Swekey authentication is activated, phpMyAdmin
requires the users's Swekey to be plugged before entering the login
page (currently supported for cookie authentication mode only). Swekey
Authentication is disabled by default. To enable it, add the following
line to hsjubj	)r}r(hrUhx}r(hz]h{]h|]h}]rXfileraUrolejh~]uhsjhm]r hXconfig.inc.phpr!r"}r#(hrXconfig.inc.phphsjubahvjubhX:r$}r%(hrX:hsjubeubj)r&}r'(hrX?$cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey.conf';hsjhthuhvjhx}r((jjXphpjjhz]h{]h|]h}]h~]uhMXhhhm]r)hX?$cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey.conf';r*r+}r,(hrUhsj&ubaubh)r-}r.(hrXYou then have to create the ``swekey.conf`` file that will associate
each user with their Swekey Id. It is important to place this file
outside of your web server's document root (in the example, it is
located in ``/etc``). Feel free to use it with your own users'
information. If you want to purchase a Swekey please visit
`https://www.phpmyadmin.net/auth\_key/ <https://www.phpmyadmin.net/auth_key/>`_
since this link provides funding for phpMyAdmin.hsjhthuhvhhx}r/(h|]h}]h{]hz]h~]uhM\hhhm]r0(hXYou then have to create the r1r2}r3(hrXYou then have to create the hsj-ubj	)r4}r5(hrX``swekey.conf``hx}r6(h|]h}]h{]hz]h~]uhsj-hm]r7hXswekey.confr8r9}r:(hrUhsj4ubahvjubhX file that will associate
each user with their Swekey Id. It is important to place this file
outside of your web server's document root (in the example, it is
located in r;r<}r=(hrX file that will associate
each user with their Swekey Id. It is important to place this file
outside of your web server's document root (in the example, it is
located in hsj-ubj	)r>}r?(hrX``/etc``hx}r@(h|]h}]h{]hz]h~]uhsj-hm]rAhX/etcrBrC}rD(hrUhsj>ubahvjubhXg). Feel free to use it with your own users'
information. If you want to purchase a Swekey please visit
rErF}rG(hrXg). Feel free to use it with your own users'
information. If you want to purchase a Swekey please visit
hsj-ubj_)rH}rI(hrXO`https://www.phpmyadmin.net/auth\_key/ <https://www.phpmyadmin.net/auth_key/>`_hx}rJ(UnamehjcX$https://www.phpmyadmin.net/auth_key/rKhz]h{]h|]h}]h~]uhsj-hm]rLhX$https://www.phpmyadmin.net/auth_key/rMrN}rO(hrUhsjHubahvjiubho)rP}rQ(hrX' <https://www.phpmyadmin.net/auth_key/>jlKhsj-hvhwhx}rR(UrefurijKhz]rSh@ah{]h|]h}]h~]rThauhm]ubhX1
since this link provides funding for phpMyAdmin.rUrV}rW(hrX1
since this link provides funding for phpMyAdmin.hsj-ubeubh)rX}rY(hrXZA self documented sample file is provided in the
file :file:`examples/swekey.sample.conf`:hsjhthuhvhhx}rZ(h|]h}]h{]hz]h~]uhMdhhhm]r[(hX6A self documented sample file is provided in the
file r\r]}r^(hrX6A self documented sample file is provided in the
file hsjXubj	)r_}r`(hrUhx}ra(hz]h{]h|]h}]rbXfilercaUrolejch~]uhsjXhm]rdhXexamples/swekey.sample.confrerf}rg(hrXexamples/swekey.sample.confhsj_ubahvjubhX:rh}ri(hrX:hsjXubeubj)rj}rk(hrX# This is a typical file used to enable Swekey hardware authentication.
#
# To activate the Swekey authentication add the following line to your config.inc.php file.
#       $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
# Then rename this file "swekey-pma.conf" and copy it to the /etc directory.
# Add all the Swekey ids you want to grant access to in the file.
# After each Swekey id put the corresponding user name.
#
# If you don't know the id of a Swekey just visit http://www.swekey.com?sel=support
# while your Swekey is connected.
#
# If you need to purchase a Swekey please visit https://www.phpmyadmin.net/auth_key/
# since this link provides funding to PhpMyAdmin.
#

0000000000000000000000000000763A:root
000000000000000000000000000089E4:steve
0000000000000000000000000000231E:scott

#
# It is recommended to include the following lines to contact the
# authentication servers in SSL mode.
#

SERVER_CHECK=https://auth-check-ssl.musbe.net
SERVER_RNDTOKEN=https://auth-rnd-gen-ssl.musbe.net
SERVER_STATUS=https://auth-status-ssl.musbe.net

#
# The path of the root certificate file used to ensure a secure
# communication with the authentication servers in SSL mode.
# If not specified, will use musbe-ca.crt found in your
# phpMyAdmin/libraries/auth/swekey.
#

#CA_FILE=/var/http-root/phpmyadmin/libraries/auth/swekey/musbe-ca.crt

#
# If your server receives many login requests, you can enable the random
# token caching to accelerate the authentication process.
# Token caching is enabled by default.
#

#ENABLE_TOKEN_CACHE=0
hsjhthuhvjhx}rl(jj*Xshrmrn}robh|]jjhz]h{]UsourceXM/mnt/autrexfs/phpmyadmin/release/phpMyAdmin-4.5.2/examples/swekey.sample.confh}]h~]uhMghhhm]rphX# This is a typical file used to enable Swekey hardware authentication.
#
# To activate the Swekey authentication add the following line to your config.inc.php file.
#       $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
# Then rename this file "swekey-pma.conf" and copy it to the /etc directory.
# Add all the Swekey ids you want to grant access to in the file.
# After each Swekey id put the corresponding user name.
#
# If you don't know the id of a Swekey just visit http://www.swekey.com?sel=support
# while your Swekey is connected.
#
# If you need to purchase a Swekey please visit https://www.phpmyadmin.net/auth_key/
# since this link provides funding to PhpMyAdmin.
#

0000000000000000000000000000763A:root
000000000000000000000000000089E4:steve
0000000000000000000000000000231E:scott

#
# It is recommended to include the following lines to contact the
# authentication servers in SSL mode.
#

SERVER_CHECK=https://auth-check-ssl.musbe.net
SERVER_RNDTOKEN=https://auth-rnd-gen-ssl.musbe.net
SERVER_STATUS=https://auth-status-ssl.musbe.net

#
# The path of the root certificate file used to ensure a secure
# communication with the authentication servers in SSL mode.
# If not specified, will use musbe-ca.crt found in your
# phpMyAdmin/libraries/auth/swekey.
#

#CA_FILE=/var/http-root/phpmyadmin/libraries/auth/swekey/musbe-ca.crt

#
# If your server receives many login requests, you can enable the random
# token caching to accelerate the authentication process.
# Token caching is enabled by default.
#

#ENABLE_TOKEN_CACHE=0
rqrr}rs(hrUhsjjubaubj)rt}ru(hrX::config:option:`$cfg['Servers'][$i]['auth_swekey_config']`rvhsjhthuhvjhx}rw(h|]h}]h{]hz]h~]uhNhhhm]rxh)ry}rz(hrjvhsjththuhvhhx}r{(h|]h}]h{]hz]h~]uhMjhm]r|(j)r}}r~(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX)$cfg['Servers'][$i]['auth_swekey_config']rUindex-26rjtr(jX?configuration option; $cfg['Servers'][$i]['auth_swekey_config']jjtreuhsjyhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjyhm]hvhwubh)r}r(hrjvhsjyhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhMjhm]rj	)r}r(hrjvhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX)$cfg['Servers'][$i]['auth_swekey_config']rr}r(hrUhsjubahvjubaubeubaubeubeubh)r}r(hrUhshhthuhvhhx}r(h|]h}]h{]hz]rh\ah~]rh$auhMnhhhm]r(h)r}r(hrX%Securing your phpMyAdmin installationrhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMnhhhm]rhX%Securing your phpMyAdmin installationrr}r(hrjhsjubaubh)r}r(hrXThe phpMyAdmin team tries hard to make the application secure, however there
are always ways to make your installation more secure:rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMphhhm]rhXThe phpMyAdmin team tries hard to make the application secure, however there
are always ways to make your installation more secure:rr}r(hrjhsjubaubj)r}r(hrUhsjhthuhvjhx}r(jX*hz]h{]h|]h}]h~]uhMshhhm]r(j)r}r(hrXeRemove the ``setup`` directory from phpMyAdmin, you will probably not
use it after the initial setup.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXeRemove the ``setup`` directory from phpMyAdmin, you will probably not
use it after the initial setup.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMshm]r(hXRemove the rr}r(hrXRemove the hsjubj	)r}r(hrX	``setup``hx}r(h|]h}]h{]hz]h~]uhsjhm]rhXsetuprr}r(hrUhsjubahvjubhXQ directory from phpMyAdmin, you will probably not
use it after the initial setup.rr}r(hrXQ directory from phpMyAdmin, you will probably not
use it after the initial setup.hsjubeubaubj)r}r(hrXhProperly choose an authentication method - :ref:`cookie`
is probably the best choice for shared hosting.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXhProperly choose an authentication method - :ref:`cookie`
is probably the best choice for shared hosting.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMuhm]r(hX+Properly choose an authentication method - rr}r(hrX+Properly choose an authentication method - hsjubh)r}r(hrX
:ref:`cookie`rhsjhthuhvhhx}r(UreftypeXrefhhXcookieU	refdomainXstdrhz]h{]Urefexplicith|]h}]h~]hhuhMuhm]rh)r}r(hrjhx}r(h|]h}]r(hjXstd-refreh{]hz]h~]uhsjhm]rhXcookierr}r(hrUhsjubahvhubaubhX0
is probably the best choice for shared hosting.rr}r(hrX0
is probably the best choice for shared hosting.hsjubeubaubj)r}r(hrXIn case you don't want all MySQL users to be able to access
phpMyAdmin, you can use :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` to limit them.hsjhthuhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]rh)r}r(hrXIn case you don't want all MySQL users to be able to access
phpMyAdmin, you can use :config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']` to limit them.hsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMwhm]r(hXTIn case you don't want all MySQL users to be able to access
phpMyAdmin, you can use rr}r(hrXTIn case you don't want all MySQL users to be able to access
phpMyAdmin, you can use hsjubj)r}r(hrUhx}r(hz]h{]h|]h}]h~]j]r((jX)$cfg['Servers'][$i]['AllowDeny']['rules']rUindex-27rjtr(jX?configuration option; $cfg['Servers'][$i]['AllowDeny']['rules']jjtreuhsjhm]hvjubho)r}r(hrUhx}r(h|]h}]h{]hz]rjah~]uhsjhm]hvhwubh)r}r(hrX::config:option:`$cfg['Servers'][$i]['AllowDeny']['rules']`rhsjhthuhvhhx}r(UreftypeXoptionhhjU	refdomainXconfigrhz]h{]Urefexplicith|]h}]h~]hhuhMwhm]rj	)r}r(hrjhx}r(h|]h}]r(hjX
config-optionreh{]hz]h~]uhsjhm]rhX)$cfg['Servers'][$i]['AllowDeny']['rules']rr}r(hrUhsjubahvjubaubhX to limit them.r	r
}r(hrX to limit them.hsjubeubaubj)r}r
(hrXConsider hiding phpMyAdmin behind an authentication proxy, so that
users need to authenticate prior to providing MySQL credentials
to phpMyAdmin. You can achieve this by configuring your web server to request
HTTP authentication. For example in Apache this can be done with:

.. code-block:: apache

   AuthType Basic
   AuthName "Restricted Access"
   AuthUserFile /usr/share/phpmyadmin/passwd
   Require valid-user

Once you have changed the configuration, you need to create a list of users which
can authenticate. This can be done using the :program:`htpasswd` utility:

.. code-block:: sh

   htpasswd -c /usr/share/phpmyadmin/passwd username
hsjhtNhvjhx}r(h|]h}]h{]hz]h~]uhNhhhm]r(h)r}r(hrXConsider hiding phpMyAdmin behind an authentication proxy, so that
users need to authenticate prior to providing MySQL credentials
to phpMyAdmin. You can achieve this by configuring your web server to request
HTTP authentication. For example in Apache this can be done with:rhsjhthuhvhhx}r(h|]h}]h{]hz]h~]uhMyhm]rhXConsider hiding phpMyAdmin behind an authentication proxy, so that
users need to authenticate prior to providing MySQL credentials
to phpMyAdmin. You can achieve this by configuring your web server to request
HTTP authentication. For example in Apache this can be done with:rr}r(hrjhsjubaubj)r}r(hrXhAuthType Basic
AuthName "Restricted Access"
AuthUserFile /usr/share/phpmyadmin/passwd
Require valid-userhsjhthuhvjhx}r(jjXapachejjhz]h{]h|]h}]h~]uhM~hm]rhXhAuthType Basic
AuthName "Restricted Access"
AuthUserFile /usr/share/phpmyadmin/passwd
Require valid-userrr}r(hrUhsjubaubh)r}r (hrXOnce you have changed the configuration, you need to create a list of users which
can authenticate. This can be done using the :program:`htpasswd` utility:hsjhthuhvhhx}r!(h|]h}]h{]hz]h~]uhMhm]r"(hXOnce you have changed the configuration, you need to create a list of users which
can authenticate. This can be done using the r#r$}r%(hrXOnce you have changed the configuration, you need to create a list of users which
can authenticate. This can be done using the hsjubj")r&}r'(hrX:program:`htpasswd`hx}r((h|]h}]r)j'ah{]hz]h~]uhsjhm]r*hXhtpasswdr+r,}r-(hrUhsj&ubahvj,ubhX	 utility:r.r/}r0(hrX	 utility:hsjubeubj)r1}r2(hrX1htpasswd -c /usr/share/phpmyadmin/passwd usernamehsjhthuhvjhx}r3(jjXshjjhz]h{]h|]h}]h~]uhMhm]r4hX1htpasswd -c /usr/share/phpmyadmin/passwd usernamer5r6}r7(hrUhsj1ubaubeubj)r8}r9(hrXIf you are afraid of automated attacks, enabling Captcha by
:config:option:`$cfg['CaptchaLoginPublicKey']` and
:config:option:`$cfg['CaptchaLoginPrivateKey']` might be an option.hsjhthuhvjhx}r:(h|]h}]h{]hz]h~]uhNhhhm]r;h)r<}r=(hrXIf you are afraid of automated attacks, enabling Captcha by
:config:option:`$cfg['CaptchaLoginPublicKey']` and
:config:option:`$cfg['CaptchaLoginPrivateKey']` might be an option.hsj8hthuhvhhx}r>(h|]h}]h{]hz]h~]uhMhm]r?(hX<If you are afraid of automated attacks, enabling Captcha by
r@rA}rB(hrX<If you are afraid of automated attacks, enabling Captcha by
hsj<ubj)rC}rD(hrUhx}rE(hz]h{]h|]h}]h~]j]rF((jX$cfg['CaptchaLoginPublicKey']rGUindex-28rHjGtrI(jX3configuration option; $cfg['CaptchaLoginPublicKey']jHjGtrJeuhsj<hm]hvjubho)rK}rL(hrUhx}rM(h|]h}]h{]hz]rNjHah~]uhsj<hm]hvhwubh)rO}rP(hrX.:config:option:`$cfg['CaptchaLoginPublicKey']`rQhsj<hthuhvhhx}rR(UreftypeXoptionhhjGU	refdomainXconfigrShz]h{]Urefexplicith|]h}]h~]hhuhMhm]rTj	)rU}rV(hrjQhx}rW(h|]h}]rX(hjSX
config-optionrYeh{]hz]h~]uhsjOhm]rZhX$cfg['CaptchaLoginPublicKey']r[r\}r](hrUhsjUubahvjubaubhX and
r^r_}r`(hrX and
hsj<ubj)ra}rb(hrUhx}rc(hz]h{]h|]h}]h~]j]rd((jX$cfg['CaptchaLoginPrivateKey']reUindex-29rfjetrg(jX4configuration option; $cfg['CaptchaLoginPrivateKey']jfjetrheuhsj<hm]hvjubho)ri}rj(hrUhx}rk(h|]h}]h{]hz]rljfah~]uhsj<hm]hvhwubh)rm}rn(hrX/:config:option:`$cfg['CaptchaLoginPrivateKey']`rohsj<hthuhvhhx}rp(UreftypeXoptionhhjeU	refdomainXconfigrqhz]h{]Urefexplicith|]h}]h~]hhuhMhm]rrj	)rs}rt(hrjohx}ru(h|]h}]rv(hjqX
config-optionrweh{]hz]h~]uhsjmhm]rxhX$cfg['CaptchaLoginPrivateKey']ryrz}r{(hrUhsjsubahvjubaubhX might be an option.r|r}}r~(hrX might be an option.hsj<ubeubaubeubeubeubehrUUtransformerrNU
footnote_refsr}rUrefnamesr}r(X,validating other keys on your public keyring]rjaaXmarc's key links to linus's key]rjmauUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU	citationsr]rhhUcurrent_linerNUtransform_messagesr]r(cdocutils.nodes
system_message
r)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineKUtypeUINFOruhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX+Hyperlink target "setup" is not referenced.rr}r(hrUhsjubahvhubahvUsystem_messagerubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineKZUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX3Hyperlink target "quick-install" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineKUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX-Hyperlink target "index-0" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineKUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX2Hyperlink target "setup-script" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineKUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX,Hyperlink target "verify" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMXUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX-Hyperlink target "index-1" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMYUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX3Hyperlink target "linked-tables" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMhUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX-Hyperlink target "index-2" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX-Hyperlink target "index-3" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX-Hyperlink target "index-4" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]r	hX/Hyperlink target "upgrading" is not referenced.r
r}r(hrUhsjubahvhubahvjubj)r
}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsj
hm]rhX-Hyperlink target "index-5" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX:Hyperlink target "authentication-modes" is not referenced.r r!}r"(hrUhsjubahvhubahvjubj)r#}r$(hrUhx}r%(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]r&h)r'}r((hrUhx}r)(h|]h}]h{]hz]h~]uhsj#hm]r*hX-Hyperlink target "index-6" is not referenced.r+r,}r-(hrUhsj'ubahvhubahvjubj)r.}r/(hrUhx}r0(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]r1h)r2}r3(hrUhx}r4(h|]h}]h{]hz]h~]uhsj.hm]r5hX-Hyperlink target "index-7" is not referenced.r6r7}r8(hrUhsj2ubahvhubahvjubj)r9}r:(hrUhx}r;(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]r<h)r=}r>(hrUhx}r?(h|]h}]h{]hz]h~]uhsj9hm]r@hX-Hyperlink target "index-8" is not referenced.rArB}rC(hrUhsj=ubahvhubahvjubj)rD}rE(hrUhx}rF(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rGh)rH}rI(hrUhx}rJ(h|]h}]h{]hz]h~]uhsjDhm]rKhX-Hyperlink target "index-9" is not referenced.rLrM}rN(hrUhsjHubahvhubahvjubj)rO}rP(hrUhx}rQ(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rRh)rS}rT(hrUhx}rU(h|]h}]h{]hz]h~]uhsjOhm]rVhX,Hyperlink target "cookie" is not referenced.rWrX}rY(hrUhsjSubahvhubahvjubj)rZ}r[(hrUhx}r\(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]r]h)r^}r_(hrUhx}r`(h|]h}]h{]hz]h~]uhsjZhm]rahX.Hyperlink target "index-10" is not referenced.rbrc}rd(hrUhsj^ubahvhubahvjubj)re}rf(hrUhx}rg(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rhh)ri}rj(hrUhx}rk(h|]h}]h{]hz]h~]uhsjehm]rlhX.Hyperlink target "index-11" is not referenced.rmrn}ro(hrUhsjiubahvhubahvjubj)rp}rq(hrUhx}rr(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rsh)rt}ru(hrUhx}rv(h|]h}]h{]hz]h~]uhsjphm]rwhX1Hyperlink target "auth-signon" is not referenced.rxry}rz(hrUhsjtubahvhubahvjubj)r{}r|(hrUhx}r}(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]r~h)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsj{hm]rhX.Hyperlink target "index-12" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-13" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-14" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM$Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-15" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM-Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-16" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM-Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-17" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM-Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-18" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM-Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-19" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM4Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-20" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM8Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-21" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM8Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-22" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM?Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-23" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineM?Utypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX.Hyperlink target "index-24" is not referenced.rr}r	(hrUhsjubahvhubahvjubj)r
}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMKUtypejuhm]r
h)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsj
hm]rhX.Hyperlink target "index-25" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r}r(hrUhx}r(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMLUtypejuhm]rh)r}r(hrUhx}r(h|]h}]h{]hz]h~]uhsjhm]rhX,Hyperlink target "swekey" is not referenced.rr}r(hrUhsjubahvhubahvjubj)r }r!(hrUhx}r"(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMjUtypejuhm]r#h)r$}r%(hrUhx}r&(h|]h}]h{]hz]h~]uhsj hm]r'hX.Hyperlink target "index-26" is not referenced.r(r)}r*(hrUhsj$ubahvhubahvjubj)r+}r,(hrUhx}r-(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMwUtypejuhm]r.h)r/}r0(hrUhx}r1(h|]h}]h{]hz]h~]uhsj+hm]r2hX.Hyperlink target "index-27" is not referenced.r3r4}r5(hrUhsj/ubahvhubahvjubj)r6}r7(hrUhx}r8(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]r9h)r:}r;(hrUhx}r<(h|]h}]h{]hz]h~]uhsj6hm]r=hX.Hyperlink target "index-28" is not referenced.r>r?}r@(hrUhsj:ubahvhubahvjubj)rA}rB(hrUhx}rC(h|]UlevelKhz]h{]Usourcehuh}]h~]UlineMUtypejuhm]rDh)rE}rF(hrUhx}rG(h|]h}]h{]hz]h~]uhsjAhm]rHhX.Hyperlink target "index-29" is not referenced.rIrJ}rK(hrUhsjEubahvhubahvjubeUreporterrLNUid_startrMKU
autofootnotesrN]rOU
citation_refsrP}rQUindirect_targetsrR]rSUsettingsrT(cdocutils.frontend
Values
rUorV}rW(Ufootnote_backlinksrXKUrecord_dependenciesrYNUrfc_base_urlrZUhttp://tools.ietf.org/html/r[U	tracebackr\Upep_referencesr]NUstrip_commentsr^NU
toc_backlinksr_Uentryr`U
language_coderaUenrbU	datestamprcNUreport_levelrdKU_destinationreNU
halt_levelrfKU
strip_classesrgNhNUerror_encoding_error_handlerrhUbackslashreplaceriUdebugrjNUembed_stylesheetrkUoutput_encoding_error_handlerrlUstrictrmU
sectnum_xformrnKUdump_transformsroNU
docinfo_xformrpKUwarning_streamrqNUpep_file_url_templaterrUpep-%04drsUexit_status_levelrtKUconfigruNUstrict_visitorrvNUcloak_email_addressesrwUtrim_footnote_reference_spacerxUenvryNUdump_pseudo_xmlrzNUexpose_internalsr{NUsectsubtitle_xformr|Usource_linkr}NUrfc_referencesr~NUoutput_encodingrUutf-8rU
source_urlrNUinput_encodingrU	utf-8-sigrU_disable_configrNU	id_prefixrUU	tab_widthrKUerror_encodingrUANSI_X3.4-1968rU_sourcerhuUgettext_compactrU	generatorrNUdump_internalsrNUsmart_quotesrUpep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjmUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU
_config_filesr]Ufile_insertion_enabledrUraw_enabledrKU
dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hQjhljh>jYhfjhGjhAjbjHjKhEj<jjjjh[j#	hSj
j|jhgjjj?jBhNjWhHjhJjjjhVjjjhLjjjhTj	hMjpj	j	j8j;hCjzh^j.j	j#	h_j%j	j	jjjjjjj!j$j	j	j
j
hXjh?jj
j
hdjhRjjjhajhBjhZjhUjJhOj#	hWj
hFjj3
j6
hYjrh@jPhIjzh]j+hPjjfjihbj
h`hjZj]jQ
jT
hchhjjbhej*jjj
jj
j
j
j
hKjjjjjhijh\jhkjhhjAhDjuUsubstitution_namesr}rhvhhx}r(h|]hz]h{]Usourcehuh}]h~]uU	footnotesr]rUrefidsr}r(hQ]rjahk]rjahH]rjahL]rjahc]rhpaj
]rj

ahA]rj_ahB]rjaj
]rj
aj|]rj~aj	]rj	ahO]rj	aj]rjaj]rjahW]rj
ahI]rjwaj	]rj	aj
]rj
auub.
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`