Attendize Event Management Software installeren op Ubuntu 18.04 LTS

Attendize is een gratis en open-source kaartverkoop en evenementenbeheer geschreven in PHP op de top van het Laravel framework. Attendize biedt een eenvoudige oplossing voor het beheren van algemeen toegankelijke evenementen, zonder extra kosten te betalen. Met Attendize kun je eenvoudig meerdere organisatoren/evenementen beheren en real-time evenement statistieken bijhouden. Attendize ondersteunt meerdere betalingsgateways zoals Stripe, PayPal en nog veel meer. Met Attendize kun je een widget voor ticketverkoop in je bestaande WordPress blog inbouwen.

In deze handleiding leggen we uit hoe je Attendize op een Ubuntu 18.04 LTS server kunt installeren.

Vereisten

  • Een server waarop Ubuntu 18.04 draait.
  • PHP versie 7.1.3 of hoger met OpenSSL, PDO, Mbstring, Fileinfo, GD en Tokenizer uitbreidingen.
  • Een root wachtwoord is op je server ingesteld.

Installeer Nginx, MariaDB, en PHP

Attendize draait op een webserver, geschreven in PHP en gebruikt MariaDB om de gegevens op te slaan. Je moet dus Nginx, MariaDB, PHP en de vereiste PHP uitbreidingen op je server installeren. Je kunt ze allemaal installeren door het volgende commando uit te voeren:

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

Als alle vereiste pakketten geïnstalleerd zijn, start je de Nginx en MariaDB service en schakel je ze in om te starten bij het herstarten van het systeem met het volgende commando:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Database instellen

MariaDB is standaard niet beveiligd. Je zult het dus eerst moeten beveiligen. Je kunt MariaDB beveiligen met het volgende script:

mysql_secure_installation

Beantwoord alle vragen zoals hieronder aangegeven:

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!

Zodra de MariaDB beveiligd is, log je in op MariaDB shell met het volgende commando:

mysql -u root -p

Geef je root wachtwoord als daarom gevraagd wordt. Maak dan een database en gebruiker voor Attendize met het volgende commando:

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

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

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

Als de database is aangemaakt, kun je verder gaan met de volgende stap.

Installeer Attendize

Voordat je Attendize downloadt, moet je Composer op je systeem installeren. Je kunt Composer installeren door gewoon het volgende commando uit te voeren:

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

Na de installatie van Composer kun je de versie van de Composer controleren met het volgende commando:

composer --version

De uitvoer zou er ongeveer zo uit moeten zien als hieronder:

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

Download vervolgens de nieuwste versie van Attendize uit de Git repository naar de Nginx web root directory met het volgende commando:

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

Verander vervolgens de directory in attendize en hernoem het .env.example bestand:

cd attendize
mv .env.example .env

Open vervolgens het .env bestand met je favoriete teksteditor:

nano .env

Definieer je database instelling zoals hieronder:

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

Bewaar en sluit het bestand, als je klaar bent. Geef dan de juiste permissies aan de attendize directory met het volgende commando:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Nginx voor Attendize

Maak vervolgens een Nginx virtual host bestand voor Attendize.

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

Voeg de volgende regels toe:

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;
    }
}

Sla het bestand op en sluit het. Schakel dan het virtuele host bestand in met het volgende commando:

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

Controleer Nginx vervolgens op syntaxfouten met het volgende commando:

nginx -t

De uitvoer zou er ongeveer zo uit moeten zien als hieronder:

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

Herlaad tenslotte Nginx en de PHP-FPM dienst om alle veranderingen in de configuratie toe te passen:

systemctl reload nginx
systemctl restart php7.2-fpm

Je kunt de status van Nginx controleren met het volgende commando:

systemctl status nginx

Je zou de volgende uitvoer moeten zien:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

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, 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 Ubuntu 18.04 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 Attendize documentatie bezoeken opAttendize Doc