Control PanelCWPPHP Scripts

How to Install Magento 2.4 in CWP – Control Web Panel

In this tutorial we’ll learn how to install magento 2.4.x in CWP control panel. At the time of writing this tutorial CWP 7 (centos 7) have older version of MySQL server i.e. MariaDB 10.2 which is not supported by Magento 2.4.x. With recent CWP installation MariaDB 10.4 IS ALREADY THERE.

CWP on centos 8 is fully supported by magento since it have Mariadb 10.4. Without wasting time lets get started.

Centos 7 Only :-

if you’re using Centos 8 CWP proceed with steps from Elastic search installation below.

Remove Mariadb 10.1 or10.2 and update Mariadb 10.4:

systemctl stop mariadb mysql mysqld

Now edit/create the file run the commands one by one :

ensure to remove the content of /etc/yum.repos.d/mariadb.repo

> /etc/yum.repos.d/mariadb.repo
nano /etc/yum.repos.d/mariadb.repo

then paste this lines and save it (Remove any entries from mariadb.repo before pasting below if any):

name = MariaDB
baseurl =

Now remove Mariadb 10.1, 10.2 and install 10.4 :

yum remove MariaDB-server MariaDB-client -y && yum install MariaDB-server MariaDB-client -y 

Now update the server :

yum update -y

Next we’ll install Elastic search which is required by Magento 2.4.xx

For version Elastic Search 7 Centos 7 and Centos 8 :

cd /usr/local/src
rm -rf elasticsearch*
shasum -a 512 -c elasticsearch-7.17.8-x86_64.rpm.sha512
rpm --install elasticsearch-7.17.8-x86_64.rpm

For version Elastic Search 8.5 Centos 7 and Centos 8:

cd /usr/local/src
rm -rf elasticsearch*
wget wget shasum -a 512 -c elasticsearch-8.5.3-x86_64.rpm.sha512 rpm --install elasticsearch-8.5.3-x86_64.rpm

After it is installed you need to start the service and enable it to start the service on boot startup :

systemctl enable elasticsearch.service
systemctl start elasticsearch.service

You can test the service active and running via the status command :

systemctl status elasticsearch.service

Next we’ll Download Opensource Magento 2.4.x :

you can follow your own way of installing Magento 2.4.x or follow this :

Please note here “user” is the username of your user account in below commands.

Download Magento :

cd /home/user/public_html
wget -c -O
rsync -av magento2-2*/ . && rm -rf magento2-2*

Now remove the “Options” config from .htaccess else you’ll get 500 Internal server Error

cd /home/user/public_html
sed -e '/Options/ s/^#*/#/' -i .htaccess pub/.htaccess

Fix the user file and folder permission :

cd /home/user/public_html
chown -R user:user *

Now install composer :

Use this tutorial to install composer : How to Install Composer in CWP

First you need to enabled full shell access for the user from cwp admin  >> Security >> Shell access and enable full shell access for the user now you need to login in ssh via user login details.

go to public_html dir or where magento root dir is :

cd /home/user/public_html

Now run composer install command to install required magento dependencies:

If you’re using php switcher version 7.3,7.4,8.0 or 8.1 run below command

composer install

when running php selector 7.3,7.4,8.0 or 8.1 run below command respectively :

/opt/alt/php73/usr/bin/php /usr/local/bin/composer install
/opt/alt/php74/usr/bin/php /usr/local/bin/composer install
/opt/alt/php80/usr/bin/php /usr/local/bin/composer install
/opt/alt/php81/usr/bin/php /usr/local/bin/composer install

when running php fpm 7.3,7.4,8.0 or 8.1 run below command respectively :

/opt/alt/php-fpm73/usr/bin/php /usr/local/bin/composer install
/opt/alt/php-fpm74/usr/bin/php /usr/local/bin/composer install
/opt/alt/php-fpm80/usr/bin/php /usr/local/bin/composer install
/opt/alt/php-fpm81/usr/bin/php /usr/local/bin/composer install

Now go to the domain url and check this page is showing up :

Thats means everything is up and running and we can proceed with next step :

Next Install Magento via Command line :

Ensure you’re still login as user via ssh and in the magento installation dir, now run below command to install magento ensure you created DB, user db and user DB password created from cwp and replaced in below command :

/opt/alt/php-fpm74/usr/bin/php bin/magento setup:install --base-url="https://www.domainname.tld/" --db-host="localhost" --db-name="magento_db" --db-user="magento_db" --db-password="db_password" --admin-firstname="admin" --admin-lastname="admin" --admin-email="youremail@domain.tld" --admin-user="admin" --admin-password="admin_pass" --language="en_US" --currency="USD" --timezone="America/Chicago" --use-rewrites="1" --backend-frontname="admin"   

Change php path:

#for php-fpm selector 7.4 :
#for php selector 7.4 :
#for php switcher 7.4 :

or for 8.1 : 

#for php-fpm selector 8.1 :
#for php selector 8.1 :
#for php switcher 8.1 :

Change magento site domain url :


Replace the DB details :

--db-name="magento_db" --db-user="magento_db" --db-password="db_password"

Replace admin details for magento :

--admin-firstname="admin" --admin-lastname="admin" --admin-email="youremail@domain.tld" --admin-user="admin" --admin-password="admin_pass"

After that you can see installation is started and after the end you can login to admin and do settings and create magento powered site via gui.

Troubleshoot :

if you not able to login to admin and want to reset the password for magento admin, you need to login to phpmyadmin with magento user db and password and run this command to reset the Magento admin password :

go to SQL tab after selecting the correct db and run this command :

UPDATE admin_user SET password = CONCAT(SHA2('xxxxxxxYourNewPassword', 256), ':xxxxxxx:1') WHERE username = 'admin';

replace only “YourNewPassword” with your new password and run the sql command by clicking GO button.

If you’ve any question and want me to update the post comment below or for more advanced support use our support forum

Sandeep B.

I'm a system admin and php developer and currently working as System Admin In CWP Control panel, expertise in Linux and Windows administration RHEL certified admin.

Related Articles


  1. I followed the steps till composer install correctly. Everything setup correctly without any error. The latest composer was giving error but I downgraded it to run it successfully. However upon going to domain main page I get HTTP ERROR 500

  2. I get this error after I deploy sample data, the upgrade:
    Unable to apply data patch Magento\CatalogRuleSampleData\Setup\Patch\Data\InstallCatalogRuleSampleData for module Magento_CatalogRuleSampleData. Original exception message: Rolled back transaction has not been completed correctly.

  3. Thanks for this excellent support. My question is after granting “user” full ssh access, do you deactivate the access after comopleting the installation?

      1. 1. How do you ensure that the permission to the magento root is not overwritten all the time. For instance , i have to each time grant permision to the “user”, before the command is accepted or permission will be denied.

        2. Do I install composer as the root or the user with ssh access?

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button