I am using
sudo htpasswd -c /etc/apache2/.htpasswd newuser
Exact same thing, just omit the
-c option. Apache's docs on it here.
htpasswd /etc/apache2/.htpasswd newuser
htpasswd typically isn't run as root. It's typically owned by either the web server, or the owner of the files being served. If you're using root to edit it instead of logging in as one of those users, that's acceptable (I suppose), but you'll want to be careful to make sure you don't accidentally create a file as root (and thus have root own it and no one else be able to edit it).