PentesterLab is an easy and great way to learn penetration testing.
PentesterLab provides vulnerable systems that can be used to test and understand vulnerabilities.
Bootcamp provides a learning path to get into security and especially web penetration testing.
This course is a list of things to read and do, no solutions are provided since it is, in my opinion, the best and only way to learn. If you don't manage to get one of the items done, just try harder, spend more time googling and find the solution. Finding something by yourself is the best way to learn.