LEMP es una colección de cuatro componentes de software de código abierto que se utilizan juntos para alojar un sitio web en Internet. En la pila LEMP, L representa el sistema operativo Linux, E representa el servidor web Nginx, M representa el servidor de base de datos MariaDB/MySQL y P representa el lenguaje de programación PHP. Como todos los componentes son de código abierto en la pila LEMP, se utiliza en aplicaciones de gran escala en toda la web.
En esta publicación, le mostraremos cómo instalar una pila LEMP en Oracle Linux 8.
Requisitos
- Un servidor que ejecuta Oracle Linux 8 en Atlantic.Net Cloud Platform
- Una contraseña de root configurada en su servidor
Paso 1:crear el servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Oracle Linux 8 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Una vez que haya iniciado sesión en su servidor, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.
dnf update -y
Paso 2:instale el servidor web Nginx en Oracle Linux 8
Nginx es el primer componente de la pila LEMP. De forma predeterminada, el paquete Nginx se incluye en el repositorio predeterminado de Oracle Linux 8. Puedes instalarlo usando el siguiente comando:
dnf install nginx -y
Una vez que Nginx esté instalado, inicie el servicio Nginx y habilítelo para que se inicie al reiniciar el sistema.
systemctl start nginx systemctl enable nginx
También puede verificar el estado de Nginx con el siguiente comando:
systemctl status nginx
Para verificar la versión de Nginx, ejecute el siguiente comando:
nginx -v
Debería ver el siguiente resultado:
nginx version: nginx/1.14.1
Ahora, abre tu navegador web y escribe la URL http://your-server-ip . Debería ver la página predeterminada de Nginx en la siguiente pantalla:
Paso 3:instale el servidor de base de datos MariaDB en Oracle Linux 8
MariaDB es un servidor de base de datos de código abierto que se utiliza para almacenar contenido de sitios web. De forma predeterminada, MariaDB se incluye en el repositorio predeterminado de Oracle Linux 8. Puedes instalarlo usando el siguiente comando:
dnf install mariadb-server mariadb -y
Una vez que se haya instalado MariaDB, inicie el servicio MariaDB y habilítelo para que se inicie al reiniciar el sistema:
systemctl start mariadb systemctl enable mariadb
Puede verificar el estado de MariaDB usando el siguiente comando:
systemctl status mariadb
Obtendrá el siguiente comando:
● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-06-11 00:46:12 EDT; 6s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 27020 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 26883 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 26859 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 26988 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 11409) Memory: 80.0M CGroup: /system.slice/mariadb.service └─26988 /usr/libexec/mysqld --basedir=/usr
También puede verificar la versión de MariaDB con el siguiente comando:
mysqladmin -V
Debería ver el siguiente resultado:
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Ahora, deberá asegurar la instalación de MariaDB. Puede asegurarlo con el siguiente comando:
mysql_secure_installation
Se le pedirá que establezca una contraseña de root como se muestra a continuación:
Enter current password for root (enter for none): 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] Y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
A continuación, se le pedirá que elimine usuarios anónimos como se muestra a continuación:
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] Y
Escriba Y y presione Entrar. Se le pedirá que deshabilite el inicio de sesión raíz de forma remota:
... 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] Y
Escriba Y y presione la tecla Intro. Se le pedirá que elimine la base de datos de prueba:
... 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] Y
Presione Y y presione la tecla Intro. Se le pedirá que vuelva a cargar la tabla de privilegios:
- 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] Y
Escriba Y y presione la tecla Intro para asegurar MariaDB.
... 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!
Paso 4:instale PHP en Oracle Linux 8
Puede agregarlos ejecutando el siguiente comando:
dnf install epel-release -y dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Ahora, enumere todas las versiones de PHP disponibles en el siguiente resultado:
dnf module list php
Verá todas las versiones de PHP disponibles en el siguiente resultado:
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 1.8 MB/s | 2.1 MB 00:01 Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language
Ahora, restablezca el módulo PHP predeterminado y habilite la versión 8.1 de PHP con el siguiente comando:
dnf module reset php dnf module enable php:remi-8.1
Luego, instale PHP con otras extensiones requeridas usando el siguiente comando:
dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache -y
A continuación, edite el archivo de configuración predeterminado de PHP-FPM y cambie el usuario de apache a nginx:
nano /etc/php-fpm.d/www.conf
Cambie las siguientes líneas:
user = nginx Group = nginx
Guarde y cierre el archivo, luego inicie el servicio PHP-FPM y habilítelo para que se inicie al reiniciar el sistema:
systemctl start php-fpm systemctl enable php-fpm
Paso 5:cree un sitio web de muestra con Nginx
En esta sección, le mostraremos cómo alojar un sitio web simple utilizando un host virtual Nginx. Primero, cree un directorio para almacenar el contenido del sitio web:
mkdir -p /var/www/html/website
A continuación, cambie la propiedad y los permisos del sitio web con el siguiente comando:
chown -R nginx:nginx /var/www/html/website chmod -R 755 /var/www/html/website
Luego, crea una página PHP simple usando el siguiente comando:
nano /var/www/html/website/info.php
Agrega el siguiente código PHP:
<?php phpinfo(); ?>
Guarde y cierre el archivo, luego cree un archivo de configuración de host virtual Nginx:
nano /etc/nginx/conf.d/website.conf
Agregue las siguientes líneas:
server { listen 80; server_name website.example.com; location / { root /var/www/html/website/; index info.php; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index info.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Guarde y cierre el archivo, luego edite el archivo de configuración principal de Nginx:
nano /etc/nginx/nginx.conf
Agregue la siguiente línea después de la línea http {:
server_names_hash_bucket_size 64;
Guarde y cierre el archivo, luego verifique la configuración de Nginx usando el siguiente comando:
nginx -t
Debería ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, reinicie el servicio Nginx para aplicar la configuración:
systemctl restart nginx
Paso 6:verificar el sitio web de Nginx
Ahora, abra su navegador web y escriba la URL http://website.example.com . Debería ver la página de PHP en la siguiente pantalla:
Conclusión
En esta publicación, aprendimos cómo instalar el servidor LEMP en Oracle Linux 8. Ahora puede usar la función de alojamiento virtual de Nginx para alojar múltiples sitios web en una sola máquina. ¡Pruébelo en alojamiento VPS de Atlantic.Net!