Cómo instalar la pila de Nginx, MySQL y PHP (FEMP) en FreeBSD 12.0

Una pila FEMP, que es comparable a una pila LEMP en Linux, es una colección de software de código abierto que generalmente se instala conjuntamente para permitir que un servidor FreeBSD aloje sitios web dinámicos y aplicaciones web. FEMP es un acrónimo que significa FreeBSD, Nginx, MySQL y PHP.

En esta guía, implementaremos elementos de una pila FEMP en una instancia de FreeBSD 12.0 Vultr usando pkgel administrador de paquetes FreeBSD.

Requisitos

Antes de comenzar esta guía, necesitará lo siguiente:

  • Un FreeBSD 12.0 VPS.
  • Un usuario con privilegios de root o sudousuario para realizar cambios de configuración.
  • Se recomienda familiaridad básica con el sistema FreeBSD y la interfaz de línea de comandos.

Antes de que empieces

Verifique la versión de FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE-p6

Asegúrese de que su sistema FreeBSD esté actualizado.

freebsd-update fetch install
pkg update && pkg upgrade -y

Instala los paquetes necesarios.

pkg install -y sudo vim bash curl

Cree una nueva cuenta de usuario con su nombre de usuario preferido. Nosotros usamos johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Ejecute el visudocomando y descomente la %wheel ALL=(ALL) ALLlínea para permitir que los miembros del wheelgrupo ejecuten cualquier comando.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Ahora, cambie a su usuario recién creado con su:

su - johndoe

NOTA: Reemplace johndoecon su nombre de usuario.

Configure la zona horaria:

sudo tzsetup

Instalación de la línea principal Nginx

Puede instalar Nginx usando el gestor de paquetes de FreeBSD, pkg. Un administrador de paquetes le permite instalar la mayoría del software sin esfuerzo desde un repositorio mantenido por FreeBSD. Puede obtener más información sobre cómo usar pkgaquí .

Para instalar la última línea principal de Nginx, emita el siguiente comando:

sudo pkg install -y nginx-devel

Mira esta versión:

nginx -v
# nginx version: nginx/1.17.1

Este comando instalará la última versión de la línea principal, que puede usarse de manera confiable en un servidor de producción. Si desea instalar la última versión estable, simplemente use el nginxpaquete en lugar de nginx-devel.

Ahora, habilite e inicie Nginx:

sudo sysrc nginx_enable=yes
sudo service nginx start

Para verificar que Nginx ha comenzado, puede ejecutar el siguiente comando:

sudo service nginx status

Como resultado, verá algo similar a lo siguiente:

# Output
nginx is running as pid 17607.

Puede verificar que Nginx se instaló y funcionó sin errores visitando la dirección IP pública de su servidor en su navegador web. Navega hacia your_server_IP. Verá el predeterminado "¡Bienvenido a nginx!" página.

Instalar MySQL

Nuevamente, puede utilizar pkgpara obtener e instalar su software.

Instale MySQL usando pkg:

sudo pkg install -y mysql80-client mysql80-server

Mira esta versión:

mysql --version
# mysql  Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Ahora, habilite e inicie MySQL:

sudo sysrc mysql_enable=yes
sudo service mysql-server start

Para verificar que MySQL ha comenzado, puede ejecutar el siguiente comando:

sudo service mysql-server status

Verá algo similar a lo siguiente:

# Output
mysql is running as pid 19066.

Como buena práctica, debe ejecutar el mysql_secure_installationscript de seguridad que eliminará algunos valores predeterminados inseguros y limitará ligeramente el acceso a su sistema de base de datos.

sudo mysql_secure_installation

Se le pedirá que establezca una contraseña, seguida de algunas otras preguntas. Ingrese una contraseña segura y luego, para el resto de las preguntas, presione ENTERpara seleccionar los valores predeterminados.

Instalar PHP 7.3

Para instalar PHP 7.3con pkg, ejecute este comando:

sudo pkg install -y php73

Mira esta versión.

php --version
# PHP 7.3.7 (cli) (built: Jul 18 2019 01:14:37) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Enlace suave php.ini-productiona php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Ahora, habilite e inicie PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Para verificar que PHP-FPM ha comenzado, puede ejecutar el siguiente comando:

sudo service php-fpm status

Como resultado, verá algo similar:

# Output
php_fpm is running as pid 23005.

Instalación de módulos PHP (opcional)

Para mejorar la funcionalidad de PHP, opcionalmente puede instalar algunos módulos adicionales.

Para ver actualmente compilado en módulos PHP, puede ejecutar esto:

php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard

# [Zend Modules]

Para buscar módulos PHP disponibles, puede usar este comando:

pkg search ^php73-*

Los resultados serán en su mayoría módulos PHP 7.3 que puede instalar:

# Output
# php73-7.3.7                    PHP Scripting Language
# php73-Ice37-3.7.2              Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8             Testing framework for unit tests
# php73-bcmath-7.3.7             The bcmath shared extension for php
# php73-brotli-0.7.0             Brotli extension for PHP
# php73-bsdconv-11.5.0           PHP wrapper for bsdconv
# php73-bz2-7.3.7                The bz2 shared extension for php
# php73-calendar-7.3.7           The calendar shared extension for php
# php73-composer-1.8.6           Dependency Manager for PHP
# php73-ctype-7.3.7              The ctype shared extension for php
# php73-curl-7.3.7               The curl shared extension for php
# . . .

Si, después de investigar, decide que necesita instalar un paquete, puede hacerlo utilizando el pkg installcomando. La mayoría de las aplicaciones web PHP requerirán módulos adicionales, por lo que es bueno saber cómo buscarlos.

Configurando Nginx para usar el módulo PHP

Antes de usar PHP, debe configurarlo para que funcione con Nginx.

Ejecute sudo vim /usr/local/etc/nginx/test.confy complete el archivo con el siguiente contenido:

server {

  listen 80;
  server_name SERVER_IP; # Replace with your IP or hostname
  root /usr/local/www/nginx-dist;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

}

Guarde el archivo y salga con :+ W+Q

Ahora necesitamos incluir test.confen el nginx.confarchivo principal . El archivo de configuración principal para Nginx vive bajo /usr/local/etc/nginxcomo nginx.conf.

Ejecute sudo vim /usr/local/etc/nginx/nginx.confpara abrir el archivo de configuración principal en Vim y agregue la siguiente línea al http {}bloque.

include test.conf;

Probar la configuración de Nginx:

sudo nginx -t

Debido a que ha realizado cambios de configuración en Nginx, debe volver a cargar el servicio para que se apliquen. De lo contrario, Nginx seguirá funcionando con la configuración anterior.

sudo service nginx reload

Probar el procesamiento de PHP

Para probar que su sistema está configurado correctamente para PHP, puede crear un script PHP muy básico. Llamarás a este script info.php. Por defecto, el rootestá configurado en /usr/local/www/nginx-dist. Puede crear el info.phparchivo en esa ubicación:

sudo vim /usr/local/www/nginx-dist/info.php

Agregue este código a ese archivo:

<?php phpinfo(); ?>

Navegue hasta http://your_server_IP/ìnfo.phpy verá la siguiente página:

Cómo instalar la pila de Nginx, MySQL y PHP (FEMP) en FreeBSD 12.0

Después de la instalación y configuración, debe eliminar el info.phparchivo para evitar revelar información sobre el servidor al público.

sudo rm /usr/local/www/nginx-dist/info.php

Conclusión

Felicitaciones, ha instalado con éxito una pila FEMP en su FreeBSD 12.0 VPS. Ahora tiene múltiples opciones sobre qué hacer a continuación. Instaló una plataforma que le permitirá instalar la mayoría de los tipos de sitios web y software web encima.



Leave a Comment

Cómo instalar Blacklistd en FreeBSD 11.1

Cómo instalar Blacklistd en FreeBSD 11.1

Introducción Cualquier servicio que esté conectado a Internet es un objetivo potencial para ataques de fuerza bruta o acceso injustificado. Hay herramientas como fail2ba

How To Install Apache, MySQL and PHP (FAMP) Stack on FreeBSD 12.0

How To Install Apache, MySQL and PHP (FAMP) Stack on FreeBSD 12.0

Introduction A FAMP stack, which is comparable to a LAMP stack on Linux, is a collection of open-source software that is typically installed together t

Configurar OpenBSD 5.6 con cifrado de disco completo

Configurar OpenBSD 5.6 con cifrado de disco completo

Este tutorial le mostrará cómo configurar OpenBSD 5.6 con un disco completamente encriptado en su Vultr VPS. Una nota sobre la parte de cifrado: la mayoría de los centros de datos alrededor de

Cómo usar Sudo en Debian, CentOS y FreeBSD

Cómo usar Sudo en Debian, CentOS y FreeBSD

Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud

Cómo instalar osTicket en FreeBSD 12

Cómo instalar osTicket en FreeBSD 12

¿Usando un sistema diferente? osTicket es un sistema de tickets de soporte al cliente de código abierto. El código fuente de osTicket está alojado públicamente en Github. En este tutorial

How to Install Osclass on FreeBSD 12

How to Install Osclass on FreeBSD 12

Using a Different System? Osclass is an open source project that allows you to easily create a classified site without any technical knowledge. Its sourc

How to Install Wiki.js on FreeBSD 11

How to Install Wiki.js on FreeBSD 11

Using a Different System? Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicl

How to Install Lychee 3.1 Photo Album on a FreeBSD 11 FAMP VPS

How to Install Lychee 3.1 Photo Album on a FreeBSD 11 FAMP VPS

Using a Different System? Lychee 3.1 Photo Album is a simple and flexible, free and open source photo-management tool which runs on a VPS server. It install

Installing Fork CMS on FreeBSD 12

Installing Fork CMS on FreeBSD 12

Using a Different System? Fork is an open source CMS written in PHP. Forks source code is hosted on GitHub. This guide will show you how to install Fork CM

Crear archivo de intercambio en FreeBSD 10

Crear archivo de intercambio en FreeBSD 10

Fuera de la caja, los servidores Vultr FreeBSD no están configurados para incluir espacio de intercambio. Si su intención es una instancia de nube desechable, probablemente no necesite

Cómo cambiar el tamaño de un disco en FreeBSD

Cómo cambiar el tamaño de un disco en FreeBSD

El sistema operativo FreeBSD utiliza UFS (Sistema de archivos Unix) para su sistema de archivos de particiones raíz; también conocido como freebsd-ufs en caso de una actualización

How to Install Selfoss RSS Reader on a FreeBSD 11 FAMP VPS

How to Install Selfoss RSS Reader on a FreeBSD 11 FAMP VPS

Using a Different System? Selfoss RSS Reader is a free and open source self-hosted web-based multipurpose, live stream, mashup, news feed (RSS/Atom) reade

How to Install Matomo Analytics on FreeBSD 11

How to Install Matomo Analytics on FreeBSD 11

Using a Different System? Matomo (formerly Piwik) is an open source analytics platform, an open alternative to Google Analytics. Matomo source is hosted o

How to Enable TLS 1.3 in Nginx on FreeBSD 12

How to Enable TLS 1.3 in Nginx on FreeBSD 12

Using a Different System? TLS 1.3 is a version of the Transport Layer Security (TLS) protocol that was published in 2018 as a proposed standard in RFC 8446

How to Install Craft CMS on FreeBSD 12

How to Install Craft CMS on FreeBSD 12

Using a Different System? Introduction Craft CMS is an open source CMS written in PHP. Craft CMS source code is hosted on GitHub. This guide will show yo

Cómo instalar Backdrop CMS en un FreeBSD 11 FAMP VPS

Cómo instalar Backdrop CMS en un FreeBSD 11 FAMP VPS

¿Usando un sistema diferente? Backdrop CMS 1.8.0 es un sistema de administración de contenido (CMS) simple y flexible, amigable para dispositivos móviles, gratuito y de código abierto que nos permite

Cómo instalar ImpressPages CMS 5.0 en un FreeBSD 11 FAMP VPS

Cómo instalar ImpressPages CMS 5.0 en un FreeBSD 11 FAMP VPS

¿Usando un sistema diferente? ImpressPages CMS 5.0 es un sistema de gestión de contenido (CMS) simple y efectivo, gratuito y de código abierto, fácil de usar y basado en MVC

How to Install NodeBB forum on FreeBSD 12

How to Install NodeBB forum on FreeBSD 12

Using a Different System? NodeBB is a Node.js based forum software. It utilizes web sockets for instant interactions and real-time notifications. The NodeB

Install eSpeak on FreeBSD 12

Install eSpeak on FreeBSD 12

Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin

Instalar TaskServer (taskd) en FreeBSD 11

Instalar TaskServer (taskd) en FreeBSD 11

¿Usando un sistema diferente? TaskWarrior es una herramienta de gestión de tiempo de código abierto que es una mejora en la aplicación Todo.txt y sus clones. Debido a th

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.