Great tutorial for shared hosting, but I think a dedicated cloud hosting is a better options because it would not have any issues regarding security and performance like with shared hosting. On cloud, you will also get features like CDN, scalability and load balancing. If managing cloud server is difficult or if you don't have any sysadmin experience, then you could try out managed hosting platform, like Cloudways, where server management and system administration are managed by the platform so user can completely focus on application. Also hosting Laravel 5 on cloud is really easy. Here is an example:
https://www.cloudways.com/blog/host-laravel-5-2-on-cloud/