Cómo instalar ProcessWire CMS 3.0 en un FreeBSD 11 FAMP VPS

ProcessWire CMS 3.0 es un sistema de gestión de contenido (CMS) simple, flexible y potente, gratuito y de código abierto. ProcessWire CMS 3.0 presenta una API de estilo jQuery fácil de usar, una arquitectura de plugin completamente modular y un sistema de plantillas flexible y potente que ofrece una experiencia de usuario igualmente satisfactoria para diseñadores, desarrolladores y usuarios finales.

En este tutorial vamos a instalar ProcessWire CMS 3.0 en un FreeBSD 11 FAMP VPS usando el servidor web Apache, PHP 7.1 y una base de datos MariaDB.

Prerrequisitos

  • Una instancia de servidor Vultr FreeBSD 11 limpia con acceso SSH

Paso 1: Agregar un usuario de Sudo

Comenzaremos agregando un nuevo sudousuario.

Primero, inicie sesión en su servidor como root:

ssh root@YOUR_VULTR_IP_ADDRESS

El sudocomando no está instalado por defecto en la instancia del servidor Vultr FreeBSD 11, por lo que primero instalaremos sudo:

pkg install sudo

Agregue un nuevo usuario llamado user1(o su nombre de usuario preferido):

adduser user1

El addusercomando le pedirá muchos detalles para la cuenta de usuario, así que simplemente seleccione los valores predeterminados para la mayoría de ellos cuando tenga sentido hacerlo. Cuando se le pregunte si debe hacerlo Invite user1 into any other groups?, debe ingresar wheelpara agregar user1al wheelgrupo.

Ahora verifique el /etc/sudoersarchivo para asegurarse de que el sudoersgrupo esté habilitado:

visudo

Busque una sección como esta:

# %wheel        ALL=(ALL)       ALL

Esta línea nos dice que los usuarios que son miembros del wheelgrupo pueden usar el sudocomando para obtener rootprivilegios. Se comentará de forma predeterminada, por lo que deberá descomentarlo y luego guardar y salir del archivo.

Podemos verificar la user1pertenencia al grupo con el groupscomando:

groups user1

Si user1no es miembro del wheelgrupo, puede usar este comando para actualizar la user1membresía del grupo:

pw group mod wheel -m user1 

Ahora use el sucomando para cambiar a la nueva user1cuenta de usuario sudo :

su - user1

El símbolo del sistema se actualizará para indicar que ahora ha iniciado sesión en la user1cuenta. Puede verificar esto con el whoamicomando:

whoami

Ahora reinicie el sshdservicio para que pueda iniciar sesión sshcon la nueva cuenta de usuario de sudo no root que acaba de crear:

sudo /etc/rc.d/sshd restart

Salir de la user1cuenta:

exit

Salga de la rootcuenta (que desconectará su sshsesión):

exit

Ahora puede sshingresar a la instancia del servidor desde su host local utilizando la nueva user1cuenta de usuario sudo no root :

ssh user1@YOUR_VULTR_IP_ADDRESS

Si desea ejecutar sudosin tener que escribir una contraseña cada vez, abra el /etc/sudoersarchivo nuevamente, usando visudo:

sudo visudo

Edite la sección para el wheelgrupo para que se vea así:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Tenga en cuenta: Deshabilitar el requisito de contraseña para el usuario de sudo no es una práctica recomendada, pero se incluye aquí ya que puede hacer que la configuración del servidor sea mucho más conveniente y menos frustrante, especialmente durante las sesiones de administración de sistemas más largas. Si le preocupan las implicaciones de seguridad, siempre puede revertir el cambio de configuración al original después de finalizar sus tareas de administración.

Siempre que desee iniciar sesión en la rootcuenta de usuario desde la sudocuenta de usuario, puede usar uno de los siguientes comandos:

sudo -i
sudo su -

Puede salir de la rootcuenta y volver a su sudocuenta de usuario en cualquier momento simplemente escribiendo exit.

Paso 2: Actualice el sistema FreeBSD 11

Antes de instalar cualquier paquete en la instancia del servidor FreeBSD, primero actualizaremos el sistema.

Asegúrese de haber iniciado sesión en el servidor utilizando un usuario de sudo no root y ejecute los siguientes comandos:

sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade

Paso 3: Instalar el servidor web Apache

Instale el servidor web Apache 2.4:

sudo pkg install apache24

E ingrese ycuando se le solicite. Ahora use el sysrccomando para permitir que el servicio Apache se ejecute automáticamente en el momento del arranque:

sudo sysrc apache24_enable=yes

El sysrccomando actualiza el /etc/rc.confarchivo de configuración, por lo que si desea verificar la actualización de la configuración manualmente, simplemente puede abrir el /etc/rc.confarchivo con su editor de terminal favorito:

vi /etc/rc.conf

Ahora inicie el servicio Apache:

sudo service apache24 start

Puede verificar rápidamente que Apache se está ejecutando visitando la dirección IP o el dominio de la instancia del servidor en su navegador:

http://YOUR_VULTR_IP_ADDRESS/

Verá la página predeterminada de FreeBSD Apache mostrando el texto:

It works!

Verifique su archivo de configuración predeterminado de Apache para asegurarse de que la DocumentRootdirectiva apunte al directorio correcto:

sudo vi /usr/local/etc/apache24/httpd.conf

La DocumentRootopción de configuración se verá así:

DocumentRoot "/usr/local/www/apache24/data"

Ahora necesitamos habilitar el mod_rewritemódulo Apache. Podemos hacer esto buscando el término en el archivo de configuración de Apache predeterminado mod_rewrite.

Por defecto, el mod_rewritemódulo Apache se comentará (lo que significa que está deshabilitado). La línea de configuración en una instancia limpia de Vultr FreeBSD 11 se verá así:

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Simplemente elimine el símbolo hash para descomentar la línea y cargar el módulo. Esto, por supuesto, también se aplica a cualquier otro módulo Apache requerido:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Ahora necesitamos editar la Directorydirectiva Apache en el mismo archivo de configuración para que mod_rewritefuncione correctamente con ProcessWire CMS.

Busque la sección del archivo de configuración que comienza con <Directory "/usr/local/www/apache24/data">y cambie AllowOverride nonea AllowOverride All. El resultado final (con todos los comentarios eliminados) se verá así:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Ahora guarde y salga del archivo de configuración de Apache.

Reiniciaremos Apache al final de este tutorial, pero reiniciar Apache regularmente durante la instalación y configuración es ciertamente un buen hábito, así que hagámoslo ahora:

sudo service apache24 restart

Paso 4: Instalar PHP 7.1

Ahora podemos instalar PHP 7.1 junto con todos los módulos PHP necesarios requeridos por ProcessWire CMS:

sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip

FreeBSD 11 nos da la opción de usar un desarrollo php.inio una producción php.ini. Como vamos a instalar Siverstripe en un servidor web público, usaremos la versión de producción. Primero, retrocede php.ini-production:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup

Luego enlace suave php.ini-productiona php.ini.

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

Necesitamos configurar Apache para que realmente use PHP, así que creemos un nuevo archivo llamado php.confen el Includesdirectorio Apache :

sudo vi /usr/local/etc/apache24/Includes/php.conf

Ingrese el siguiente texto en el archivo recién creado:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Guardar y salir del archivo.

Ahora reiniciemos Apache para que pueda volver a cargar los cambios de configuración:

sudo service apache24 restart

Paso 5: Instalar el servidor MariaDB (MySQL)

FreeBSD 11 usa de manera predeterminada el servidor de base de datos MariaDB, que es un reemplazo mejorado, de código abierto, desarrollado por la comunidad y directo para el servidor MySQL.

Instale el servidor de base de datos MariaDB:

sudo pkg install mariadb102-server mariadb102-client

Inicie y permita que el servidor MariaDB se ejecute automáticamente en el momento del arranque:

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Asegure la instalación de su servidor MariaDB:

sudo mysql_secure_installation

Cuando se le solicite que cree un rootusuario MariaDB / MySQL , seleccione "Y" (para sí) y luego ingrese una rootcontraseña segura . Simplemente responda "S" a todas las otras preguntas de sí / no, ya que las sugerencias predeterminadas son las opciones más seguras.

Paso 6: Crear una base de datos para ProcessWire CMS

Inicie sesión en el shell MariaDB como rootusuario de MariaDB ejecutando el siguiente comando:

sudo mysql -u root -p

Para acceder al símbolo del sistema de MariaDB, simplemente ingrese la rootcontraseña de MariaDB cuando se le solicite.

Ejecute las siguientes consultas para crear una base de datos MariaDB y un usuario de base de datos para ProcessWire CMS:

CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Puede reemplazar el nombre de la base de datos pw_dby el nombre de usuario pw_usercon algo más de su agrado, si lo prefiere. Además, asegúrese de reemplazar "UltraSecurePassword" con una contraseña realmente segura.

Paso 7: Instale los archivos de ProcessWire CMS

Cambie su directorio de trabajo actual al directorio web predeterminado:

cd /usr/local/www/apache24/data

El directorio de trabajo actual ahora debe ser: /usr/local/www/apache24/data. Puede verificar esto con el pwdcomando (imprimir directorio de trabajo):

pwd

Ahora use wgetpara descargar el paquete de instalación de ProcessWire CMS:

sudo wget https://github.com/processwire/processwire/archive/master.zip

Tenga en cuenta: definitivamente debe verificar la versión más reciente visitando la página de descarga de ProcessWire CMS .

Enumere el directorio actual para verificar que ha descargado correctamente el archivo:

ls -la

Eliminar index.html:

sudo rm index.html

Ahora descomprima el archivo zip:

sudo unzip master.zip

Mueva todos los archivos de instalación al directorio raíz web:

sudo mv processwire-master/* /usr/local/www/apache24/data

Cambie la propiedad de los archivos web para evitar problemas de permisos:

sudo chown -R www:www * ./

Reinicie Apache nuevamente:

sudo service apache24 restart

Paso 8: Complete la instalación de ProcessWire CMS

Ahora es el momento de visitar la dirección IP de la instancia de su servidor en su navegador, o si ya ha configurado la configuración de DNS de Vultr (y le ha dado tiempo suficiente para propagarse), simplemente puede visitar su dominio.

Para acceder a la página de instalación de ProcessWire CMS, ingrese su dirección IP de instancia de Vultr en la barra de direcciones de su navegador, seguido de index.php:

http://YOUR_VULTR_IP_ADDRESS/install.php

El instalador de ProcessWire CMS contiene muchas opciones, así que aquí hay algunos consejos para ayudarlo:

  1. En la página de bienvenida de instalación de ProcessWire CMS, haga clic en el Get Startedbotón para iniciar el proceso de instalación.

  2. Ahora seleccione su perfil de instalación preferido (o sitio de demostración) y haga clic Continue.

  3. Verás una Compatibility Checkpágina. Si ve algún error, probablemente significa que le faltan algunos módulos PHP o tiene un problema de permisos, de lo contrario, simplemente puede hacer clic Continue.

  4. Ingrese los siguientes valores en la MySQL Database Settingspágina:

    DB Name:            pw_db
    DB User:            pw_user
    DB Pass:            UltraSecurePassword
    DB Host:            localhost
    DB Port:            3306
    
  5. Puede dejar la File Permissionconfiguración en sus valores predeterminados, o puede ajustarla si comprende las implicaciones.

  6. Puede ingresar los futuros nombres de host de su sitio en la sección correspondiente, o puede editar el site/config.phparchivo más adelante si lo prefiere.

  7. Haga clic en Continuepara configurar la base de datos e instalar los archivos ProcessWire CMS.

  8. A continuación, seleccione su preferido Admin Theme.

  9. Puede cambiar el Admin URLsi lo prefiere, o simplemente puede dejarlo en el valor predeterminado.

  10. Ingrese su Admin Login Detailscomo se muestra a continuación:

    User (a-z 0-9):     <admin username>
    Password:           <admin password>
    Password (again):   <same admin password>
    Email Address:      <admin email address>
    
  11. Una vez que se hayan ingresado todos los detalles apropiados, puede hacer clic Continuepara finalizar la instalación de ProcessWire.

  12. Una vez que se complete la instalación, simplemente haga clic en el Login to Adminbotón para iniciar sesión en la sección Administrador.

Puede ver una advertencia que dice algo como:

Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8†as needed): setlocale(LC_ALL,'en_US.UTF-8');

Puede corregir este error editando el site/config.phparchivo:

sudo vi site/config.php

Agregue el valor apropiado al final del archivo:

setlocale(LC_ALL,'en_GB.utf8');

Si no puede determinar qué valor usar, puede encontrar una lista de valores apropiados para su instancia de servidor particular ejecutando el localecomando:

locale -a

No olvide guardar y salir del site/config.phparchivo cuando termine de editar.

Por razones de seguridad, asegúrese de cambiar los permisos en el site/config.phparchivo:

sudo chmod 400 site/config.php

Reinicia Apache.

sudo service apache24 restart

Está listo para comenzar a agregar su contenido y configurar la apariencia de su sitio. Asegúrese de consultar la excelente documentación de ProcessWire CMS para obtener más información sobre cómo construir y configurar su sitio.



Leave a Comment

¿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.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.