CastoPod es una plataforma de alojamiento gratuita y de código abierto hecha para los podcasters que quieren participar e interactuar con su audiencia.

CastoPod es fácil de instalar y fue construido en la parte superior de CodeIgniter4, un poderoso framework PHP con una huella muy pequeña.

Lo interesante de este proyecto, es que permite que los podcasters suban sus audios directamente a esa plataforma y en la última actualización han implementado ActivityPub. Algo que me parece absolutamente genial, ya que podrá interactuar con el Fediverso existente y desde un Mastodon o Pleroma podremos interactuar con esos podcast. ¿Suena realmente bien, verdad?

Pasos previos

Para desplegar un nodo de CastoPod es necesario tener un servidor con las siguientes características:

  • Tener LEMP instalado con FPM configurado.
  • Instalar la versión de PHP 8.1 o superior.
  • Configurar un domino con SSL.
  • Tener configurado un usuario y base de datos en MariaDB 10.2 o superior (o MySQL 5.7 o superior).

Si necesitas instalar primero un LEMP en Ubuntu 22.04, te dejo este artículo:

Instalación de servidor web LEMP en Ubuntu 22.04
A continuación vamos a instalar un servidor LEMP completo en Ubuntu 22.04 “Jammy Jellyfish”. Hay algunas cosas que han cambiado respecto a otras versiones de Ubuntu, por ejemplo algunos datos importantes a tener en cuenta

Para configurar un FPM especifico para Castopod, te dejo este artículo:

Cómo configura PHP-FPM con Nginx
PHP-FPM es una implementación de PHP con algunas características adicionales a FastCGI. Generalmente el uso de PHP-FPM se suele dar en sitios web con mucho tráfico. La principal ventaja de usar PHP-FPM es que utiliza mucha menos memoria y CPU en comparación otro método de ejecución de PHP.
📢
Ten en cuenta que en la configuración de Nginx deberás de indicar el root como el directorio /ruta/al/directorio/public.

Si también necesitas configurar un dominio y el SSL, te dejo este otro artículo:

Cómo utilizar Certbot para configurar un SSL de Let’s Encrypt en GNU/Linux
Certbot es una maravillosa herramienta que puedes utilizar para generar un certificado SSL con Let’s Encrypt e instalarlo y configurar automáticamente en tu servidor web.

Y si solo te falta crear la base de datos y el usuario en MariaDB, entonces te dejo este otro artículo:

Crear base de datos y usuario con privilegios en MySQL/MariaDB
En el siguiente tutorial vamos ha explicar como crear una base de datos y un usuario para asignar permisos totales a esa base de datos. Acceder a MySQL/MariaDB Para gestionar bases de datos o usuarios, deberemos de acceder a la shell de MySQL/MariaDB. Existen programas como phpMyAdmin de

Para PHP, es importante tener en cuenta que es necesario instalar todos estos paquetes:

apt install php8.1-intl php8.1-curl php8.1-mbstring php8.1-gd php8.1-exif php8.1-json php8.1-xml php8.1-mysqlnd

Con todo esto configurado, vamos a proceder a la instalación de CastoPod.

Instalación de CastoPod

Lo primero que tendremos que hacer será descargar el fichero comprimido de CastoPod desde la web oficial:

wget https://code.castopod.org/adaures/castopod/uploads/f7ceca07f4e4ee11aef1540718c9a730/castopod-1.0.5.zip
📢
En este momento que hacemos el tutorial, la última versión disponible es la 1.0.5. Podéis revisar en la página de Gitlab para ver si hay alguna versión nueva disponible.

Descomprimimos y ponemos permisos:

unzip castopod-1.0.5.zip
mv castopod*/* .
chown castopod.fpmweb -R /ruta/instalacion/castopod
chown castopod.fpmweb -R /ruta/instalación/castopod/writable
chown castopod.fpmweb -R /ruta/instalación/castopod/public/media

Si todo ha funcionado, podremos acceder a través del navegador poniendo el dominio configurado y /cp-install.

Revisamos que la configuración del Nombre de Host y otros parámetros sean correctos y le damos a Siguiente.

Rellenamos los datos con los de la base de datos que hemos creado anteriormente.

Creamos nuestro usuario administrador del nodo de CastoPod.

Finalmente, iniciamos sesión con nuestro usuario.

Para un buen funcionamiento, recuerda de añadir las siguientes tareas al cron:

* * * * * /usr/bin/php8.1 /ruta/instalación/castopod/public/index.php scheduled-activities
* * * * * /usr/bin/php8.1 /ruta/instalación/castopod/public/index.php scheduled-websub-publish
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación