Chacho Cool net (https://chachocool.com/) Inicio (https://chachocool.com) Contacto (https://chachocool.com/contacto/) Cómo Instalar LAMP en Debian 9 (https://chachocool.com) > Linux (https://chachocool.com/linux/) > Cómo Instalar LAMP en Debian 9 (https://chachocool.com/com Buscar ENTRADAS RELEVANTES Conseguir certificados SSL GRATIS en Debian 9 (https://chachocool.com/com o-conseguir-certificados-sslgratis-en-debian-9/) ¡¡DOMINIOS A 0,88 $!! Cómo Instalar LAMP en Debian 9 chachocool (https://chachocool.com/author/chachocool/) - 1 enero, 2019 Linux (https://chachocool.com/linux/) Sin comentarios (https://chachocool.com/como-instalar-lamp-en-debian-9/#respond) En este tutorial vamos a aprender cómo instalar LAMP en Debian 9 ó, para ser más exactos, cómo crear un servidor con Linux, Apache, MariaDB y PHP para tener la base sobre la que instalar aplicaciones web o alojar sitios gracias a CMS como WordPress. Como versión de Linux ya habrás notado que vamos a usar la última versión de Debian. Partiendo de una nueva instalación básica de Debian 9 si tienes tiempo puedes revisar entradas anteriores para llegar a este resultado: Instalar Apache en Debian (https://chachocool.com/como-instalar-apache-endebian-9-stretch/) Instalar PHP en Debian (https://chachocool.com/como-instalar-php-en-debian-9/) Instalar MariaDB en Debian (https://chachocool.com/como-instalar-mariadb-endebian-9-stretch/) o instalar MySQL en Debian (https://chachocool.com/comoinstalar-mysql-en-debian/) Pero si tienes algo de prisa, en esta entrada tienes la receta completa y resumida. (https://namecheap.pxf.io/c/129 2364/386447/5618) Tabla de contenidos [ocultar] Cómo instalar LAMP en Debian 9 Cómo Instalar Apache, MariaDB y PHP en Debian 9 Estado de los servicios tras la instalación Cómo configurar LAMP en Debian 9 rápida de PHP Este sitio Configuración web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información Configurar rápidamente MariaDB Cómo comprobar el servidor LAMP Debian ACEPTAR Conclusión Para seguir los pasos de este tutorial necesitarás un sistema Debian 9 y un usuario con permisos de root o sudo. Cómo instalar LAMP en Debian 9 Para una instalación sencilla y rápida usaremos los paquetes presentes en los repositorios oficiales de Debian, por lo que el software que instalaremos será Apache, PHP y MariaDB. Si prefirieras MySQL en lugar de MariaDB se necesitan repositorios adicionales, todo lo tienes explicado en la entrada sobre la instalación de MySQL en Debian (https://chachocool.com/como-instalar-mysql-en-debian/). Cómo Instalar Apache, MariaDB y PHP en Debian 9 Los paquetes que necesitaremos para la instalación son apache2, mariadb-server, php y php_mysql. Realmente podríamos instalar sólo mariadb-server y php, ya que apache2 es una dependencia de php, es decir, que se instala automáticamente si no está presente. Empezaremos actualizando el sistema: ~$ sudo apt update && apt -y upgrade Y ya podemos instalar todos los paquetes: ~$ sudo apt install apache2 mariadb-server php phpmysql Estado de los servicios tras la instalación Una vez descargados, desempaquetados e instalados los paquetes y sus dependencias podemos comprobar en qué estado se encuentran los servicios. Veremos que tanto el servicio de Apache como el de MariaDB están iniciados mediante el comando systemctl: ~$ systemctl status apache2 mariadb ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-12-04 21:34:36 CET; 2h 14min ago Process: 9713 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Main PID: 8764 (apache2) Tasks: 7 (limit: 4915) CGroup: /system.slice/apache2.service ├─8764 /usr/sbin/apache2 -k start ├─9718 /usr/sbin/apache2 -k start Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de -k start las mencionadas cookies y├─9719 la aceptación/usr/sbin/apache2 de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información ├─9720 /usr/sbin/apache2 -k start ACEPTAR ├─9721 /usr/sbin/apache2 -k start ├─9722 /usr/sbin/apache2 -k start └─9723 /usr/sbin/apache2 -k start ● mariadb.service - MariaDB 10.1.37 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2018-12-04 21:34:08 CET; 2h 14min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 7889 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 4915) CGroup: /system.slice/mariadb.service └─7889 /usr/sbin/mysqld Курс Основы верстки Онлайн-обучение вёрстке HTML + CSS с нуля. Личный наставник. Оставьте заявку! Anuncio Loftschool Подробнее Ambos servicios no sólo están funcionando, sino que están activados para inciar con el sistema, cada vez que este sea reiniciado. Cómo configurar LAMP en Debian 9 Con los servicios con la configuración por defecto, es necesario realizar algunos pequeños ajustes. En realidad es poca cosa, en unos instantes lo tendremos todo listo. Configuración rápida de PHP Para ajustar la configuración por defecto de PHP para Apache, debemos editar el archivo /etc/php/7.0/apache2/php.ini. Algo que es muy recomendable es ajustar la zona horaria del servidor, a través de la cláusula date.timezone del archivo de configuración. Por defecto no viene configurada ninguna zona: [...] [Date] [...] ;date.timezone = [...] Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información En este ejemplo configuraremos la zona horaria de EspañaACEPTAR peninsular: date.timezone = Europe/Madrid Los valores para cualquier zona horaria que necesites los puedes encontrar en http://php.net/manual/es/timezones.php (http://php.net/manual/es/timezones.php). Información sobre errores La configuración por defecto de PHP en cuanto a información de errores del código de las aplicaciones web está orientada a entornos de producción. Esto significa que cuando PHP encuentra un error en una aplicación la detiene sin informar en el navegador sobre qué está ocurriendo. Un comportamiento así es el adecuado para un servidor de producción, pero para un servidor de desarrollo preferiremos que PHP nos ayude a depurar los errores con mensajes de error. Sólo si el servidor LAMP que estás preparando es para pruebas o desarrollo y quieres obtener los posibles mensajes de error en el navegador, buscaremos las siguientes cláusulas en /etc/php/7.0/apache2/php.ini y cambiaremos sus valores por los que te muestro en este ejemplo: [...] error_reporting = E_ALL [...] display_errors = On [...] display_startup_errors = On [...] Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información ACEPTAR Después de hacer cualquier cambio en la configuración de PHP hay que recargar la configuración de Apache manualmente: ~$ sudo systemctl reload apache2 Comprobación rápida del funcionamiento de PHP Si a estas alturas no puedes esperar a ver si PHP y Apache están correctamente integrados, lo comprobaremos con un pequeño script de PHP, que guardaremos, por ejemplo, en /var/www/html/info.php: <?php phpinfo(); Como la raíz de documentos web de Apache se encuentra por defecto en /var/www/html/ este archivo info.php será accesible desde direcciones como http://localhost/info.php, http://127.0.0.1/info.php o desde el exterior del servidor mediante su dirección IP o nombre de dominio cualificado (si lo tiene) añadiendo /info.php: Servidor web Apache con PHP funcionando correctamente Configurar rápidamente MariaDB La configuración por defecto de MariaDB viene sin usuarios anónimos y sin bases de datos de pruebas, pero el usuario root no tiene contraseña, por lo que es importante asignarle una. El problema es que el usuario root viene configurado con el plugin de autenticación unix_socket, por lo que mientras no lo desactivemos no conseguiremos que MariaDB solicite la contraseña o la tenga en cuenta. Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de En primer lugar desactivaremos plugin unix_socket para el usuario root. las mencionadas cookies y la aceptación deel nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información Conectaremos al servicio MariaDB con el cliente mysql: ACEPTAR How to fix bunions without surgery with this fashionable sandals. Watch how it… How to fix bunions without surgery with this fashionable sandals. Watch how it works. Anuncio 5econds Shop Now ~$ sudo mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. > use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed > update user set plugin = '' where User='root'; Query OK, 1 row affected (0.07 sec) Rows matched: 1 Changed: 1 Warnings: 0 > set password for 'root'@'localhost' = password('rootpassword'); Query OK, 0 rows affected, 1 warning (0.00 sec) > flush privileges; Query OK, 0 rows affected (0.01 sec) > exit Bye ~$ ADIB™ Personal Finance - Finance Solutions For Everyone Instant Processing, First Instalment Payment Grace Period Up To 90 Days. Anuncio adib.ae Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información Learn more ACEPTAR Hemos accedido como root sin contraseña, hemos desactivado el plugin unix_socket y hemos asignado una contraseña para root. A partir de este momento no es posible acceder como root si no se especifica la contraseña: ~$ mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 33 Server version: 10.1.37-MariaDB-0+deb9u1 Debian 9.6 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> Solucionado este posible problema con la seguridad, continuamos. Para comprobar que PHP puede trabajar con bases de datos MariaDB, vamos a crear una base y un usuario de pruebas en MariaDB que posteriormente emplearemos en un pequeño script PHP. Conectamos a MariaDB Server con el cliente de consola mysql y creamos la base, el usuario y los permisos de este sobre la base: > create database pruebas; Query OK, 1 row affected (0.01 sec) > create user usuario@localhost identified by '1234'; Query OK, 0 rows affected (0.01 sec) > grant all privileges on pruebas.* to usuario@localhost; Query OK, 0 rows affected (0.00 sec) > flush privileges; Query OK, 0 rows affected (0.01 sec) > exit Bye ~$ Ya tenemos todo configurado y listo para probarlo. Cómo comprobar el servidor LAMP Debian Para comprobar que todos los elementos de nuestro servidor LAMP Debian encajan unos con otros, escribiremos un pequeño archivo PHP para testear el funcionamiento. Lo podemos crear en una ruta fácilmente accesible desde el navegador, como /var/www/html/test.php, con el siguiente contenido: Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información <?php ACEPTAR $enlace = mysqli_connect("127.0.0.1", "usuario", "1234", "pruebas"); if (!$enlace) { echo "Error: No se pudo conectar a MySQL." . PHP_EOL; echo "errno de depuración: " . mysqli_connect_errno() . PHP_EOL; echo "error de depuración: " . mysqli_connect_error() . PHP_EOL; exit; } echo "<h1>Éxito: ¡Se realizó una conexión apropiada a MySQL!</h1>" . PHP_EOL; echo "<h2>Información del host: " . mysqli_get_host_info($enlace) . "</h2>" . PHP_EOL; mysqli_close($enlace); ADIB™ Be moneysmart Open your smartaccount today and Increase your chances of winning T&Cs apply Anuncio ADIB™ Learn more Hemos empleado los datos de conexión del ejemplo anterior. Si has creado una base y un usuario distintos, cámbialos en el script PHP. Al introducir la URL correspondiente en el navegador veremos algo como esto: Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información ACEPTAR Comprobación del funcionamiento del nuevo servidor LAMP en Debian 9 Y si obtenemos esta pantalla en lugar de un mensaje de error, es que todo ha funcionado como esperábamos. Ya estamos listos para empezar a desarrollar nuestras aplicaciones web o a instalar un CMS como WordPress, por ejemplo. Conclusión Ahora que ya sabes cómo instalar LAMP en Debian 9 estás listo para desarrollar aplicaciones complejas basadas en frameworks como Yii, CodeIgniter, etc. o instalar CMS como WordPress y similares. Un servidor LAMP siempre es el cimiento sobre el que se basan estos sistemas, por lo que es interesante saber desplegarlo de forma rápida y eficaz. Es cierto que existen paquetes «todo en uno» que realizan estas tareas de forma más automatizada, pero muchos preferimos conocer cómo funciona cada pieza del sistema y cómo configurarla de forma específica. Si te ha quedado alguna duda, o tienes preguntas o sugerencias sobre nuevos artículos, déjame un mensaje. Y si has encontrado verdaderamente útil este artículo, ¡siempre puedes invitarme a un café (https://buymeacoff.ee/XQEk1eGFa)! (https://buymeacoff.ee/XQEk1eGFa) (5 votos, promedio: 5,00 de 5) TAGS: APACHE (HTTPS://CHACHOCOOL.COM/TAG/APACHE/), DEBIAN (HTTPS://CHACHOCOOL.COM/TAG/DEBIAN/), MYSQL (HTTPS://CHACHOCOOL.COM/TAG/MYSQL/), PHP Este(HTTPS://CHACHOCOOL.COM/TAG/PHP/) sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (https://chachocool.com/politica-de-cookies/), pinche el enlace para mayor información ACEPTAR Deja un comentario Tu comentario aquí... Nombre (obligatorio) Correo electrónico (ob Sitio web PUBL I C A R COMENTARIO Aviso legal (https://chachocool.com/aviso-legal/) | Política de privacidad (https://chachocool.com/politica-deprivacidad/) | Política de cookies (https://chachocool.com/politica-de-cookies/)