Нужно знать:
1. Английский язык (технический) - для чтения документации и поиска информации
2. HTML5/CSS3/Javascript - для визуальной части (то, что будет видеть пользователь в браузере),
3. PHP/mysql - для разработки серверной части (то, что будет обрабатывать логику пользовательских запросов и формировать результат на основе запросов пользователя из браузера: очередную страницу, результаты поиска и т.д.).
4. Выучить все подходы по обеспечению безопасности как для сервера, так и для пользовательских данных (.htaccess, regex-фильтрация, xss-headers-rules, защита от sql-инъекций, как работает протокол туннельного шифрования данных SSL/TLS и т.д.).
Затем, нужно научиться:
1. Полностью понимать логику взаимодействия основных функциональных блоков при создании сайта
2. Правильно формулировать задачу (ТЗ)
Информация здесь