How to Install Easy!Appointments on OpenBSD

Easy!Appointments is a web-based appointment scheduling software that simplifies the process of scheduling appointments for businesses of any size. It is built on the popular LAMP stack, so it requires a server running Apache, MySQL, and PHP to function. In this tutorial, we will guide you through the process of installing Easy!Appointments on your OpenBSD server.

Prerequisites

Before we start with the installation, we need to ensure that the following prerequisites are met:

Step 1: Download Easy!Appointments

To download Easy!Appointments, we need to open the terminal and run the following command:

$ cd /var/www/htdocs/
$ sudo wget https://github.com/alextselegidis/easyappointments/releases/download/1.5.3/easyappointments-1.5.3.zip

This will download the Easy!Appointments archive to the /var/www/htdocs/ directory.

Step 2: Install Unzip

Easy!Appointments is packed in ZIP format, so we need to install the unzip command to extract it. To install unzip, run the following command:

$ sudo pkg_add unzip

Step 3: Extract Easy!Appointments

Now, we can extract the Easy!Appointments archive using the following command:

$ sudo unzip easyappointments-1.5.3.zip

This will create a directory named easyappointments in the /var/www/htdocs/ directory.

Step 4: Configure the Web Server

We need to create a virtual host for Easy!Appointments. To do so, we need to open the Apache configuration file /etc/httpd.conf and add the following lines at the end of the file:

<VirtualHost *:80>
    ServerName your-domain.com
    DocumentRoot /var/www/htdocs/easyappointments
    <Directory /var/www/htdocs/easyappointments>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Replace your-domain.com with your domain name or server's IP address.

Step 5: Create the Easy!Appointments Database

Before we can install Easy!Appointments, we need to create a database for it using the MySQL command-line tool. Connect to MySQL with the following command:

$ mysql -u root -p

Enter the MySQL root password when prompted.

Create a new database, user, and grant privileges to the user by running the following commands:

mysql> CREATE DATABASE easyappointments;
mysql> CREATE USER 'appointments'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON easyappointments.* TO 'appointments'@'localhost';
mysql> FLUSH PRIVILEGES;

Replace password with a strong password of your choice.

Step 6: Install Easy!Appointments

We are now ready to install Easy!Appointments. Open your web browser and access your domain name or server's IP address. The Easy!Appointments installation wizard will guide you through the installation process. Follow the steps and enter the database credentials when prompted.

Step 7: Set up Cron Jobs

Easy!Appointments requires certain cron jobs to be set up to send email notifications and perform other tasks. Edit the crontab file with the following command:

$ crontab -e

Add the following lines at the end of the file:

# Send email notifications every 30 minutes
*/30 * * * * /usr/local/bin/php -f /var/www/htdocs/easyappointments/index.php send-reminders >> /var/log/easyappointments-cron.log 2>&1

# Clear old logs every day at midnight
0 0 * * * /usr/local/bin/php -f /var/www/htdocs/easyappointments/index.php clear-logs >> /var/log/easyappointments-cron.log 2>&1

Save and exit the file.

Conclusion

In this tutorial, we have shown you how to install Easy!Appointments on your OpenBSD server. You should now have a fully functioning Easy!Appointments application at your domain name or server's IP address. If you encounter any issues during installation, refer to the Easy!Appointments documentation or seek help from the community.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!