Complete backup solution I'm trying to backup my Drupal website (not only database) as complete as possible, because It's in the desired state. The backup should cover actual versions of all modules, themes, database tables, settings, just everything.
Now my method is to zip everything under /var/www/ folder and backup the database with Backup migrate module.
The restore process is


delete everything in /var/www
drop database and create it again and set permissions on it
unzip my backup to /var/www
restore with Backup migrate module


Will this method work? Do you know smarter method to make a complete Drupal web backup?
Will this work?
Yes
Is there a smarter method?
Drush + drush make
Drush is a command line tool that you can use for various things, one of them is to create a site. With a drush make file, you can save all of the modules you use (including version and even patches applied to them if needed). Once create you could recreate all of the modules by doing something like this:
drush make --no-core --contrib-destination=[path to the contrib folder like sites/all] [path to the make file]

You can read more about drush and drush make which has documentation about usage.
Also backup and migrate will or can add a drop syntax, so that it automatically drops tables when restoring the database. So using it, you wont need to wipe out your database completely. If need be, you can truncate it so you wont have to setup permissions again.