Composer in ISPConfig


Install Composer in ISPConfig

Find the user of your domain from the ISPConfig admin panel. It should be web[number], EG. web1.

Login SSH as root. Modify /etc/passwd, search web?,

vi /etc/passwd
web1:x:1021:1034::/var/www/clients/client1/web1:/bin/false

Change /bin/false to /bin/bash

web1:x:1021:1034::/var/www/clients/client1/web1:/bin/bash

Change folder protection. Be Careful

chattr -i /var/www/clients/client1/web??

Change folder ownership

chown -R web?? /var/www/clients/client1/web??

login as web user

su - web??
cd web

Download and install composer (one time only).

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Check composer

php composer.phar -V

Output:

Composer version 2.5.1 2022-12-22 15:33:54

Composer install package test

php composer.phar require monolog/monolog
php composer.phar update

Restore back the setting.

exit
chown -R web?? /var/www/clients/client1/web??
chattr +i /var/www/clients/client1/web??
vi /etc/passwd
[change back to bin/false]

All done.

,