In /etc/apache2/sites-available you will see something like that:

ls /etc/apache2/sites-available
000-default.conf 000-default-le-ssl.conf default-ssl.conf  
000-default.conf.dpkg-dist

Upload all your website files to /var/www/html/example.com

Then, copy the config file

cd /etc/apache2/sites-available  
sudo cp 000-default.com.conf example.com.conf

Modify new conf file

<VirtualHost *:80>
    ServerAdmin your.email@gmail.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <IfModule mod_dir.c>
        DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
    </IfModule>
</VirtualHost>

Enable the virtual host

sudo a2ensite example.com.conf

Enable SSL

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

Restart apache

sudo systemctl restart apache2