Skip to main content

Instalando LAMPP en Linux Debian 10 buster sobre VPS

En este tutorial veremos como instalar lampp (Linux, Apache, MariaDB, PHP y Phpmyadmin) en linux Debian 10 buster, ideal para entornos de desarollo o produción.

Prerrequisitos para la instalación

Para seguir este tutorial, necesita un sistema operativo Debian 10 que se ejecute en su computadora local o en un servidor remoto (vps).

Si está buscando un VPS (Servidor Privado Virtual), puede usar digitalocean

Acontinuacion veremos los pasos necesario para poder instalar de manera satisfactoria nuestro LAMPP.

Paso 1: actualice los paquetes de software

Antes de instalar LAMPP, es una buena idea actualizar el repositorio y los paquetes de software. Ejecute el siguiente comando en su sistema operativo Debian 10 si usa un usario diferente al root debera anteponer el termino sudo antes de cada comando, para este tutorial asumimos que esta accediendo a la terminal como usuario root.

apt update
apt upgrade

Paso 2: Instale el servidor de base de datos MariaDB

MariaDB es un reemplazo directo de MySQL. Ingrese el siguiente comando para instalarlo en Debian 10.

apt install mariadb-server mariadb-client

Una vez instalado, el servidor MariaDB debería iniciarse automáticamente. Utilice systemctl para comprobar su estado.

systemctl status mariadb

Debera mostrar algo parecido:

mariadb.service - MariaDB 10.3.23 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-08-15 21:09:30 UTC; 9s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 1679 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 1168)
   Memory: 74.6M
   CGroup: /system.slice/mariadb.service
           └─1679 /usr/sbin/mysqld

Si no se está ejecutando, inícielo con este comando:

systemctl start mariadb

Ahora ejecute el script de seguridad posterior a la instalación.

mysql_secure_installation

Cuando le pida que ingrese la contraseña de root de MariaDB, presione la tecla Enter ya que la contraseña de root aún no está configurada. Luego ingrese y para establecer la contraseña de root para el servidor MariaDB y con eso ya tendra congifurada la contraseña.

De forma predeterminada, el paquete MaraiDB en Debian usa unix_socket para autenticar el inicio de sesión del usuario, lo que básicamente significa que puede usar el nombre de usuario y la contraseña del sistema operativo para iniciar sesión en la consola MariaDB. Por lo tanto, puede ejecutar el siguiente comando para iniciar sesión sin proporcionar la contraseña de root de MariaDB.

Paso 3: Instale el servidor web Apache

Ingrese el siguiente comando para instalar el servidor web Apache. El apache2-utils paquete instalará algunas utilidades útiles, como la herramienta de evaluación comparativa del servidor HTTP Apache ab y la herramienta de gestión de autenticación de usuarios htpasswd.

apt install apache2 apache2-utils

Una vez instalado, Apache debería iniciarse automáticamente. Compruebe su estado con systemctl.

systemctl apache2

Deberia algo asi:

apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2020-08-15 21:11:05 UTC; 11s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 17962 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 2445 (apache2)
    Tasks: 55 (limit: 545)
   Memory: 8.8M
   CGroup: /system.slice/apache2.service
           ├─2445 /usr/sbin/apache2 -k start
           ├─2447 /usr/sbin/apache2 -k start
           └─2448 /usr/sbin/apache2 -k start

Si no se está ejecutando, use systemctl para iniciarlo.

systemctl start apache2

Paso 4: Instale PHP7.3

En el momento de escribir este artículo, PHP7.3 es la última versión estable de PHP y tiene una pequeña mejora de rendimiento con respecto a versiones anteriores. Ingrese el siguiente comando para instalar:

apt install php php-imagick php-phpseclib php-php-gettext php-common php-mysql php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp php-bcmath php-tokenizer

Reiniciamos apache

systemctl restart apache2

Verifique la información de la versión de PHP.

php --version

Paso 5: descargue phpMyAdmin

phpMyAdmin no está incluido en el repositorio de software de Debian 10, por lo que tenemos que descargar el software manualmente. Vaya a la página de descarga de phpMyAdmin para verificar la última versión estable para este tutorial usaremos la versión 4.9.5. Luego ejecute el siguiente comando para descargarlo.

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.zip

Sugerencia: siempre puede usar el formato de URL anterior para descargar la última versión estable de phpMyAdmin. Simplemente reemplace 4.9.5 con el número de versión más reciente.

Instalmos unzip para descomprimir phpmyadmin

apt install unzip

Descomprimimos el archivo

unzip phpMyAdmin-4.9.5-all-languages.zip

Movemos phpmyadmin a un nuevo directorio por lo general se recomineda instalarlo en el directorio /usr/share/phpmyadmin

mv phpMyAdmin-4.9.5-all-languages /usr/share/phpmyadmin

Luego, hacemos que el usuario del servidor web ( www-data) sea el propietario de este directorio.

chown -R www-data:www-data /usr/share/phpmyadmin

Paso 6: Cree una base de datos MariaDB y un usuario para phpMyAdmin

Ahora necesitamos iniciar sesión en la consola MariaDB y crear una base de datos y un usuario para phpMyAdmin

mysql -u root

A continuación, cree una nueva base de datos para phpMyAdmin usando el siguiente comando SQL. Este tutorial lo nombra phpmyadmin, puede usar el nombre que desee para la base de datos.

CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

El siguiente comando SQL creará el phpmyadminusuario de la base de datos y establecerá una contraseña, y al mismo tiempo otorgará todos los permisos de la nueva base de datos al nuevo usuario para que luego phpMyAdmin pueda escribir en la base de datos. Reemplace el texto tu contraseña con su contraseña preferida.

GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'tu contraseña';

Refrescamos la tabla de privilegios y salimos de la consola MariaDB.

flush privileges;
exit;

Paso 7: Cree la configuración de Apache para phpMyAdmin

Para acceder a la interfaz web phpMyAdmin desde un subdirectorio, creamos un archivo de configuración en apache con el siguiente comando.

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

Descargue el archivo phpmyadmin.conf

Guarde y cierre el archivo. Luego habilite esta configuración.

a2enconf phpmyadmin.conf

Reiniciamos apache para que los cambios surtan efecto.

systemctl restart apache2

Creamos un archivo temporal para phpmyadmin

mkdir -p /var/lib/phpmyadmin/tmp

Luego, hacemos que el usuario del servidor web ( www-data) sea el propietario de este directorio.

chown www-data:www-data /var/lib/phpmyadmin/tmp

Reiniciamos apache para que los cambios surtan efecto.

systemctl reload apache2

Paso 8: Creamos un usuario para acceder a phpmyadmin

Hasta el momento ya tenemos instalado phpmyadmin pero aun falta hacer algunas cosas más como crear un usuario para acceder a phpmyadmin para ello ingresamos a mysql.

mysql -u root

Creamos un usuario administrador con autenticación de contraseña.

create user admin@localhost identified by 'tu contraseña';

Otorgamos todos los privilegios en todas las bases de datos.

grant all privileges on *.* to admin@localhost with grant option;

Refrescamos los privilegios y salimos de mysql;

flush privileges;
exit;

Ahora puede iniciar sesión en phpMyAmin con el usaurio admin y administrar todas las bases de datos.

Paso 9: Restringir el acceso al directorio / setup

Para restringir el acceso al directorio / setup, podemos habilitar la autenticación de contraseña básica con el servidor web Apache. Ejecute el siguiente comando para establecer una contraseña para el usuario admin/etc/apache2/htpasswd El archivo se utiliza para almacenar nombres de usuario y contraseñas.

htpasswd -c /etc/apache2/htpasswd admin

Luego editamos el archivo de configuración de Apache para phpMyAdmin

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

Agregamos las siguientes líneas.

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/apache2/htpasswd
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

Guardamos y cierre¡amos el archivo. Luego, vuelvemos a cargar Apache para que los cambios surtan efecto.

systemctl reload apache2

Vamos a agregar el hash para blowfish

cd /usr/share/phpmyadmin

creamos una copia del archivo de configuración

cp config.sample.inc.php config.inc.php

Editamos la configuración de la variable $cfg[‘blowfish_secret’]=»; e ingresamos en las comillas simples el codigo hash que podemos obtener de la siguiente página: http://www.passwordtool.hu/blowfish-password-hash-generator

nano config.inc.php

Espero que este tutorial te haya ayudado a instalar LAMPP en Debian 10 Buster. 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.