HTML for structure, CSS for decorations, PHP (and others) server side, javascript often for the client side.
Server side interaction the only thing you need is to be able to read http requests and answer them, this can be done in almost any language, the 5 most important (in order) today are PHP, JAVA, ASP, Python and NodeJS, with one suffices ... then you need a database management language (unless you implement it yourself since 0 and that's unnecessary effort) in this world the 2 most important are MySQL (MariaDB) and Postgres