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:
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:
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:
Ahora, proporciona tus datos de acceso y haz clic en el botón INICIAR SESIÓN. Deberías ver la siguiente página:
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:
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