A primeira coisa que você precisa para tornar o site acessível é o seu endereço IP externo ou um nome de domínio que aponte para o seu endereço IP externo.
Se o seu endereço IP externo for um endereço IP dinâmico, você precisará de um provedor de nome de domínio que suporte um cliente DNS dinâmico que atualizará seu nome de domínio toda vez que seu endereço IP externo for alterado.
A segunda coisa que você precisará é encaminhar a porta 80 do externo para o servidor que está na sua rede.
Em termos de segurança, você vai querer manter o Apache / MySQL / PHP atualizado para acompanhar as falhas de segurança. Se você quiser ficar mais chique, existe uma infinidade de ferramentas de processamento de registros que podem alertá-lo sobre as irregularidades que estão ocorrendo, por exemplo, tentativas de estouro de buffer.
No entanto, para um servidor doméstico, desde que seu código seja bom e a injeção de SQL não seja uma possibilidade, isso deve ser suficiente para você.