Meu apache2.conf tinha uma linha
PidFile /var/run/httpd2.pid
mas o Ubuntu 16.04 espera que o arquivo pid apareça como /var/run/apache2/apache2.pid
.
Então meu Apache começou bem, mas a função apache_wait_start () em /etc/init.d/apache2
que é usada por service apache2 start
nunca viu um arquivo pid e achou que o processo não começou.
apache2ctl
aparentemente não verifica se existe um arquivo pid (ou talvez lê o apache2.conf onde ele está).
Depois de corrigir o nome do arquivo, tudo corre bem agora.