phpList is an open-source email marketing platform used for managing mailing lists and bulk email campaigns.
More information about phpList and its requirements can be found in the official documentation: https://www.phplist.org/documentation/
In your control panel, select the Apache + PHP 8.4 Cloud Container image.
At the time of writing, PHP 8.4 has been tested and is compatible with the current phpList release.
Once the container is created, confirm that SSL is enabled for the domain. HTTPS is recommended to protect administrator authentication and subscriber data.
For detailed instructions on creating a container, refer to our Knowledgebase article: Creating and Managing a Container
phpList is a stateful application that depends on database and email reliability. Ensure your database and SMTP services are correctly configured before using it in production.
Access the container via SSH and navigate to the application directory:
cd /container/application
If the public directory already exists and contains files, remove or rename it to ensure a clean deployment.
Clone the phpList GitHub repository into the application directory:
git clone https://github.com/phpList/phplist3.git .
By default, phpList uses public_html as the webroot directory. Cloud Containers are configured to use public as the default webroot, so rename the directory accordingly:
mv public_html/ public
Then finalize the configuration and install: Follow the detailed installation instructions available at phpList Manual Installation Installing Phplist Manually. You can skip to the “Edit the phpList config.php file” step as we have already set up everything else.
phpList stores database connection details in:
/container/application/public/lists/config/config.php
Edit this file and define the following parameters using the credentials you assigned when creating your Cloud Container:
// MySQL database server hostname
$database_host = 'mariadb1011';
// Database name
$database_name = 'phplistdb01';
// Database user
$database_user = 'phplistdbuser01';
// Database password
$database_password = '********';
On the SiteHost platform, the database hostname corresponds to the internal name of the MariaDB container (for example, mariadb1011).
Once configured, phpList will automatically create the required database tables during the initial setup process when accessed via the browser.
For detailed instructions on managing databases, refer to our Knowledgebase article: Managing Databases
Email delivery settings are defined in:
/container/application/public/lists/config/config.php
Enable SMTP delivery using the internal mail service:
define("PHPMAILER", 1);
define("PHPMAILERHOST", "smtpd");
define("PHPMAILERPORT", "25");
define("PHPMAILER_SECURE", false);
This configuration instructs phpList to use PHPMailer and send email through the internal SMTP relay.
Since communication occurs over the private container network, TLS is not required for internal SMTP usage.
After configuring the database:
https://yourdomain/lists/adminIf the database connection is configured correctly, you will see the phpList administration interface.
If you receive a database connection error, review your config.php file carefully. Even a small typo or an extra space in the database name, username, or password can prevent the connection from working.
After completing these steps, the installation will finalise and you will be redirected to the phpList administration dashboard. Then you can log in as an admin with the user: admin and the password you defined before.
You can find more detailed information in Installing Phplist Manually