ProcessWire es un sistema de gestión de contenido y un marco de gestión de contenido gratuito y de código abierto basado en PHP. Es un CMS simple, flexible y poderoso creado para ahorrarle tiempo y trabajar de la manera que lo hace. ProcessWire proporciona una interfaz web fácil de usar que le permite publicar sitios web fácilmente. Está especialmente diseñado para una facilidad de uso que le permite crear sitios web de contenido potente y dinámico.
Características
- Sistema de control de acceso basado en roles.
- Instalador gráfico basado en web.
- Proporciona una arquitectura de plugins totalmente modular y un potente sistema de plantillas.
- Compatibilidad con varios idiomas.
- Admite la edición de texto enriquecido.
- Funciones de edición y carga de imágenes y archivos de arrastrar y soltar.
En este tutorial, explicaré cómo instalar ProcessWire con el servidor web Apache en Ubuntu 18.04 LTS.
Requisitos
- Un servidor con Ubuntu 18.04..
- Un usuario no root con privilegios sudo.
Cómo empezar
Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:
sudo apt-get update -y
sudo apt-get upgrade -y
Una vez que su sistema esté actualizado, reinícielo para aplicar los cambios.
Instalar Apache, MariaDB y PHP
Primero, deberá instalar el servidor web Apache, el servidor MariaDB, PHP y otros módulos PHP en su servidor. Puede instalar todos los paquetes simplemente ejecutando el siguiente comando:
sudo apt-get install apache2 mariadb-server unzip wget php7.2 php7.2-mysql php7.2-curl php7.2-json php7.2-cgi libapache2-mod-php7.2 php7.2-xmlrpc php7.2-gd php7.2-mbstring php7.2 php7.2-common php7.2-xmlrpc php7.2-soap php7.2-xml php7.2-intl php7.2-cli php7.2-ldap php7.2-zip php7.2-readline php7.2-imap php7.2-tidy php7.2-recode php7.2-sq php7.2-intl -y
Una vez que todos los paquetes estén instalados, abra el archivo php.ini y realice algunos cambios:
sudo nano /etc/php/7.2/apache2/php.ini
Realice los siguientes cambios:
memory_limit = 300M upload_max_filesize = 200M max_execution_time = 400 date.timezone = Asia/Kolkata
sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb
Ahora puede verificar el estado del servicio MariaDB con el siguiente comando:
sudo systemctl status mariadb
Salida:
? mariadb.service - MariaDB 10.1.34 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-12-01 22:46:13 UTC; 9h ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 1317 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 1313 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS) Process: 935 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemc Process: 931 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Process: 819 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS) Main PID: 1164 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 2323) CGroup: /system.slice/mariadb.service ??1164 /usr/sbin/mysqld Dec 01 22:45:54 ubuntu1804 systemd[1]: Starting MariaDB 10.1.34 database server... Dec 01 22:46:05 ubuntu1804 mysqld[1164]: 2018-12-01 22:46:05 140324667522176 [Note] /usr/sbin/mysqld (mysqld 10.1.34-MariaDB-0ubuntu0.18.04.1) Dec 01 22:46:13 ubuntu1804 /etc/mysql/debian-start[1318]: Upgrading MySQL tables if necessary. Dec 01 22:46:13 ubuntu1804 systemd[1]: Started MariaDB 10.1.34 database server.
Configurar MariaDB
De forma predeterminada, la instalación de MariaDB no está protegida. Por lo tanto, deberá asegurarlo primero. Puede asegurarlo ejecutando el siguiente comando:
sudo mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Una vez que MariaDB esté protegida, inicie sesión en el shell de MariaDB:
mysql -u root -p
Proporcione su contraseña raíz. Luego, cree una base de datos y un usuario para ProcessWire con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE processdb;
MariaDB [(none)]> CREATE USER process;
A continuación, otorgue privilegios a la base de datos de ProcessWire con el siguiente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON processdb.* TO 'process'@'localhost' IDENTIFIED BY 'password';
A continuación, elimine los privilegios con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
A continuación, salga de la consola de MariaDB con el siguiente comando:
MariaDB [(none)]> exit
Descargar e instalar ProcessWire
Puede descargar la última versión de ProcessWire desde el repositorio de Git usando el siguiente comando:
wget https://github.com/processwire/processwire/archive/master.zip
Después de la descarga, descomprima el archivo descargado con el siguiente comando:
unzip master.zip
A continuación, copie el directorio extraído en el directorio raíz web de Apache con el siguiente comando:
sudo cp -r processwire-master /var/www/html/processwire
A continuación, otorgue los permisos adecuados al directorio processwire con el siguiente comando:
sudo chown -R www-data:www-data /var/www/html/processwire/
sudo chmod -R 777 /var/www/html/processwire/
Configurar Apache para ProcessWire
A continuación, deberá crear un archivo de host virtual de Apache para ProcessWire. Puede hacerlo ejecutando el siguiente comando:
sudo nano /etc/apache2/sitios-disponibles/processwire.conf
Agregue las siguientes líneas:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/processwire ServerName example.com <Directory /var/www/html/processwire/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/processwire_error.log CustomLog ${APACHE_LOG_DIR}/processwire_access.log combined </VirtualHost>
Guarde y cierre el archivo cuando haya terminado. Luego, habilite el archivo de host virtual de Apache y reescriba el módulo con el siguiente comando:
sudo a2ensite processwire.conf
sudo a2enmod rewrite
Finalmente, reinicie el servicio Apache para aplicar todos los cambios:
sudo systemctl restart apache2
Acceso a ProcessWire
Abra su navegador web y escriba la URL http://example.com. Será redirigido a la página de bienvenida de ProcessWire:
Ahora, haga clic en Comenzar botón. Debería ver la siguiente página:
Seleccione el perfil de instalación del sitio clásico y haga clic en Continuar botón. Debería ver la siguiente página:
Después de validar todos los requisitos, haga clic en Continuar Al siguiente paso botón. Debería ver la siguiente página:
Aquí, proporcione los detalles de su base de datos, como el nombre de host, el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos, la zona horaria. Luego, haga clic en Continuar botón. Debería ver la siguiente página:
Aquí, proporcione su URL de inicio de sesión de administrador, nombre de usuario y contraseña de administrador. Luego, haga clic en Continuar botón. Una vez que la instalación se completó con éxito, debería ver la siguiente página:
Ahora, haga clic en Iniciar sesión en Administrador botón. Debería ver la siguiente página:
Proporcione su nombre de usuario y contraseña de administrador. Luego, haga clic en Iniciar sesión botón. Debería ver el panel predeterminado de ProcessWire en la siguiente página:
Enlaces
- https://processwire.com/