# Chevereto VPS

Installation service available

We offer a paid installation service (opens new window) for this guide. We will install Chevereto VPS for you, including all the requirements and configurations.

Collection of universal bash scripts to install Chevereto in any VPS (Virtual Private Server). We strongly recommend DigitalOcean (opens new window), Vultr (opens new window) and Linode (opens new window).

# Repository

We have a GitHub repository with all the commands we will need. Check the repository at chevereto/vps (opens new window) for instructions.

# Instructions

  • Root login to your VPS
  • Run the following script(s)

# Ubuntu

Note: Ubuntu LTS 24.04 is recommended. If you run other system you may need to alter the scripts. Feel free to contribute.

# Prepare

The prepare.sh (opens new window) script install the system stack (PHP, Apache HTTP Web server, MySQL Server, Composer, FFmpeg and Certbot) on Ubuntu.

Reboot the VPS to make sure to apply any pending kernel updates:

systemctl reboot

Make sure to change 24.04 to match your Ubuntu LTS (available 20.04, 22.04 and 24.04).

bash <(curl -s https://raw.githubusercontent.com/chevereto/vps/4.1/ubuntu/24.04/prepare.sh)

This message will be shown on success:

[OK] Stack ready for Chevereto!

# Common

  • The scripts at common/ will work under any unix-like system
  • Requires curl and unzip

# New

The new.sh (opens new window) script downloads Chevereto and configures Apache HTTP Web server, MySQL, CRON and FFmpeg. Its purpose is to prepare for Chevereto Installation (opens new window).

This is intended to brand new installations and it should run after prepare as it assumes that the system stack is ready.

bash <(curl -s https://raw.githubusercontent.com/chevereto/vps/4.1/common/new.sh)

# Notes

On the server:

  • The web root is located at /var/www/html
  • The MySQL root password is saved at /root/.mysql_password
  • Logs are at /var/log/apache2

IMPORTANT:

  • Secure your database by running mysql_secure_installation

# Get

The get.sh (opens new window) script download and extracts Chevereto in the current working folder.

  • cd into the website project folder (for example /var/www/html)
  • Run the following command
bash <(curl -s https://raw.githubusercontent.com/chevereto/vps/4.1/common/get.sh)

# Cloudflare remote IP

The cf-remoteip.sh (opens new window) script syncs the known IPs for CloudFlare remote IP. This must be used if you are using CloudFlare.

Warning: If you use CloudFlare and not complete this setup your Chevereto installation won't be able to retrieve real visitors IP.

bash <(curl -s https://raw.githubusercontent.com/chevereto/vps/4.1/common/cf-remoteip.sh)
  • To save the above script in your VPS:
curl -f -SOJL \
    --output-dir /etc/apache2 \
    https://raw.githubusercontent.com/chevereto/vps/4.1/common/cf-remoteip.sh
  • To add the above script to CRON (cron.d) to keep these IP ranges auto updated:
cat >/etc/cron.d/cf-remoteip <<EOM
30 3 * * * /etc/apache2/cf-remoteip.sh >/dev/null 2>&1
EOM

# HTTPS setup

Run the following command to get automatic renewable HTTPS thanks to certbot. Mind to change example.com with the target domain(s).

certbot --apache -d example.com

If you are using www. subdomain you can add it like this:

certbot --apache -d example.com -d www.example.com