I was going to suggest that same idea! LOL
It's still 1000x easier.
Just make /user1 ... /user300
And for database, you can assign them accounts and name them to match their user ID. So they would end up being something like zadmin_user1:password:[somethingrandom] and assign to each user
Make a backup of the hosting_we_po_opole_pl/ folder including subfolders (user1, user2, etc.)
This way, when the class ends and you start a new class, you just restore your backup 'refreshing' the folders and reassign new passwords for the databases