1. Какой сервер лучше выбрать для подобного приложения? Apache или Nginx?
Nginx производительней и быстрее.
2. Пользователей будет много, соответственно запросов тоже. Кто-то может захочет специально завалить сервер одинаковыми запросами, а кто-то может просто случайно нажмет одну кнопку дважды. Стоит ли вводить флуд-контроль на запросы?
Можете настроить CloudFlare. За счет кеширования статических файлов, очень сильно снижает нагрузку на ваш сервер, и дает некоторую защиту от ddos. + там есть режим Under Attack. дает бесплатный ssl сертификат.
И да, это все есть в бесплатном пакете .
3. На локалке я использую phpmyadmin - очень удобно и практично. Можно ли установить его в продакшне? И как лучше защитить от посторонних пользователей?
Как разработчик, отказался от phpmyadmin. Использую DataBase в PhpStorm, заметил, что это на много удобнее и быстрее.
Можно немного защитить, поставив на не стандартный адрес , и если нету какого-то cookie то показывать 404
4. Свои прошлые проекты я заливал на обычный шаред-хостинг по ftp. Как поступать в этом случае? Безопасно ли ставить пакет с ftp на vps?
если у вас ssh, то можно по ssh заливать. sftp.