Cómo instalar el software de gestión de eventos Attendize en Ubuntu 18.04 LTS

Attendize es un sistema de venta de entradas y gestión de eventos gratuito y de código abierto escrito en PHP sobre el framework Laravel. Attendize ofrece una solución sencilla para la gestión de eventos de admisión general, sin tener que pagar cargos adicionales. Con Attendize, puedes gestionar fácilmente múltiples organizadores/eventos y estadísticas de eventos en tiempo real. Attendize soporta múltiples pasarelas de pago como Stripe, PayPal y muchas más. Attendize te permite incrustar el widget de venta de entradas en tu blog de WordPress.

En este tutorial, explicaremos cómo instalar Attendize en un servidor Ubuntu 18.04 LTS.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Versión de PHP 7.1.3 o superior con las extensiones OpenSSL, PDO, Mbstring, Fileinfo, GD y Tokenizer.
  • Configura una contraseña de root en tu servidor.

Instala Nginx, MariaDB y PHP

Attendize se ejecuta en un servidor web, escrito en PHP y utiliza MariaDB para almacenar sus datos. Por lo tanto, necesitarás instalar Nginx, MariaDB, PHP y las extensiones PHP necesarias en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 mariadb-server php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-curl php7.2-json php7.2-zip php7.2-gd php7.2-xml php7.2-mbstring php7.2-opcache php7.2-pgsql curl git unzip -y

Una vez instalados todos los paquetes necesarios, inicia el servicio de Nginx y MariaDB y permite que se inicien al reiniciar el sistema con el siguiente comando:

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar la base de datos

Por defecto, MariaDB no está asegurada. Así que primero tendrás que asegurarla. Puedes asegurar MariaDB con el siguiente script:

mysql_secure_installation

Responde a todas las preguntas como se muestra a continuación:

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

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.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n
 ... skipping.

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

Una vez que MariaDB esté asegurada, entra en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporciona tu contraseña de root cuando se te pida. A continuación, crea una base de datos y un usuario para Attendize con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE attendizedb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON attendizedb.* TO 'attendize'@'localhost' IDENTIFIED BY "password";

A continuación, vacía los privilegios y sal del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez creada la base de datos, puedes pasar al siguiente paso.

Instalar Attendize

Antes de descargar Attendize, tendrás que instalar Composer en tu sistema. Puedes instalar Composer simplemente ejecutando el siguiente comando:

curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Después de instalar Composer, puedes comprobar la versión de Composer con el siguiente comando:

composer --version

El resultado debería ser similar al siguiente:

Composer version 1.8.6 2019-06-11 15:03:05

A continuación, descarga la última versión de Attendize desde el repositorio Git al directorio raíz de la web Nginx con el siguiente comando:

cd /var/www/html/
git clone https://github.com/Attendize/Attendize attendize

A continuación, cambia el directorio a attendize y renombra el archivo .env.example:

cd attendize
mv .env.example .env

A continuación, abre el archivo .env con tu editor de texto favorito:

nano .env

Define la configuración de tu base de datos como se muestra a continuación:

DB_TYPE=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=attendizedb
DB_USERNAME=attendize
DB_PASSWORD=password 

Guarda y cierra el archivo, cuando hayas terminado. A continuación, da los permisos adecuados al directorio attendize con el siguiente comando:

chown -R www-data:www-data /var/www/html/attendize
chmod -R 755 /var/www/html/attendize

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Nginx para Attendize

A continuación, crea un archivo de host virtual Nginx para Attendize.

nano /etc/nginx/sites-available/attendize.conf

Añade las siguientes líneas:

server {
    listen 80;
    listen [::]:80;

    server_name example.com;
    root /var/www/html/attendize/public;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # Check this
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Guarda y cierra el archivo. A continuación, habilita el archivo de host virtual con el siguiente comando:

ln -s /etc/nginx/sites-available/attendize.conf /etc/nginx/sites-enabled/

A continuación, comprueba si el Nginx tiene algún error de sintaxis con el siguiente comando:

nginx -t

La salida debe ser similar a la siguiente:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Por último, recarga el servicio Nginx y PHP-FPM para aplicar todos los cambios de configuración:

systemctl reload nginx
systemctl restart php7.2-fpm

Puedes verificar el estado de Nginx con el siguiente comando:

systemctl status nginx

Deberías ver la siguiente salida:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-07-22 05:07:19 UTC; 3s ago
     Docs: man:nginx(8)
  Process: 17781 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 17793 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 17783 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 17794 (nginx)
    Tasks: 2 (limit: 1114)
   CGroup: /system.slice/nginx.service
           ??17794 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??17796 nginx: worker process

Jul 22 05:07:19 ubuntu1804 systemd[1]: Stopped A high performance web server and a reverse proxy server.
Jul 22 05:07:19 ubuntu1804 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 22 05:07:19 ubuntu1804 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jul 22 05:07:19 ubuntu1804 systemd[1]: Started A high performance web server and a reverse proxy server.

Una vez que hayas terminado, puedes pasar al siguiente paso.

Accede a Attendize

Ahora, abre tu navegador web y escribe la URL http://example.com. Serás redirigido a la siguiente página:

Comprobación de la configuración del servidor 1

Comprobación de la configuración del servidor 2

ajustes de la base de datos

Configuración del correo electrónico

Asegúrate de que todas las extensiones necesarias están instaladas. A continuación, proporciona la información de tu base de datos, la información de tu correo electrónico y haz clic en el botón INSTALAR ATTENDIZE. Deberías ver la siguiente página:

Apúntate a Attendize

Proporciona tu nombre, dirección de correo electrónico y contraseña. A continuación, haz clic en el botón REGISTRARSE. Deberías ver la siguiente página:

Acceder a Attendize

Ahora, proporciona tus datos de acceso y haz clic en el botón INICIAR SESIÓN. Deberías ver la siguiente página:

Crear organizador

Ahora, proporciona tu nombre de organizador, correo electrónico, descripción y haz clic en el botón CREAR ORGANIZADOR. Deberías ver la siguiente página:

Crear evento

Enhorabuena! has instalado con éxito la aplicación de venta de entradas y gestión de eventos Attendize en tu servidor Ubuntu 18.04. Ahora puedes organizar y gestionar un número ilimitado de eventos sin ningún coste adicional utilizando Attendize. Para más información, puedes visitar la documentación oficial de Attendize en AttendizeDoc

También te podría gustar...