You can use several fines.
PHP is an option, for example, Wordpress is a CMS that uses PHP as a back-end. All that you are talking about can be done using php, just like other languages, you can use several types of language not need to be one.
I advise you to research about these frameworks (PHP, Node.js and etc) to know the advantages and disadvantages of each of them and which one will suit more to what you want to do.
Take a look here:
For more information on languages.
In my opinion PHP is the best, because it is simple to set up and simple to program. It can be suitable for everything concerning websites and also interacts with tags directly. Not to mention the documentation that is very complete and easy to understand, the community is also very large and very helpful, easy to get answers.
Node.js is very recent, it doesn’t mean it’s not good, but it might not be what you’re looking for.
Node.js as far as I know is aimed at real-time applications (think chats and multiplayer games).
– Piovezan
@Piovezan this is not true. For example the Mootools website is made in Nodejs and there’s a lot of interesting stuff running on the server side. And you can for example use the library that was designed for Javascript on the server side (Nodejs)
– Sergio