Learn how to – Install Attendize Ticket & Event Management System on Ubuntu 20.04/18.04.
In this blog post, you get to learn how to install Attendize on Ubuntu 20.04/18.04 LTS. Attendize is a free & open-source ticket selling and event management system built using the Laravel PHP framework. This tool was created with the aim to offer event organizers a simple interface for managing admission events, without paying extortionate service fees.
Features of Attendize
Here are the current features offered by Attendize event management system.
- Beautiful mobile friendly event pages
- Easy attendee management – Refunds, Messaging etc.
- Data export – attendees list to XLS, CSV etc.
- Generate print friendly attendee list
- Ability to manage unlimited organisers / events
- Manage multiple organisers
- Real-time event statistics
- Customizable event pages
- Multiple currency support
- Quick and easy checkout process
- Customizable tickets – with QR codes, organiser logos etc.
- Fully brandable – Have your own logos on tickets etc.
- Affiliate tracking
- track sales volume / number of visits generated etc.
- Widget support – embed ticket selling widget into existing websites / WordPress blogs
- Social sharing
- Support multiple payment gateways – Stripe, PayPal & Coinbase so far, with more being added
- Support for offline payments
- Refund payments – partial refund & full refunds
- Ability to add service charge to tickets
- Messaging – eg. Email all attendees with X ticket
- Public event listings page for organisers
- Ability to ask custom questions during checkout
- Browser based QR code scanner for door management
- Elegant dashboard for easy management.
Install Attendize on Ubuntu 20.04/18.04
Attendize has the following system requirements
- PHP >= 7.1.3
- Mbstring PHP Extension
- OpenSSL PHP Extension
- Tokenizer PHP Extension
- PDO PHP Extension
- MySQLi PHP extension
- Fileinfo PHP Extension
- GD PHP Extension
Step 1: Install PHP and Extensions
The first step is to ensure php and required extensions are installed on your Ubuntu system:
sudo apt update
sudo apt install unzip php php-fpm php-mysql php-pdo php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-zip
Once the packages are installed, proceed to install and setup a Database server.
Step 2: Install MariaDB database server
Install MariaDB database server on your Ubuntu system by following our guide:
Install MariaDB 10.x on Ubuntu 18.04 and CentOS 7
You can also run the commands below to install mariadb from OS APT repositories:
sudo apt update
sudo apt install mariadb-server
Secure your DB Server:
$ sudo mysql_secure_installation
Change authentication plugin to be able to login as normal user with root credentials.
$ sudo mysql -u root
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
FLUSH PRIVILEGES;
QUIT;
Confirm it is working:
$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 56
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]>
Create a database for Attendize:
$ mysql -u root -p
CREATE DATABASE attendize;
GRANT ALL PRIVILEGES ON attendize.* TO 'attendize'@'localhost' IDENTIFIED BY "Str0ngDBP@ssw0rd";
FLUSH PRIVILEGES;
QUIT
Step 3: Install and configure Attendize
Download Attendize source code:
git clone https://github.com/Attendize/Attendize
Create an environment configuration file:
cd Attendize/
cp .env.example .env
Edit the file to set database connection settings:
$ vim .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=attendize
DB_USERNAME=attendize
DB_PASSWORD=Str0ngDBP@ssw0rd
You can also configure SMTP
accordingly if you have an SMTP server in your network or one available in the cloud.
Install composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Run composer to install the various libraries:
php composer.phar install
Sample installation output:
> IlluminateFoundationComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: barryvdh/laravel-ide-helper
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: graham-campbell/markdown
Discovered Package: intervention/image
Discovered Package: laracasts/utilities
Discovered Package: laravel/socialite
Discovered Package: laravel/tinker
Discovered Package: laravelcollective/html
Discovered Package: maatwebsite/excel
Discovered Package: mcamara/laravel-localization
Discovered Package: mews/purifier
Discovered Package: milon/barcode
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
> @php artisan clear-compiled
Compiled services and packages files removed!
...
Attendize uses the Laravel framework so you need to generate an application key.
php artisan key:generate
Move project to /var/www/ directory:
cd ..
sudo mv Attendize /var/www/attendize
Set directory permissions:
sudo chown -R www-data:www-data /var/www/attendize/
cd /var/www/attendize/
sudo chown -R www-data storage/{app,framework,logs,cache} bootstrap/cache .env
Change the folders below to have write permissions:
sudo chmod -R a+w storage/{app,framework,logs,cache} bootstrap/cache .env
Step 4: Install and configure Web Sever
If you want to use Nginx web server, first disable apache2:
sudo systemctl disable --now apache2
Then install Nginx:
sudo apt install nginx
Create a new Nginx configuration file:
sudo vim /etc/nginx/conf.d/attendize.conf
Add the following content to the file:
server {
listen 80;
server_name tickets.example.com;
root /var/www/attendize/public;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Where:
- tickets.example.com is the domain name to be used
- /run/php/php7.4-fpm.sock is the path to PHP-FPM socket. For Ubuntu 18.04, this should be /run/php/php7.2-fpm.sock
Then check for syntax before restarting nginx
service
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful $ sudo systemctl restart nginx
Step 5: Access Attendize web console
Access the URL http://tickets.example.com to finish the setup.
Set Application URL, Database Settings and Email Settings. If you had edited the .env file earlier, the settings should be populated automatically.
Create an admin user account
Login using created user account and password.
The last page will ask you to CREATE ORGANISER. Provide organizer details to get started
Similar guides:
How To Install osTicket on Ubuntu
Leave a Reply
You must be logged in to post a comment.