Installation Guide
Set up Event Schedule on your own server with this step-by-step guide. For automated installation, consider using Softaculous or Docker.
Overview
This guide walks you through manually installing Event Schedule on your own server. The installation process involves setting up a database, downloading the application files, configuring permissions, and setting up scheduled tasks.
For easier installation, you can use:
- Softaculous - One-click installation on cPanel hosts
- Docker - Containerized deployment with Docker Compose
Requirements
Before you begin, ensure your server meets the following requirements:
| Requirement | Minimum Version | Notes |
|---|---|---|
| PHP | 8.1+ | With required extensions (see below) |
| MySQL | 5.7+ or MariaDB 10.3+ | For database storage |
| Web Server | Apache or Nginx | With mod_rewrite or equivalent |
| SSL Certificate | Required | HTTPS is required for security |
Required PHP Extensions
- BCMath
- Ctype
- Fileinfo
- JSON
- Mbstring
- OpenSSL
- PDO (with MySQL driver)
- Tokenizer
- XML
- cURL
- GD or Imagick
1. Set Up the Database
Create a MySQL database and user for Event Schedule. Run the following commands in your MySQL client:
CREATE DATABASE eventschedule;
CREATE USER 'eventschedule'@'localhost' IDENTIFIED BY 'change_me';
GRANT ALL PRIVILEGES ON eventschedule.* TO 'eventschedule'@'localhost';
Replace change_me with a strong, unique password. Never use default or weak passwords in production.
2. Download the Application
Download the latest release and extract it to your web server's document root.
- Download eventschedule.zip from the latest GitHub release
- Upload the zip file to your server
- Extract the contents to your web root directory
# Example: Extract to web root
cd /var/www
unzip eventschedule.zip
Your web server should point to the public directory inside the extracted folder, not the root directory itself.
3. Set File Permissions
Ensure the web server has proper permissions to write to storage and cache directories.
cd /path/to/eventschedule
chmod -R 755 storage
sudo chown -R www-data:www-data storage bootstrap public
The user www-data is typical for Apache on Debian/Ubuntu. Your web server may run under a different user (e.g., nginx, apache, or http). Check your server configuration.
4. Configure Environment
Copy the example environment file to create your configuration:
cp .env.example .env
Now access your application at https://your-domain.com in your browser. You'll see the setup wizard where you can configure:
- Database connection details
- Application name and URL
- Email settings
- Admin account credentials
The setup wizard will guide you through the initial configuration and run database migrations automatically.
5. Set Up the Cron Job
Event Schedule requires a cron job to run scheduled tasks like sending reminder emails, syncing calendars, and releasing expired ticket reservations.
Add the following line to your server's crontab:
* * * * * php /path/to/eventschedule/artisan schedule:run
Adding the Cron Job
To edit your crontab, run:
crontab -e
Add the cron line at the end of the file, making sure to replace /path/to/eventschedule with your actual installation path.
If using cPanel, you can add cron jobs via the "Cron Jobs" section in your control panel without using the command line.
Verification
After completing the installation, verify everything is working correctly:
- Access the application: Visit
https://your-domain.comand confirm the homepage loads - Create an account: Register a new user account to verify database connectivity
- Create a schedule: Create a test schedule and add an event
- Check logs: Review
storage/logs/laravel.logfor any errors
If you encounter any issues during installation, check the GitHub Issues or start a Discussion.
Next Steps
Now that Event Schedule is installed, you may want to:
- Configure Stripe payments for ticket sales
- Set up Google Calendar integration
- Configure email settings for notifications
- Customize your branding and appearance