O EasyPodcast permite gerir um ou vários podcasts no navegador e publica automaticamente um site, um feed RSS e um sitemap para cada podcast. Este manual explica a utilização diária após a instalação.
Para instalar o EasyPodcast ou consultar os requisitos técnicos, consulte o README.
1. Conceitos básicos
O EasyPodcast tem duas áreas:
- Site público: apresenta a página inicial, os episódios publicados, páginas informativas, pesquisa e ligações sociais.
- Painel de administração: permite configurar o podcast, criar episódios, consultar estatísticas e fazer manutenção.
No painel, capítulo designa cada episódio do podcast. Os estados possíveis são:
draft: rascunho. Não aparece no site nem no feed. Pode ser guardado apenas com um título e completado depois.scheduled: agendado. Será publicado na data e hora indicadas.published: publicado. Aparece no site público e no feed RSS.
A publicação agendada não precisa de cron. Quando chega a data, o EasyPodcast publica os episódios pendentes na próxima visita ao site ou ao painel. Utiliza a hora local configurada no PHP.
2. Primeiro acesso
- Abra
https://seu-dominio.com/admin.php. - Se ainda não existir um administrador, introduza um nome de utilizador e uma palavra-passe e repita-a para confirmar.
- Clique em Criar utilizador e entrar.
- Abra Podcast e preencha os dados básicos do canal antes de publicar o primeiro episódio.
Nos acessos seguintes, pode identificar-se com o nome de utilizador ou o endereço de e-mail. Utilize Sair para terminar a sessão, sobretudo em computadores partilhados.
3. Configurar o podcast
Abra Administração > Podcast. Estes dados são usados no site e no feed RSS.
Dados principais
- Título: nome público do podcast.
- URL principal: endereço público da instalação, por exemplo
https://podcast.exemplo.com. - Descrição: apresentação geral do programa.
- Idioma: idioma declarado no feed RSS.
- Idioma do painel: idioma da interface administrativa e das páginas públicas.
- Autor, proprietário e e-mail: informação editorial incluída no feed.
- Categorias: até três categorias compatíveis com o Apple Podcasts.
- Explícito: indica se o conteúdo geral é explícito.
- Tipo iTunes: define se o podcast é episódico ou em série.
- Copyright: texto legal apresentado no feed.
Publicação e aparência
- Quantidade de elementos do feed RSS: limita os episódios do feed;
0significa sem limite. - Quantidade de elementos da página inicial: episódios apresentados por página.
- Escrever metadados ID3: adiciona título, artista, álbum, data, comentário e número de faixa ao MP3 durante o envio.
- Imagem do podcast: capa quadrada, indicada por URL ou enviada a partir do dispositivo.
- Imagem do hero: cabeçalho panorâmico opcional. As imagens enviadas são recortadas e otimizadas automaticamente.
- Aparência: escolha o tema visual no painel principal e se deve seguir a preferência clara ou escura do sistema.
Clique em Guardar podcast. As alterações públicas limpam automaticamente a cache e regeneram o feed e o sitemap quando necessário.
4. Publicar um episódio
Abra Administração > Adicionar.
Fluxo recomendado
- Escreva o título.
- Mantenha o estado
draftenquanto prepara o conteúdo. - Adicione uma descrição breve para a página inicial e o conteúdo completo para a página do episódio e o feed.
- Adicione o áudio por URL, envio de ficheiro ou gravação com o microfone.
- Reveja imagem, autor, conteúdo explícito, temporada, número e tipo de episódio.
- Escolha
publishedpara publicar agora ouscheduledpara uma data futura. - Clique em Guardar capítulo.
- Verifique a Pré-visualização e a página inicial pública.
Campos importantes
- GUID: identificador único usado pelos leitores RSS; o EasyPodcast gera-o se ficar vazio.
- URL do episódio: gerado a partir do título. Pode também usar Gerar URL ou fornecer um URL válido.
- Descrição (apenas texto): excerto opcional até 4.000 caracteres, que substitui o conteúdo completo na página inicial quando existe.
- Conteúdo: texto completo no editor visual; até 10.000 caracteres, incluindo etiquetas HTML.
- Data de publicação: se publicar sem data, usa-se a atual; obrigatória em episódios agendados.
- Áudio: o envio preenche URL, MIME e tamanho. Para um URL externo, verifique estes dados manualmente.
- Duração: formato
HH:MM:SS. Se não for indicada, o EasyPodcast tenta calculá-la a partir de áudio local. - Explícito: pode herdar a configuração geral ou ser definido para o episódio.
- Tipo:
fullpara um episódio normal,trailerpara uma antevisão ebonuspara conteúdo extra. - Imagem e autor: se vazios, usam os valores gerais do podcast.
Publicar ou agendar exige conteúdo e dados de áudio válidos. Um rascunho só precisa de título.
Gravar no navegador
- Expanda Gravar a partir do microfone.
- Autorize o acesso ao microfone.
- Clique em Gravar e, no fim, em Parar.
- Verifique com Ouvir gravação.
- Clique em Utilizar esta gravação e aguarde a confirmação do envio.
- Guarde o episódio.
Não feche a página durante a codificação ou o envio da gravação.
Metadados do MP3
Se ativou a escrita automática ID3, os metadados são atualizados no envio. Ao editar um episódio existente, use Atualizar metadados do MP3 atual para os reescrever.
5. Gerir episódios
Abra Administração > Capítulos. A página separa publicados, rascunhos e agendados.
Pode:
- pesquisar por título ou conteúdo;
- editar um episódio;
- abrir uma pré-visualização, mesmo de rascunhos ou agendados;
- eliminar um episódio.
A eliminação remove o registo da base de dados. O áudio e a imagem só são eliminados do servidor se nenhum outro episódio nem a capa do podcast os utilizar. Ainda assim, faça uma cópia de segurança antes de uma limpeza importante.
Alterar um episódio publicado atualiza o feed, o sitemap e a cache pública.
6. Importar outro podcast
Importar feed RSS copia episódios de um feed externo e descarrega localmente os respetivos áudios e imagens.
- Abra Administração > Importar feed RSS.
- Cole o URL completo e clique em Pré-visualização.
- Compare os metadados atuais com os do feed e selecione apenas os campos a substituir.
- Selecione os episódios a importar.
- Mantenha desmarcada a importação de GUID duplicados, salvo se precisar deles expressamente.
- Clique em Iniciar importação e não feche a página até terminar.
- Reveja os episódios importados, a página inicial e o feed.
O URL principal do podcast não é substituído pelo do feed importado. Importações grandes podem demorar minutos e dependem dos limites de envio, memória e tempo de execução do servidor.
7. Criar páginas e adicionar redes sociais
Páginas estáticas
Em Administração > Páginas, crie conteúdos como «Sobre», «Contacto» ou «Aviso legal».
- Clique em Adicionar página.
- Escreva título e conteúdo.
- Reveja o slug: apenas letras minúsculas, números e hífenes.
- Escolha
draftoupublished. - Opcionalmente, selecione uma página superior para uma hierarquia de dois níveis.
- Use Ordem para controlar a posição; números menores aparecem primeiro.
- Guarde e verifique a pré-visualização.
Redes sociais
Em Administração > Redes sociais, adicione os URL completos do blogue, LinkedIn, Mastodon, X, Pixelfed, Instagram, YouTube, GitHub e Bluesky. Só as redes configuradas aparecem como ícones no cabeçalho público.
8. Consultar estatísticas
Abra Administração > Estatísticas para consultar:
- episódios publicados, rascunhos e total armazenado;
- tamanho total dos áudios segundo a base de dados;
- último episódio publicado;
- estado, número de páginas e tamanho da cache;
- descargas e reproduções.
A atividade organiza-se em:
- Diário: eventos recentes de até sete dias, com data, episódio, tipo e IP.
- Mensal: totais mensais, com filtro por ano.
- Anual: totais anuais.
- Resumo: total de descargas e reproduções por episódio.
Clique nos cabeçalhos para ordenar tabelas. Os pedidos de verificação HEAD dos leitores não contam como descargas.
9. Cópias de segurança
Abra Administração > Backups. As cópias da base de dados e dos ficheiros multimédia são separadas.
Criar uma cópia completa
- Clique em Exportar base de dados e guarde o SQLite.
- Descarregue todas as partes de Exportar imagens.
- Descarregue todas as partes de Exportar áudios.
- Se um ficheiro exceder o limite ZIP, descarregue-o manualmente pela ligação apresentada.
- Guarde todos os ficheiros juntos, com a data e a versão do EasyPodcast.
Os ZIP dividem-se em partes até 127 MB. As imagens geradas são excluídas porque podem ser regeneradas.
Restaurar
- Importar base de dados restaura conteúdo e configuração a partir de um SQLite válido. Copie primeiro o estado atual: o restauro substitui a base de dados em utilização.
- Importar ficheiros aceita um ou vários ZIP e áudios individuais. Envie todas as partes necessárias para recuperar os média.
Depois, verifique a página inicial, vários episódios, o feed e as imagens. Se faltar uma miniatura, use Cache > Regenerar imagens.
10. Cache e manutenção
Cache
A cache pública guarda o HTML da página inicial e dos episódios, o feed e o sitemap para responder mais depressa.
- Ativar cache pública: recomendado em produção.
- Limpar cache web: remove apenas respostas HTML em cache; as visitas voltam a gerá-las.
- Regenerar imagens: recria variantes de 80, 144 e 220 píxeis das imagens do podcast e dos episódios.
As alterações públicas normais já invalidam a cache automaticamente. Limpe-a manualmente se vir conteúdo antigo após um restauro ou incidente.
Regenerar .htaccess
.htaccess gerado restaura o ficheiro com as regras predefinidas do EasyPodcast. Remove regras personalizadas e desativa o bloqueio por IP de admin.php; utilize apenas para regressar à configuração original.
Ficheiros órfãos
Em Multipodcast, o administrador global dispõe de Limpar, que procura áudios e imagens não utilizados por qualquer episódio. Reveja a seleção antes de Eliminar selecionados: a eliminação é irreversível.
11. Utilizadores, palavra-passe e 2FA
Alterar a palavra-passe
Abra Palavra-passe, introduza a atual e a nova seguindo as instruções. Em Multipodcast, crie utilizadores independentes em vez de partilhar contas.
Ativar a autenticação de dois fatores
- Abra 2FA e clique em Ativar 2FA.
- Leia o QR com uma aplicação TOTP, como Google Authenticator ou Aegis, ou introduza a chave manualmente.
- Confirme com o código de seis dígitos.
- Guarde imediatamente os oito códigos de recuperação num local seguro.
Cada código de recuperação só pode ser usado uma vez. Pode regenerá-los ou desativar 2FA confirmando com a palavra-passe. No acesso, pode memorizar um dispositivo durante sete dias.
Restringir o acesso a admin.php por IP
O administrador global pode abrir Multipodcast > Segurança para permitir apenas certos endereços IPv4, IPv6 ou intervalos CIDR. O bloqueio está desativado por predefinição e exige ativação explícita em dois passos. Inclua sempre o seu IP de administração antes de confirmar: uma configuração incorreta pode deixá-lo sem acesso.
A ativação é voluntária e da responsabilidade do utilizador. Após Ativar bloqueio, leia o aviso vermelho e clique em Tenho a certeza apenas depois de verificar a lista.
Recuperar o acesso após um bloqueio acidental
Se não conseguir abrir admin.php, aceda aos ficheiros por SSH, SFTP ou pelo gestor do alojamento. Abra .htaccess no diretório principal do EasyPodcast e remova apenas o bloco completo, de # BEGIN a # END, incluindo ambas as linhas:
# BEGIN EasyPodcast: bloqueo por IP de admin.php
# Bloqueo al admin.php
<Files "admin.php">
Order Deny,Allow
Deny from all
Allow from x.x.x.x
</Files>
# END EasyPodcast: bloqueo por IP de admin.php
Guarde sem alterar as restantes regras e volte a abrir admin.php. Remover o bloco desativa a restrição por IP. Se houver várias linhas Allow from, remova-as todas como parte do bloco.
Utilizadores de podcast
Em Multipodcast, o administrador global abre Utilizadores para criar contas e atribuir um ou mais podcasts. Utilizadores limitados só veem e administram os podcasts atribuídos, sem acesso às ferramentas globais.
Pode desativar temporariamente uma conta, alterar os podcasts ou definir uma nova palavra-passe. Eliminar a conta também elimina os seus tokens API.
12. Gerir vários podcasts
O Multipodcast aloja vários canais numa instalação, separando episódios, páginas, redes sociais, estatísticas e tokens.
Ativar
- Abra Multipodcast > Configuração Multipodcast.
- Marque Ativar Multipodcast.
- Escolha o diretório do podcast atual, como
meu-podcast: só minúsculas, números e hífenes. - Escolha se a raiz apresenta um resumo de todos os podcasts ou a página inicial de um selecionado.
- No resumo, configure idioma, tema, título, subtítulo e imagem de cabeçalho.
- Guarde a configuração.
Os ficheiros multimédia conservam os URL ao ativar Multipodcast.
Criar e administrar podcasts
- Abra Podcasts.
- Introduza título e um diretório livre.
- Clique em Criar podcast.
- Use Administrar podcast para completar a configuração e publicar.
O seletor superior alterna entre o painel global e os podcasts disponíveis. Cada um tem rotas próprias em https://seu-dominio.com/diretorio/.
Pode marcar um podcast como principal: será conservado se desativar Multipodcast.
Operações que alteram URL ou eliminam conteúdo
- Alterar diretório modifica os URL públicos do podcast, páginas, feed e episódios. Faça-o apenas se puder atualizar as ligações externas.
- Eliminar podcast cria primeiro uma cópia ZIP e depois elimina podcast, episódios, estatísticas e média exclusivos. Introduza o título para confirmar. Descarregue e conserve o ZIP.
- Desativar Multipodcast mantém o principal, cria cópias dos secundários e elimina-os depois. Exige confirmação explícita e o título exato do principal.
13. API e automatizações
A secção API integra o EasyPodcast com scripts, n8n e outras aplicações.
- Abra API Tokens.
- Indique um nome reconhecível e, opcionalmente, uma data de validade.
- Escolha o âmbito:
contentpara automatizações habituais de conteúdo;adminapenas para operações administrativas sensíveis. - Gere e copie o token imediatamente: não voltará a ser apresentado por completo.
- Consulte Documentação da API para endpoints e exemplos.
Revogue imediatamente tokens não utilizados ou potencialmente expostos. Utilizadores limitados só podem operar nos podcasts atribuídos.
14. Atualizar o EasyPodcast
- Faça uma cópia pelo menos da base de dados e, de preferência, também dos média.
- Abra Atualizar.
- Compare a versão instalada com a última disponível.
- Se houver uma nova, clique em Atualizar para v… e aguarde.
- Leia as novidades e verifique página inicial, painel, um episódio, feed e sitemap.
O atualizador descarrega de GitHub Releases, verifica a integridade e substitui os ficheiros da aplicação. Não altera diretamente a base de dados, áudios ou imagens; as migrações necessárias aplicam-se automaticamente ao carregar a aplicação.
15. O que o EasyPodcast publica
Rotas habituais numa instalação com um podcast:
| Endereço | Conteúdo |
|---|---|
/ |
Página inicial pública e pesquisa |
/AAAA/MM/slug |
Página pública de um episódio |
/feed.php |
Feed RSS gerado em tempo real |
/feed.xml |
Cópia estática regenerada ao guardar alterações |
/sitemap.xml |
Sitemap para motores de pesquisa |
/robots.txt |
Regras para robôs e ligação ao sitemap |
/admin.php |
Acesso à administração |
Em Multipodcast, cada canal usa um diretório, por exemplo /meu-podcast/, /meu-podcast/feed.xml e /meu-podcast/sitemap.xml. A raiz pode mostrar o resumo global ou o podcast destacado.
Para enviar o podcast a uma plataforma, forneça o URL público do respetivo feed.xml. Depois de publicar, confirme que o episódio aparece no site e no feed.
16. Rotina recomendada
Antes de publicar
- Reveja título, descrição breve, conteúdo, áudio e imagem.
- Ouça o início e o fim do ficheiro.
- Verifique conteúdo explícito e numeração.
- Use
draftaté estar tudo pronto.
Depois de publicar
- Abra a página inicial e a do episódio.
- Reproduza ou descarregue o áudio.
- Verifique
feed.xml. - Reveja título, imagem e descrição ao partilhar o URL.
Manutenção periódica
- Exporte frequentemente a base e antes de cada atualização.
- Conserve cópias periódicas de áudios e imagens fora do servidor.
- Reveja estatísticas e espaço ocupado.
- Revogue tokens e desative utilizadores que já não precisem de acesso.
- Procure atualizações e faça uma cópia antes de as aplicar.
17. Problemas frequentes
Um episódio não aparece publicamente
- Verifique o estado
published. - Se agendado, verifique data, hora e fuso horário do servidor.
- Visite o site para processar a publicação agendada.
- Limpe a cache web se persistir.
O áudio não é reproduzido
- Verifique se o URL é acessível.
- Reveja MIME, tamanho e formato.
- Se enviado pelo painel, confirme que o envio terminou antes de guardar.
O feed não reflete uma alteração
- Guarde novamente o podcast ou episódio.
- Compare
feed.phpefeed.xml. - Limpe a cache web.
- Verifique permissões de escrita em
feed.xmlecache/.
Falta uma imagem ou miniatura
- Verifique o URL original.
- Abra Cache > Regenerar imagens.
- Verifique permissões de escrita em
images/eimages/generated/.
Não é possível importar um feed
- Verifique se o URL é público e devolve RSS válido.
- Confirme que a extensão cURL do PHP está ativa.
- Experimente menos episódios se os limites forem rigorosos.
- Não feche o separador durante a descarga.
Não é possível guardar ou enviar conteúdo
Geralmente deve-se a limites do PHP ou permissões do servidor. O administrador do alojamento deve rever o tamanho máximo de envio, o tempo de execução e as permissões de escrita de podcast.sqlite, audios/, images/, cache/, feed.xml e favicon.ico.