1) Тут можно бесконечно холиварить, но если мало опыта с линуксом, то лучше, что-то на основе debian (ubuntu, mint), ну или сам debian.
2)rubymine, sublime text, emacs, как вариант, netbeans, да полно всего, пробуйте.
Разметку(html) точно надо знать, а дальше уже решать, если хочешь заниматься серверным программированием то php/ruby/python/java/c#/node.js, если же фронт-энд, то углубляться в js.