Es gibt Bücher, es gibt Seiten. Ich persönlich rate dir für den Einstieg zu selfHTML.org und dann ausbauend auf HTML5 w3schools.com (mit w3fools.com nebendran offen).
Bücher kann ich keine empfehlen, da ich bisher keine Einsteigerwerke gelesen haben.
Als erstes solltest du HTML lernen. Meiner Meinung nach HTML4 und das dann, wie gesagt, auf HTML5 erweitern. HTML5 ist derzeit das aktuellste.
Als zweites ist CSS sehr wichtig. Das kannst (oder solltest) du gleich neben HTML her lernen. Dabei gleich von vorn herein ein Tipp: Benutz CSS (in einer separaten Datei oder im Head Bereich) statt HTML Attributen wann immer möglich.
Als drittes finde ich JS sehr wichtig. Noch bevor du dich ans Serverside Scripting begibst. Schau dir hier, wenn du so weit bist, auch gerne jQuery an. Es wird dir das Leben erleichtern.
Wenn du damit fertig bist, kommt die Qual der Wahl, welche Serverside Scriptingsprache du angehen möchtest. PHP ist am verbreitetsten und es gibt sehr viele kostenlose Hoster dafür.
Auch etwas älter und etwas verbreitet ist Ruby on Rails. Ich hab damit noch nichts gemacht, kann dir also auch nichts dazu sagen.
Andererseits, vor allem, wenn du einen eigenen Server hast, wäre evtl. auch JS auf Node.JS sehr interessant als relativ neuer Ansatz. Oder das entsprechende Lua Projekt Luvit.
Gleichzeitig mit der Scriptsprache empfehle ich dir, SQL zu lernen. Datenbanken sind nämlich das wundervollste der Welt, wenn es um das koordinierte Handeln von Daten geht! Und bei Websites braucht man das doch relativ häufig. MySQL wäre hier der Dialekt, den ich für den Anfang empfehle.
Wenn du keinen Server o.ä. hast, dann kannst du z.B. mit XAMPP auf deinem PC einen Webserver und eine Datenbank (Apache+PHP und MySQL) laufen lassen.
Auf einem eigenen Server empfehle ich aber eher im Falle von PHP NGINX und statt MySQL MariaDB.