Além de permitir que o usuário do apache se torne root para um comando, você precisa fazer uma chamada dentro do código que inclui 'sudo'. Tipicamente:
Em visudo eu colocaria algo como
apache ALL = NOPASSWD: / caminho / meu_comando_commando
No meu código /var/www/html/sendtextfiletoftp.php, para a parte específica que precisa de acesso root, colocaria algo como:
exec ("sudo / caminho / meu_comando_comando");