Вставлю еще свои 5 копеек.
Если у вас есть команда (хотя бы несколько человек), разделите обязанности.
Всем в равной степени учить одно и то же, не нужно.
Например пару человек осваивают тот же php, mysql, git (минимальный набор).
Другие пару фронт. html, css, js (что уметь сверстать страницу +- )
И достаточно кого то одного на координацию + роль сисадмина и по мелочам.
Минимальный набор: понимать что такое сервер и уметь с ним работать, проектирование БД, git... Добавлять можно долго, но этого вроде должно хватить, что б появилось какое то понимание.
Я подумал про php, но может есть готовые решения, а я хочу собрать велосипед
Готовые решения в этом случае, это фреймворки. Практически в любом (например Symfony, Laravel), из коробки реализована работа с БД, встроенный шаблонизатор, готовые методы проверки, валидации данных и т.д.
Если цель, сделать хороший проект, то все что Вам написали выше и может что то из этого.
Если нужно на скорую склепать рабочий вариант, то можно взять какую то CMS-ку и немного переделать. (знания php всеравно понадобятся)