1) Смотреть в сторону клиента, гуглить по запросу "socket.io ERR_CONNECTION_TIMED_OUT"
2) А при чем тут апач? Он в этой схеме не участвует.
3) Запускается вроде бы верно.
И кстати, на сервере эмитится событие listen, вы его на клиенте никак не обрабатываете вроде бы.