ProcessWire es un sistema de gestión de contenido gratuito y de código abierto. Proporciona una plataforma flexible fácil de usar que es totalmente personalizable. Proporciona un control más simple y sólido sobre sus páginas, campos, plantillas y marcas a cualquier escala. También se incluye una API con funciones completas para facilitar la administración de contenido.
En este tutorial, instalaremos ProcessWire en el servidor CentOS 7.
Requisito previo
- Servidor CentOS 7 mínimo
- Privilegios de raíz
Paso 1:Instalación de Apache
Se recomienda actualizar el servidor antes de instalar cualquier paquete para que se actualicen los paquetes y repositorios existentes.
yum -y update
Una vez que haya actualizado su sistema, puede proceder a instalar el servidor web Apache.
yum -y install httpd
Ahora inicie el servidor web Apache y habilítelo para que se inicie en el momento del arranque con el siguiente comando.
systemctl start httpd
systemctl enable httpd
Paso 2 - Instalación de PHP
ProcessWire admite todas las versiones de PHP superiores a 5.3. Pero en este tutorial, instalaremos PHP 7.1 ya que PHP v5.3 ha llegado al final de su vida útil. La instalación de la última versión de PHP garantizará la máxima seguridad y rendimiento de la aplicación.
El repositorio YUM predeterminado de CentOS no tiene incluido PHP 7.1, por lo tanto, deberá agregar el repositorio Webtatic en su sistema. El repositorio Webtatic requiere el repositorio EPEL para funcionar. Ejecute el siguiente comando para instalar el repositorio EPEL.
yum -y install epel-release
yum -y update
Escriba los comandos para instalar el repositorio de Webtatic.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
Escriba el siguiente comando para instalar PHP 7.1 junto con todas las dependencias requeridas.
yum -y install php71w php71w-mysqli php71w-gd php71w-cli ImageMagick
Para verificar si PHP se instaló correctamente, puede ejecutar:
php -v
Deberías obtener un resultado similar a este.
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Ahora deberá configurar algunas configuraciones en PHP. Abra el archivo de configuración de PHP, php.ini usando su editor de texto favorito. En este tutorial, usaremos el editor nano. Si no tiene nano instalado, puede ejecutar yum -y install nano.
nano /etc/php.ini
Busque la siguiente línea y elimine el comentario de la línea y configure la zona horaria de acuerdo con su región. Por ejemplo:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
Paso 3:Instalación de MariaDB
MariaDB es una bifurcación de la base de datos MySQL. Para instalar MariaDB en su servidor, ejecute:
yum -y install mariadb mariadb-server
Ejecute los siguientes comandos para iniciar MariaDB y permitir que se inicie en el momento del arranque.
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
El comando anterior ejecutará un script para asegurar una nueva instalación de MariaDB. El script le pedirá la contraseña de usuario root existente, acabamos de instalar MariaDB, la contraseña de root no está configurada, solo presione enter para continuar.
El script le preguntará si desea establecer una contraseña de root para su instalación de MariaDB, elija y y establezca una contraseña segura para la instalación. La mayoría de las preguntas se explican por sí mismas y debe responder sí o y a todas las preguntas. La salida se verá como se muestra a continuación.
Para crear una base de datos, primero debemos iniciar sesión en la línea de comandos de MySQL. Ejecute el siguiente comando para lo mismo.
mysql -u root -p
El comando anterior iniciará sesión en el shell de MySQL del usuario raíz, solicitará la contraseña del usuario raíz. Proporcione la contraseña para iniciar sesión. Ahora ejecute la siguiente consulta para crear una nueva base de datos para su instalación de ProcessWire.
CREATE DATABASE pw_data;
La consulta anterior creará una nueva base de datos llamada pw_data. Puede usar cualquier otro nombre para su base de datos si lo desea. Asegúrese de utilizar un punto y coma al final de cada consulta, ya que la consulta siempre termina con un punto y coma.
Una vez que se crea la base de datos, puede crear un nuevo usuario y otorgar todos los permisos al usuario para la base de datos. Para crear un nuevo usuario de base de datos, ejecute la siguiente consulta.
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'StrongPassword';
La consulta anterior creará un usuario con el nombre de usuario pw_user. Puede usar cualquier nombre de usuario que prefiera en lugar de pw_user. Reemplace StrongPassword con una contraseña muy segura. Ahora proporcione todos los privilegios al usuario de su base de datos sobre la base de datos que ha creado. Ejecute el siguiente comando.
GRANT ALL PRIVILEGES ON pw_data.* TO 'pw_user'@'localhost';
Ahora ejecute el siguiente comando para aplicar inmediatamente los cambios en los privilegios de la base de datos.
FLUSH PRIVILEGES;
Salga del indicador de MySQL usando el siguiente comando.
EXIT;
Paso 4:Instalación y configuración de ProcessWire
Como tenemos todas las dependencias listas, ahora podemos descargar el paquete de instalación desde el sitio web de ProcessWire.
cd /var/www
wget https://github.com/processwire/processwire/archive/master.zip
Siempre puede encontrar el enlace a la última versión de la aplicación en la página de descarga de ProcessWire. Extrae el archivo usando el siguiente comando.
unzip master.zip
Si no tiene instalado unzip, puede ejecutar yum -y install unzip. Cambie el nombre de su carpeta ProcessWire usando:
mv processwire-master processwire
Paso 5:Configurar permisos y firewall
Ahora deberá proporcionar la propiedad de la aplicación al usuario del servidor web mediante el siguiente comando.
chown -R apache:apache /var/www/processwire
Es posible que también deba permitir el tráfico HTTP en el puerto 80 a través del firewall si está ejecutando uno. Ejecute los siguientes comandos para el mismo.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Ahora deberá deshabilitar su SELinux porque la configuración de Proxy no funciona con las políticas de SELinux. Para deshabilitar temporalmente SELinux sin reiniciar el servidor, ejecute el siguiente comando.
setenforce 0
Para deshabilitar completamente SELinux, deberá editar el archivo /etc/selinux/config.
nano /etc/selinux/config
Busque la siguiente línea:
SELINUX=enforcing
Cámbialo por:
SELINUX=disabled
Ahora cree un host virtual para la aplicación ProcessWire. Ejecute el siguiente comando para lo mismo.
nano /etc/httpd/conf.d/cms.yourdomain.com.conf
Pegue las siguientes líneas en el archivo.
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/processwire" ServerName cms.yourdomain.com ServerAlias www.cms.yourdomain.com <Directory "/var/www/processwire"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/httpd/cms.yourdomain.com-error_log" CustomLog "/var/log/httpd/cms.yourdomain.com-access_log" combined </VirtualHost>
Reemplace cms.yourdomain.com con cualquier dominio o subdominio que desee utilizar para acceder a la aplicación. Guarde el archivo y salga del editor. Ejecute el siguiente comando para reiniciar su servidor Apache.
systemctl restart httpd
Ahora complete la instalación usando un navegador web, vaya al siguiente enlace usando su navegador web favorito.
http://cms.yourdomain.com
Será bienvenido en la siguiente página.
Haga clic en el botón Comenzar para iniciar la instalación basada en web. En la siguiente interfaz, elija el perfil de instalación.
Puede optar por instalar el perfil predeterminado para principiantes o intermedios, o el perfil en blanco o clásico. Para un principiante, puede elegir el perfil predeterminado. Instalará un tema receptivo minimalista en su sitio. Si elige un perfil en blanco, no se instalará ningún tema. Si elige el perfil clásico, se instalará el tema predeterminado de Processwire 2.3.
En la siguiente interfaz verás los requisitos requeridos, si has seguido el tutorial correctamente, tendrás todas las dependencias satisfechas.
En la siguiente interfaz, proporcione los detalles de la base de datos. Elija la zona horaria predeterminada y proporcione el nombre de host para su sitio. Si está accediendo al sitio usando el nombre de dominio, ingrese su nombre de dominio. También puede poner su dirección IP aquí.
ProcessWire ahora ha escrito la base de datos. Ahora puede cambiar la URL del panel de administración. Mantenga una URL privada que no se pueda adivinar para que el panel de administración esté protegido contra ataques de fuerza bruta. Proporcione un nombre de usuario y una contraseña para el usuario administrador.
ProcessWire ya está instalado, puede acceder al panel de administración en cms.sudominio.com.
Para acceder al backend de su sitio. Vaya a la URL de administración que eligió en el momento de la instalación e inicie sesión con las credenciales de administrador.
Conclusión
La instalación de ProcessWire CMS ahora está finalizada, puede usar el CMS para crear fácilmente un hermoso sitio web para fines personales o comerciales.