Ubuntu Server LAMP | Rápido y detallado paso a paso

Ubuntu Server LAMP sera tu entrada a los sistemas web y en este articulo rápido y detallado te guiare paso a paso en como instalarlo y configurarlo en un servidor Ubuntu Server Bionic Beaver.

Que significa LAMP

Son las siglas o iniciales de Linux Apache MySQL/MariaDB PHP. Estos cuatro bloques en conjunto permiten crear un sistema o aplicación web en tu servidor.

Aunque se puede instalar en una estación de trabajo, lo recomendable es que sea en un servidor optimizado para esto para así poder ejecutarlo correctamente en producción.

En este Ubuntu LAMP Stack Tutorial en español veras que no es completo instalar todo y dejarlo listo para publicar tus proyectos web.

Cada modulo es importante porque todo es como un rompecabezas tecnológico que encaja en su puesto y tiene su misión. Comenzamos?

Requerimientos instalación Ubuntu Server LAMP

  • Linux Ubuntu Server actualizado a la fecha
  • IP fija (static) configurada
  • Conectividad a internet

Linux Ubuntu Server LAMP | Rápido y detallado paso a paso

-Abrimos una consola en nuestro servidor linux y ejecutamos el siguiente comando para instalar dependencias. En esta caso instalaremos Apache2, MariaDB y algunos módulos PHP 7.2.

También te lo muestro en vídeo mas abajo.

sudo apt install mariadb-server mariadb-client apache2 php7.2 libapache2-mod-php7.2 php7.2-mysql php7.2-curl php7.2-json php7.2-cgi php-pear php7.2-gd php-apcu

-Los anteriores módulos PHP podría decirse que son los mas usados o populares pero en caso dado de necesitar otros la forma mas sencilla de listar todos los disponibles para instalar desde linea de comandos y su función podemos verlo por medio del siguiente comando.

Ya con esto es muy sencillo copiar el nombre del modulo que necesitas e instalarlo como los anteriores.

apt-cache search php7.2
php-all-dev - package depending on all supported PHP development packages
php7.2 - server-side, HTML-embedded scripting language (metapackage)
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-gd - GD module for PHP
php7.2-gmp - GMP module for PHP
php7.2-json - JSON module for PHP
php7.2-ldap - LDAP module for PHP
php7.2-mysql - MySQL module for PHP
php7.2-odbc - ODBC module for PHP
php7.2-opcache - Zend OpCache module for PHP
php7.2-pgsql - PostgreSQL module for PHP
..

Activamos Apache 2 en Linux Ubuntu Server

-Activamos Apache 2 para que se ejecute automáticamente al hacer boot nuestro servidor linux y lo ejecutamos.
sudo systemctl enable apache2
sudo systemctl start apache2

-Verificamos el servicio apache 2 este ejecutándose correctamente.
sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Thu 2018-05-24 22:33:02 UTC; 38min ago
Main PID: 15604 (apache2)
Tasks: 6 (limit: 1113)
CGroup: /system.slice/apache2.service
├─15604 /usr/sbin/apache2 -k start
├─15610 /usr/sbin/apache2 -k start
├─15611 /usr/sbin/apache2 -k start
├─15612 /usr/sbin/apache2 -k start
├─15613 /usr/sbin/apache2 -k start
└─15614 /usr/sbin/apache2 -k start

-Abrimos un browser (navegador) en otro equipo desde donde se pueda acceder a nuestro Ubuntu Server LAMP y navegamos a su IP.

Nos debe responder la pagina de Apache.

Puerto utilizado: 80/tcp

Aseguramos instalación de MariaDB Ubuntu Server

-Aseguramos nuestra instalación de MariaDB colocándole contraseña a la cuenta root de MariaDB.

Solo escribimos la contraseña y las demás preguntas las dejamos con el valor default presionando Enter.

sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <—Nuestra cuenta root MariaDB esta sin contraseña, por lo cual presionamos Enter sin escribir nada
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] New password: <—escribimos contraseña a la cuenta root de MariaDB
Re-enter new password: <—confirmamos contraseña a la cuenta root de MariaDB
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] … Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] … Success!

By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] – Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] … Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Activamos y ejecutamos MariaDB

-Activamos y ejecutamos el servicio MariaDB
sudo systemctl enable mysql
sudo systemctl start mysql

-Verificamos ejecución correcta de MariaDB
sudo systemctl status mysql
● mariadb.service – MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-05-24 22:33:22 UTC; 45min ago
Main PID: 15986 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 27 (limit: 1113)
CGroup: /system.slice/mariadb.service
└─15986 /usr/sbin/mysqld

Puertos utilizados: 3306 tcp/udp

Verificamos PHP y sus módulos instalados en Ubuntu LAMP Stack

-Primero confirmamos nuestra versión actual de PHP
php -v
PHP 7.2.5-0ubuntu0.18.04.1 (cli) (built: May 9 2018 17:21:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.5-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

-Seguidamente usaremos la función phpinfo de PHP para listarnos todos los módulos instalados por medio de una pagina web donde los veremos organizados.

Salimos de vi guardando.
sudo vi /var/www/html/index.php
<?php
phpinfo();
?>

-Reiniciamos Apache 2
sudo systemctl restart apache2

-Abrimos un navegador en un equipo desde donde podamos acceder a nuestro Ubuntu Server LAMP y navegamos a la URL http://ip-servidor-ubuntu/index.php.

Haz el cambio en el URL a la ip de tu servidor Linux.

Como activar SSL en Ubuntu Server

-El SSL por default no esta habilitado, por lo que debemos activarlo desde consola con el siguiente comando
sudo a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
systemctl restart apache2

-Reiniciamos Apache 2 para que tome el cambio
sudo systemctl restart apache2

-Abrimos un browser y navegamos a la URL https://ip-servidor-ubuntu/

Reemplaza la URL por la ip de tu servidor Ubuntu.

Normalmente el SSL (certificado) auto firmado se vera sospechoso para los browsers.

Por lo tanto debemos hacer caso omiso de la advertencia y continuar a la pagina dándole click al link que veremos mas abajo mostrándonos nuestra ip

-Apache nos mostrara su pagina, la misma que ya habíamos visto, pero esta vez de forma segura con SSL.

Ese es el pequeño candado que aparece antes de https

Puerto utilizado: 443/tcp

Ubuntu Server LAMP 18.04 sera una gran herramienta en tus manos para colocar en producción tus proyectos web.

La suma de Linux Ubuntu Server con Apache 2, MariaDB y PHP te permitirá crear interesantes propuestas.

Satisfech@ con el articulo, hazme una donación, no importa la cantidad, la intención es lo que vale, dale click a este botón

Comparte este articulo opensource en tus redes sociales (compartir es sexy) por medio de los botones de redes sociales para que otros lo conozcan y apoyes mi blog.

Ademas, no olvides escribirme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.