mirror of
https://code.castopod.org/adaures/castopod.git
synced 2024-09-03 01:17:19 +02:00
- update prettier config for markdown file for better readability - fix some formatting issues
86 lines
3.1 KiB
Markdown
86 lines
3.1 KiB
Markdown
# How to install Castopod
|
||
|
||
Castopod was thought to be easy to install. Whether using dedicated or shared
|
||
hosting, you can install it on most PHP-MySQL compatible web servers.
|
||
|
||
- [Install instructions](#install-instructions)
|
||
- [(optional) Manual configuration](#optional-manual-configuration)
|
||
- [Web Server Requirements](#web-server-requirements)
|
||
- [PHP v7.2 or higher](#php-v72-or-higher)
|
||
- [MySQL compatible database](#mysql-compatible-database)
|
||
- [(Optional) Other recommendations](#optional-other-recommendations)
|
||
- [Security concerns](#security-concerns)
|
||
|
||
## Install instructions
|
||
|
||
0. Create a MySQL database for Castopod with a user having access and
|
||
modification privileges (for more info, see
|
||
[Web Server Requirements](#web-server-requirements)).
|
||
1. Download and unzip the Castopod package onto the web server if you haven’t
|
||
already.
|
||
- ⚠️ Set the web server document root to the `public/` sub-folder.
|
||
2. Run the Castopod install script by going to the install wizard page
|
||
(`https://your_domain_name.com/cp-install`) in your favorite web browser.
|
||
3. Follow the instructions on your screen.
|
||
|
||
All done, start podcasting!
|
||
|
||
### (optional) Manual configuration
|
||
|
||
Before uploading Castopod files to your web server:
|
||
|
||
1. Rename the `.env.example` file to `.env` and update the default values with
|
||
your own.
|
||
2. Upload the Castopod files with `.env`
|
||
3. Go to `/cp-install` to finish the install process.
|
||
|
||
## Web Server Requirements
|
||
|
||
### PHP v7.2 or higher
|
||
|
||
PHP version 7.2 or higher is required, with the following extensions installed:
|
||
|
||
- [intl](http://php.net/manual/en/intl.requirements.php)
|
||
- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use
|
||
the HTTP\CURLRequest library
|
||
- [mbstring](http://php.net/manual/en/mbstring.installation.php)
|
||
|
||
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](http://php.net/manual/en/mysqlnd.install.php)
|
||
|
||
### MySQL compatible database
|
||
|
||
> We recommend using [MariaDB](https://mariadb.org)
|
||
|
||
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.
|
||
|
||
#### Privileges
|
||
|
||
User must have at least these privileges on the database for Castopod to work:
|
||
`ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`.
|
||
|
||
### (Optional) Other recommendations
|
||
|
||
- Redis for better cache performances.
|
||
- CDN for better performances.
|
||
- e-mail gateway for lost passwords.
|
||
|
||
## Security concerns
|
||
|
||
Castopod is built on top of Codeigniter, a PHP framework that encourages
|
||
[good security practices](https://codeigniter.com/user_guide/concepts/security.html).
|
||
|
||
To maximize your instance safety and prevent any malicious attack, we recommend
|
||
you update all your Castopod files permissions:
|
||
|
||
- `writable/` folder must be **readable** and **writable**.
|
||
- `public/media/` folder must be **readable** and **writable**.
|
||
- any other file must be set to **readonly**.
|
||
|
||
// TODO: add instructions on how to set file permissions.
|