Attendize on Debian 12 with PHP 7.4 – A Self-Hosted Event Ticketing Solution for Modern Infrastructure
Attendize is a free and open-source event management and ticket-selling platform designed to provide organizers with full control over their event infrastructure. Built with Laravel 5.8, Attendize offers features such as multi-event management, customizable ticket types, discount codes, and payment integration—all wrapped in a clean, responsive UI.
However, one of the key technical considerations when deploying Attendize today is its tight dependency on PHP 7.4, which is no longer included in the default repositories of modern Linux distributions like Debian 12 (“Bookworm”).
Why PHP 7.4 is Required for Attendize
Attendize has not been updated to support Laravel 9+ or PHP 8.x. Its core codebase depends on syntax and library versions compatible only with PHP 7.4. Attempting to run it on PHP 8.0 or newer will likely result in:
- Fatal function errors (e.g., removed functions or deprecated behavior)
- Incompatible composer dependencies (e.g.,
illuminate/*
packages) - Broken plugin behavior or UI inconsistencies
PHP 7.4 is the last officially supported version that ensures full compatibility with Attendize. It also provides the best stability with the Laravel 5.8 ecosystem, including Blade templates, Eloquent ORM, and Laravel queues.
Deploying PHP 7.4 on Debian 12
Debian 12 ships with PHP 8.2 by default, and PHP 7.4 has been removed from the official repositories. To install PHP 7.4, system administrators must rely on a trusted third-party source such as the Sury PHP repository, maintained by Ondřej Surý, which includes legacy PHP packages.
This process introduces extra steps for dependency management, but it ensures that Attendize remains functional in a modern, secure OS environment like Debian 12.
Attendize Software Stack on Debian 12
Component | Recommended Version | Role |
---|---|---|
PHP | 7.4 | Application runtime (Laravel) |
MySQL/MariaDB | 10.x+ | Persistent data storage |
Web Server | Apache 2.4 / NGINX 1.22 | Reverse proxy / web delivery |
Composer | 2.x | PHP dependency manager |
Node.js | 18.x+ (optional) | Asset compilation (CSS/JS) |
Supervisor | System-level tool | Handles background queue workers |
Attendize can be deployed on a LEMP or LAMP stack, with NGINX + PHP-FPM being preferred for performance and security.
Key Features of Attendize
- Multi-Organizer & Multi-Event Support
Allows multiple users or departments to manage independent events. - Payment Gateway Integration
Built-in support for Stripe, PayPal, and offline payments. - Discount Codes & Ticket Tiers
Enables tiered pricing, limited seats, early bird tickets, and promo codes. - Email Notifications
Customizable transactional emails sent to attendees and admins. - Responsive Interface
Optimized for mobile ticket sales and attendee interaction.
Attendize vs Other Ticketing Solutions
Feature / Platform | Attendize | Pretix | Eventbrite | TicketingHub |
---|---|---|---|---|
License | MIT | AGPLv3 | Proprietary | Proprietary |
Hosting Model | Self-hosted | Self/Cloud | Cloud-only | Cloud-only |
Customization | Full | High | Low | Low |
PHP Version | 7.4 only | N/A | N/A | N/A |
Payment Methods | Stripe, PayPal | Many | Stripe, Square | Stripe |
Pricing | Free | Free + SaaS | Per-ticket fee | Per-ticket fee |
Attendize is a great choice for organizations seeking full ownership, zero per-ticket fees, and open-source flexibility. However, it lacks the frequent updates and modern integrations found in newer systems like Pretix or enterprise SaaS platforms.
Benefits of Running Attendize on Debian 12
- Modern Kernel and System Libraries: Debian 12 includes Linux kernel 6.1, updated systemd, and optimized networking—all of which benefit server performance.
- Stability & Longevity: As an LTS release, Debian 12 is supported until mid-2028, making it a reliable base for long-term deployments.
- Strong Community and Documentation: Debian’s large ecosystem ensures excellent support for troubleshooting and security patching.
Challenges and Risks
- PHP 7.4 is EOL: Using an outdated PHP version means you must isolate Attendize in containers or VMs and avoid exposing it to public access without hardening.
- Stale Development: Attendize has seen slow community activity. You may need to patch bugs or maintain forks yourself.
- Dependency Management: Composer packages may conflict with other system-level PHP apps unless managed carefully (e.g., via Docker or PHP version managers).
Best Practices for Production Deployment
- Use a VPS or Container: Prefer Shape.Host Cloud VPS or Docker containers to isolate PHP 7.4 from other apps.
- Automate Backups: Use cron and
mysqldump
to back up your database daily. - SSL Encryption: Use Let’s Encrypt for HTTPS with Certbot.
- Queue Workers: Configure Laravel queue workers with Supervisor to handle ticket confirmations and emails reliably.
- Firewall Rules: Limit access to
/admin
endpoints or secure with 2FA.
Attendize on Debian 12 with PHP 7.4 offers a functional and open-source alternative to commercial ticketing platforms. It’s especially attractive to developers, nonprofits, educational institutions, and small agencies that want full control over their event infrastructure—without recurring platform fees.
While using an outdated PHP version poses security concerns, careful isolation, OS-level hardening, and community support make it a viable solution in 2025, especially when hosted on robust infrastructure like Shape.Host VPS.
Step 1: Set Up a Server Instance on Shape.Host
To install Attendize, you’ll first need a clean Debian 12 server. Shape.Host makes this fast and easy with scalable Cloud VPS services. Here’s how to get your server ready:
Log in at https://shape.host.
Click on “Create” and select “Instance”.

Location: Pick the closest data center to your target users.

Server Type: Choose a VPS plan.
Operating System: Select Debian 12 (64-bit).
Specs: Choose a plan with at least 2 vCPUs, 4 GB RAM, and 40 GB SSD.

Click “Create Instance”.

After deployment, copy your instance’s IP address from the “Resources” tab for later SSH access.

Step 2: Connect to Your Instance via SSH
On Linux/macOS:
ssh root@your_server_ip
On Windows:
Use PuTTY, enter the server IP in “Host Name,” and connect as root
.
Step 3: Install Attendize with PHP 7.4
Follow each step and command below as performed in the installation session.
1. Update your system:
apt update

2. Install necessary packages:
apt install curl git unzip gnupg2 ca-certificates lsb-release software-properties-common

3. Add Sury repository for PHP 7.4:
echo "deb https://packages.sury.org/php/ bookworm main" > /etc/apt/sources.list.d/sury.list
4. Add the GPG key:
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-php.gpg
5. Update again to load PHP 7.4 packages:
apt update

6. Install PHP 7.4 and required extensions:
apt install php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-mysql php7.4-mbstring php7.4-xml php7.4-curl php7.4-zip php7.4-gd php7.4-intl php7.4-bcmath

7. Install MariaDB server:
apt install mariadb-server

8. Secure your database:
mysql_secure_installation

9. Create database and user:
mysql -u root -p
Inside the MySQL prompt:
CREATE DATABASE attendize CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'attendize'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON attendize.* TO 'attendize'@'localhost';
FLUSH PRIVILEGES;
EXIT;

10. Install Composer:
curl -sS https://getcomposer.org/installer | php
11. Move Composer to system path:
mv composer.phar /usr/local/bin/composer
12. Verify Composer:
composer --version

13. Prepare project directory:
mkdir -p /var/www
cd /var/www
14. Clone Attendize:
git clone https://github.com/Attendize/Attendize.git
cd Attendize
git checkout v2.8.0

15. Setup environment:
cp .env.example .env
nano .env

Update the following:
APP_URL=http://your_domain_or_ip
DB_DATABASE=attendize
DB_USERNAME=attendize
DB_PASSWORD=your_secure_password
MAIL_DRIVER=smtp
MAIL_HOST=smtp.yourhost.com
MAIL_PORT=587
MAIL_USERNAME=you@example.com
MAIL_PASSWORD=your_mail_password
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="Attendize"
MAIL_FROM_ADDRESS="you@example.com"

16. (Optional) Install IDE helper:
composer require --dev barryvdh/laravel-ide-helper

17. Generate application key:
php artisan key:generate

18. Migrate and seed the database:
php artisan migrate --seed

19. Set correct permissions:
chown -R www-data:www-data /var/www/Attendize
chmod -R 775 storage bootstrap/cache

Step 4: Configure NGINX
1. Install NGINX:
apt install nginx

2. Create site config:
nano /etc/nginx/sites-available/attendize
Paste:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/Attendize/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}

3. Enable the site:
ln -s /etc/nginx/sites-available/attendize /etc/nginx/sites-enabled/
4. Test config and reload:
nginx -t && systemctl reload nginx

Step 5: Set Up Attendize Queue Worker
1. Create systemd service:
nano /etc/systemd/system/attendize-queue.service
Paste:
[Unit]
Description=Attendize Queue Worker
After=network.target
[Service]
ExecStart=/usr/bin/php /var/www/Attendize/artisan queue:work
Restart=always
User=www-data
Group=www-data
[Install]
WantedBy=multi-user.target

2. Enable and start the service:
systemctl daemon-reload
systemctl enable --now attendize-queue

3. Add Laravel scheduler to crontab:
crontab -u www-data -e

Add:
* * * * * php /var/www/Attendize/artisan schedule:run >> /dev/null 2>&1

Step 6: Additional PHP Support
If PostgreSQL is needed:
apt install php7.4-pgsql
Then restart PHP and NGINX:
systemctl restart php7.4-fpm
systemctl reload nginx
Step 7: Final Setup via Web Installer
Go to:
http://your_domain_or_ip/install
Follow the on-screen instructions to complete the installation via browser.






You’ve now installed Attendize on Debian 12 using PHP 7.4. Your event management platform is now ready to accept organizers, tickets, and payments.
Need scalable, secure infrastructure?Try Shape.Host Cloud VPS — your go-to platform for production-ready deployments.
👉 Visit https://shape.host to get started today!