Attendize installeren op FreeBSD 12

Attendize is een Open-source platform voor ticketverkoop en evenementenbeheer en is alles wat je nodig hebt voor een succesvol evenement. Attendize heeft een breed scala aan functies die erop gericht zijn het organiseren van evenementen zo moeiteloos mogelijk te maken.

Lijst van functies:

  • Mooie mobiel-vriendelijke evenementpagina’s.
  • Eenvoudig beheer van aanwezigen – Terugbetalingen, Berichten, enz.
  • Gegevens export – aanwezigenlijst naar XLS, CSV, enz.
  • Genereer een print-vriendelijke aanwezigenlijst.
  • Mogelijkheid om een onbeperkt aantal organisatoren/evenementen te beheren.
  • Beheer meerdere organisatoren.
  • Real-time evenement statistieken.
  • Aanpasbare pagina’s voor evenementen.
  • Ondersteuning van meerdere valuta.
  • Snel en gemakkelijk afrekenen.
  • Aanpasbare tickets – met QR codes, logo’s van organisatoren, enz.
  • Volledig personaliseerbaar – met je logo’s op tickets, enz.
  • Bijhouden van affiliates – bijhouden van verkoopvolume/aantal gegenereerde bezoeken, enz.
  • Widget ondersteuning – integreer een widget voor ticketverkoop in bestaande websites/WordPress blogs.
  • Sociaal delen.
  • Ondersteuning van meerdere betalingsgateways – Stripe en PayPal uit de doos. Andere betalingsgateways kunnen worden toegevoegd.
  • Ondersteuning voor offline betalingen.
  • Terugbetalingen – gedeeltelijke terugbetaling & volledige terugbetaling.
  • Mogelijkheid om servicekosten aan tickets toe te voegen.
  • Berichten – bv. e-mail alle aanwezigen met een X ticket.
  • Openbare evenementenlijst pagina voor organisatoren.
  • Mogelijkheid om aangepaste vragen te stellen bij het afrekenen.
  • Browser-gebaseerde QR code scanner voor deurbeheer.

Deze handleiding toont je de stappen om Attendize op FreeBSD 12 te installeren.

Vereisten

  • Een server met FreeBSD 12.
  • Een niet-root gebruiker met sudo privileges.

Vereisten

  • Nginx
  • MariaDB
  • PHP versie 7.1.3 of hoger met de volgende uitbreidingen: (OpenSSL, PDO, Mbstring, Tokenizer, Fileinfo, GD)

Eerste stappen

Controleer de versie van FreeBSD.

uname -ro
# FreeBSD 12.1-RELEASE

Werk de pakketten (software) van je besturingssysteem bij. Dit is een belangrijke eerste stap omdat je er zeker van bent dat je de laatste updates en beveiligingsfixes voor de standaard softwarepakketten van je besturingssysteem hebt.

freebsd-update fetch install
pkg update && pkg upgrade -y

Installeer enkele essentiële pakketten die nodig zijn voor het basisbeheer van het FreeBSD 12 besturingssysteem.

pkg install -y sudo vim unzip curl wget bash socat git

Maak een nieuwe gebruikersaccount aan met de gebruikersnaam van je voorkeur, we zullen johndoe gebruiken.

adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Voer het visudo commando uit en maak het commentaar op de regel %wheel ALL=(ALL) ALL ongedaan, om leden van de groep wheel toe te staan elk commando uit te voeren.

visudo

# Uncomment by removing hash (#) sign
%wheel ALL=(ALL) ALL

Schakel nu over naar je nieuw aangemaakte gebruiker met su commando.

su - johndoe

OPMERKING: Vervang johndoe door je gebruikersnaam.

Stel de tijdzone in.

sudo tzsetup

Stap 1 – Installeer PHP

Installeer PHP, en ook de nodige PHP uitbreidingen.

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-pdo_pgsql

Controleer de PHP versie.

php --version
# PHP 7.2.17 (cli) (built: Apr 13 2019 01:13:32) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Soft-link php.ini-production naar php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Schakel PHP-FPM in en start het.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Stap 2 – Installeer MariaDB en maak een databank

Installeer MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Controleer de MariaDB versie.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.22-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

Start MariaDB en schakel het in.

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Voer het mysql_secure_installation script uit om je MariaDB installatie beter te beveiligen.

sudo mysql_secure_installation

Log in MariaDB in als de root gebruiker.

mysql -u root -p
# Enter password:

Maak een nieuwe MariaDB databank en gebruiker. Onthoud de credentials voor deze nieuwe gebruiker. Vervang dbname, gebruikersnaam, en wachtwoord in de onderstaande commando’s door je databasenaam, databankgebruikersnaam, en wachtwoord.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Stap 4 – Installeer en configureer Nginx

Installeer Nginx.

sudo pkg install -y nginx

Controleer de Nginx versie.

nginx -v
# nginx version: nginx/1.14.2

Schakel Nginx service in en start hem.

sudo sysrc nginx_enable=yes
sudo service nginx start

Voer sudo vim /usr/local/etc/nginx/attendize.conf uit en stel Nginx virtuele server in voor Attendize.

server {
  listen 80;
  listen [::]:80;
  server_name example.com;
  root /usr/local/www/attendize/public;

  index index.php;

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

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass 127.0.0.1:9000;
  }
}

Sla het bestand op en verlaat je editor.

Neem het attendize.conf bestand op in het hoofd nginx.conf bestand doorsudo vim /usr/local/etc/nginx/nginx.conf uit te voeren en de volgende regel aan het http {} blok toe te voegen.

include attendize.conf;

Test onze Nginx configuratie veranderingen.

sudo nginx -t

Herlaad Nginx.

sudo service nginx reload

Stap 5 - Installeer Composer

Installeer Composer globaal door het volgende script in je terminal uit te voeren.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

OPMERKING: In het bovenstaande commandoblok verandert de hash bij elke versie van het installatieprogramma. Bezoek https://getcomposer.org/download voor de nieuwste Composer installatiecommando's.

Controleer de versie.

composer --version
# Composer version 1.10.1 2020-03-13 17:46:47

Stap 6 - Installeer Attendize

Maak een document root directory waar Attendize in moet komen te staan.

sudo mkdir -p /usr/local/www/attendize

Verander het eigendom van de map /usr/local/www/attendize in johndoe. Vervang "johndoe" door je gebruikersnaam.

sudo chown -R johndoe:johndoe /usr/local/www/attendize

Navigeer naar de document root directory.

cd /usr/local/www/attendize

Download de nieuwste versie van Attendize en pak die uit.

wget https://github.com/Attendize/Attendize/archive/v1.3.0.zip
unzip v1.3.0.zip rm v1.3.0.zip
mv Attendize-1.3.0/* . && mv Attendize-1.3.0/.* .
rmdir Attendize-1.3.0

Maak een kopie van het omgevingsconfiguratiebestand.

cp .env.example .env

Voer de componist uit om de verschillende bibliotheken te installeren.

composer install

OPMERKING: Als je systeem minder dan 2 GB geheugen heeft, kun je tegen fouten aanlopen bij het draaien van composer install. Om dit te verhelpen configureer je een grotere hoeveelheid swap geheugen.

Genereer een applicatiesleutel.

php artisan key:generate

Verander het eigendom van de /usr/local/www/attendize directory in www.

sudo chown -R www:www /usr/local/www/attendize

Navigeer naar http://example.com/install en je ziet het installatiescherm.

Na het volgen van de instructies op het scherm wordt Attendize geïnstalleerd.

Stap 7 - Toegang krijgen tot Attendize

Open nu je web browser en typ de URL http://example.com. Je wordt doorverwezen naar de volgende pagina:

Server setup check 1

Server setup check 2

database-instellingen

Instellingen voor e-mail

Zorg ervoor dat alle vereiste extensies geïnstalleerd zijn. Geef dan je database gegevens op, je e-mail gegevens en klik op de knop INSTALL ATTENDIZE. Je zou de volgende pagina moeten zien:

Attendize aanmelden

Geef je naam, e-mail adres en wachtwoord op. Klik dan op de SIGN-UP knop. Je zou de volgende pagina moeten zien:

Inloggen op Attendize

Geef nu je inloggegevens op en klik op de LOGIN knop. Je zou de volgende pagina moeten zien:

Organisator maken

Geef nu je organisatorennaam, e-mail, beschrijving en klik op de knop CREATE ORGANISER. Je zou de volgende pagina moeten zien:

Maak gebeurtenis

Gefeliciteerd! Je hebt Attendize, een toepassing voor kaartverkoop en evenementenbeheer, met succes op je FreeBSD 12 server geïnstalleerd. Je kunt nu een onbeperkt aantal evenementen organiseren en beheren zonder extra kosten met Attendize. Voor meer informatie kun je de officiële documentatie van Attendize bekijken op Attendize Doc