::: tip Installation service available We offer a paid installation service 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, Vultr and Linode.
We have a GitHub repository with all the commands we will need. Check the repository at chevereto/vps for instructions.
- Root login to your VPS
- Run the following script(s)
Note: Ubuntu LTS 24.04 is recommended. If you run other system you may need to alter the scripts. Feel free to contribute.
The prepare.sh 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!
- The scripts at
common/
will work under any unix-like system - Requires
curl
andunzip
The new.sh script downloads Chevereto and configures Apache HTTP Web server, MySQL, CRON and FFmpeg. Its purpose is to prepare for Chevereto Installation.
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)
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
The get.sh 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)
The cf-remoteip.sh 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
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