Castopod is podcast hosting software that allows you to easily serve your podcast(s) from your own server rather than through a secondary service like anchor.fm, blubrry, and libsyn. While I personally use anchor.fm for some podcasts which I wanted to easily monetize, for a new podcast, Story Suggest, I had no desire for it to get monetized by me or anyone else. Furthermore, I also wanted to dip my toe into integration with the fediverse. Don’t worry if you don’t know what that is, it’s not critical to any of this.
Either way, while the installation documentation for castopod is relatively clear, I felt like there were a few quick notes/tips I could add for those installing on a shared host like Dreamhost. While I maintain a VPS at Dreamhost, the functionality and installation is the same. Below I’ve highlighted some clarifying points to help others quickly get setup with Castopod.
Installation Requirements
Just know that Dreamhost, by default, has you covered. Everything described is already enabled in PHP 8.1+. When the requirements refer to libcurl, this shows up in your phpinfo() output as just curl. I did not enable email or video during my install, so take this advice for anyone looking for an audio podcasting solution.
Database
Also ready to go here. Just head to the MySQL Database page in Dreamhost. Remember that database names must be unique across Dreamhost, and castopod
is already taken, so consider hyphenation or other variations.
Unzipping and Uploading
The extracted files are in a castopod folder. You will want to upload the entire contents of that folder into the root for the domain you have setup. The installation instructions make it seem like you only need the /public
sub-folder, but that’s incorrect. You need it all, but we have to make a change to our Dreamhost configuration regarding the /public
folder.
Web Server Document Root (Web Directory)
In Dreamhost, go to Hosted Domains and click the Edit button under the web hosting column. This is assuming you’ve already created the fully hosted site because, well, I just had you upload the files so they had to go somewhere. :)
Anyway, under Users, Files, and Paths and Web Directory, you want to append /public
to the existing path. This is telling Dreamhost that is the root for public access. The index.php file in that directory does a lot of heavy lifting. Save and done!
Wrapping up
You should now be able to use the built-in installer at /cp-install
in your web browser to set things up. If you’re wondering about the Cron Jobs, in Dreamhost the path to PHP 8.1 is: /usr/local/php81/bin/php
so you can create a cronjob similar to the installation instructions (just delete the **** beginning which is specific to an actual cron file on a server); Dreamhost just wants the command as it would be typed into a terminal.
Thank you so much for sharing these valuable tips and instructions for installing Castopod on shared hosting. Your insights will undoubtedly be a tremendous help to others looking to set up their podcasts independently ️