-
Yassine Doghri authored
fix translation files
Yassine Doghri authoredfix translation files
- How to install Castopod Host
- Table of contents
- Install instructions
- 0. Pre-requisites
- (recommended) Install Wizard
- (alternative) Manual configuration
- Web Server Requirements
- PHP v8.0 or higher
- FFmpeg v4.1.8 or higher for Video Clips
- MySQL compatible database
- Privileges
- (Optional) Other recommendations
- Security concerns
How to install Castopod Host
Castopod Host was thought-out to be easy to install. Whether using dedicated or shared hosting, you can install it on most PHP-MySQL compatible web servers.
Table of contents
Install instructions
0. Pre-requisites
-
Get a Web Server with requirements installed
-
Create a MySQL database for Castopod Host with a user having access and modification privileges (for more info, see MySQL compatible database).
-
Activate HTTPS on your domain with an SSL certificate.
-
Download and unzip the latest Castopod Host Package onto the web server if you haven’t already.
-
⚠️ Set the web server document root to thepublic/
sub-folder.
-
-
Add cron tasks on your web server for various background processes (replace the paths accordingly):
- For social features to work properly, this task is used to broadcast social activities to your followers on the fediverse:
* * * * * /path/to/php /path/to/castopod-host/public/index.php scheduled-activities
- For Video Clips to be created (see FFmpeg requirements):
* * * * * /path/to/php /path/to/castopod-host/public/index.php scheduled-video-clips
These tasks run every minute. You may set the frequency depending on your needs: every 5, 10 minutes or more.
(recommended) Install Wizard
- Run the Castopod Host install script by going to the install wizard page
(
https://your_domain_name.com/cp-install
) in your favorite web browser. - Follow the instructions on your screen.
- Start podcasting!
Note:
The install script writes a
.env
file in the package root. If you cannot go through the install wizard, you can create and update the.env
file manually.
(alternative) Manual configuration
- Rename the
.env.example
file to.env
and update the default values with your own. - Upload the
.env
file to the Castopod Host Package root on your server. - Go to
/cp-install
to finish the install process. - Start podcasting!
Web Server Requirements
PHP v8.0 or higher
PHP version 8.0 or higher is required, with the following extensions installed:
Additionally, make sure that the following extensions are enabled in your PHP:
- json (enabled by default - don't turn it off)
- xml (enabled by default - don't turn it off)
- mysqlnd
FFmpeg v4.1.8 or higher for Video Clips
FFmpeg version 4.1.8 or higher is required, with the following extensions:
- FreeType 2 library for gd.
MySQL compatible database
We recommend using MariaDB.
You will need the server hostname, database name, username and password to complete the installation process. If you do not have these, please contact your server administrator.
NB. Castopod Host only works with supported MySQL compatible databases. It will break with MySQL v5.6 for example as its end of life was on February 5, 2021.
Privileges
User must have at least these privileges on the database for Castopod Host to
work: CREATE
, ALTER
, DELETE
, EXECUTE
, INDEX
, INSERT
, SELECT
,
UPDATE
.
(Optional) Other recommendations
- Redis for better cache performances.
- CDN for static files caching and better performances.
- e-mail gateway for lost passwords.
Security concerns
Castopod Host is built on top of Codeigniter, a PHP framework that encourages good security practices.
To maximize your instance safety and prevent any malicious attack, we recommend you update all your Castopod Host files permissions after installation (to avoid any permission error):
-
writable/
folder must be readable and writable. -
public/media/
folder must be readable and writable. - any other file must be set to readonly.
For instance, if you are using Apache or NGINX with Ubuntu you may do the following:
sudo chown -R root:root /path/to/castopod-host
sudo chown -R www-data:www-data /path/to/castopod-host/writable
sudo chown -R www-data:www-data /path/to/castopod-host/public/media