ubuntu server 18.04En aquesta guia instal·larem i configurarem 'phpMyAdmin' per treballar amb Apache en Ubuntu Server 18.04 LTS (Bionic Beaver). phpMyAdmin és un programari lliure de codi obert, dissenyat per gestionar l'administració i gestió de bases de dades MySQL a través d'una interfície gràfica d'usuari. Escrit en PHP, PHPMyAdmin s'ha convertit en una de les eines de gestió MySQL basades en web més populars.

 
Requisits previs

Heu d'utilitzar un usuari no root amb privilegis sudo, tal com s'explica a Ubuntu 18.04 Configuració inicial del servidor. També haureu de tindre instal·lada la vostra pila LAMP, ja que heu de publicar pàgines web abans de continuar amb aquesta guia. Consulteu Instal·lació d'una pila LAMP (Apatxe, MySQL, PHP) a Ubuntu 18.04.

 

Instal·leu phpMyAdmin

Començarem actualitzant les llistes de paquets i instal·lant phpMyAdmin en Ubuntu 18.04. A continuació tenim dos comandaments separats per &&. El primer comandament actualitzarà les llistes de paquets per garantir que obtingueu l'última versió i dependències de phpMyAdmin. La segona ordre descarregarà i instal·larà phpMyAdmin. Premeu 'S' i 'ENTER' quan se us demane que continueu:

$ sudo apt update && sudo apt install phpmyadmin

Nota: L'ordre de les pantalles següents a la configuració del paquet phpMyAdmin pot variar depenent de la configuració.

  • 1ª Pantalla: Si se us demana que seleccioneu un servidor web, premeu 'SPACE' per col·locar una estrella [*] al costat de 'apache2', després premeu 'TAB' per ressaltar 'OK' i premeu 'ENTER'.
  • 2ª Pantalla: Seleccioneu '<>' i premeu 'ENTER' per instal·lar i configurar la base de dades.
  • 3ª Pantalla: La contrasenya de l'aplicació MySQL només s'utilitza internament per phpMyAdmin per comunicar-se amb MySQL. Podeu deixar-lo en blanc i una contrasenya es generarà automàticament. Només cal que premeu ENTER per a continuar.

 

Prova phpMyAdmin

Ara haureu d'accedir a la interfície web de phpMyAdmin visitant el nom del domini del servidor o l'adreça IP pública seguit de /phpmyadmin, per exemple, http://example.com/phpmyadmin o http://192.168.1.10/phpmyadmin.

Si encara no teniu un nom de domini o no coneixeu la vostra IP, podeu obtenir informació al escriure:

$ sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

Haureu configurat l'usuari root i la contrasenya en instal·lar MySQL per primera vegada. Tanmateix, l'inici de sessió remot es pot deshabilitar per root. Si obteniu l'error "Accés denegat per l'usuari 'root'@'localhost'" (mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'), heu de continuar amb el pas següent (Crea un usuari MySQL) per crear un superusuari només per phpMyAdmin.

 

Crea un usuari MySQL

Si no heu pogut iniciar la sessió com a superusuari root, podeu crear un compte de superusuari només per phpMyAdmin. A la terminal, inicieu sessió a MySQL com a root. És possible que hàgeu creat una contrasenya de root quan instal·leu MySQL per primera vegada, o la contrasenya podria estar en blanc, en aquest cas, podeu prémer ENTER quan se us demane una contrasenya:

$ sudo mysql -p -u root

Ara afegiu un nou usuari de MySQL amb el nom d'usuari que trieu. En aquest exemple, l'anomenem pmauser. Assegureu-vos de reemplaçar la password per la vostra pròpia (generar una contrasenya -> https://passgen.co/).

El símbol % diu a MySQL que aquest usuari puga iniciar sessió des de qualsevol lloc remotament. Si voleu una seguretat més gran, podeu substituir-la per una adreça IP:

CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password';

Ara concedirem privilegis de superusuari al nostre nou usuari pmauser:

GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

Ara sortiu de MySQL:

mysql> exit

Ara hauríeu de poder accedir a phpMyAdmin amb aquest nou compte d'usuari.

Si voleu configurar una seguretat addicional per a phpMyAdmin, continueu amb el següent pas.

 

Obscureu l'URL de phpMyAdmin

Els robots i els atacants analitzen contínuament servidors web per a la pàgina d'inici de sessió predeterminada de phpMyAdmin, per la qual cosa es recomana canviar l'URL a una altra cosa. En aquest exemple, canviarem example.com/phpmyadmin a example.com/pmahidden.

Obriu el fitxer de configuració phpMyAdmin per a Apache utilitzant l'editor de text nano.

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Canvieu l'Alias des de /phpmyadmin a /pmahidden - podeu canviar-ho al que vulgueu.

Original:

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

.  .  .  .  .  .

Modificat:

-Modificat
# phpMyAdmin default Apache configuration

Alias //pmahidden /usr/share/phpmyadmin

.  .  .  .  .  .

Desa i tanca nano (Premeu CTRL+X i, a continuació, premeu s i ENTER per desar els canvis).

Ara cal tornar a carregar el servei Apache perquè els canvis tinguen efecte:

$ sudo service apache2 reload

Ara haureu d'accedir a phpMyAdmin en example.com/pmahidden:

http://example.com/pmahidden/

 

Protegiu amb .htpasswd

Podem protegir encara més la pàgina d'inici de sessió de phpMyAdmin amb .htpasswd . Això afegeix una altra línia de defensa contra robots i pirates informàtics.

Permet reemplaç de .htaccess

Per configurar .htpasswd , primer hem de canviar el fitxer de configuració phpMyadmin Apache. Obriu el fitxer de configuració a l'editor de text nano.

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Afegeix 'AllowOverride All' sota DirectoryIndex index.php. Quedant així:

 <Directory /usr/share/phpmyadmin>
     Options SymLinksIfOwnerMatch
     DirectoryIndex index.php
     AllowOverride All

Desa i tanca nano (Premeu CTRL+X i, a continuació, premeu s i ENTER per desar els canvis). Ara torneu a carregar el servei Apache:

$ sudo service apache2 reload

Configurar .htpasswd

Anem a crear un nou fitxer .htaccess al directori d'instal·lació phpMyAdmin utilitzant l'editor de text nano:

$ sudo nano /usr/share/phpmyadmin/.htaccess

Enganxeu el següent. (Utilitzeu el botó dret del ratolí per enganxar-lo si utilitzeu PuTTY a Windows):

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Desa i tanca nano (Premeu CTRL+X i, a continuació, premeu s i ENTER per desar els canvis).

Ara podem generar el fitxer .htpasswd amb l'eina htpasswd

En aquest exemple, estem creant un nou usuari anomenat pmauser, tot i que podeu canviar això al que vulgueu.

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd pmauser

Se us demanarà que introduïu una nova contrasenya dues vegades (genereu una contrasenya -> https://passgen.co/).

 

Això és tot, ja està! Visiteu phpMyAdmin al vostre navegador i ara se us demanarà que introduïu les dates d'inici de sessió.

 

Font: DevAnswers.co