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
Hello,
Choosing a programming language is a difficult question. It must be taken into account that you will need a programmer who will make permanent changes on the site, that is why I will propose PHP, there are many programmers in this programming language.