📑 Daftar Isi
- Pendahuluan
- Apa Itu Composer?
- Persiapan: Pastikan Hosting Support Terminal
- Cara Install Composer di cPanel
- ⚠️ PERINGATAN KEAMANAN: Backup Dulu!
- Langkah 1: Buka cPanel Terminal
- Langkah 2: Jalankan Command Install Composer
- Penjelasan Tiap Bagian Command
- Langkah 3: Konfigurasi PATH (Opsional tapi Direkomendasikan)
- Langkah 4: Verifikasi Installasi
- Contoh Output Verifikasi
- Cara Menggunakan Composer Setelah Install
- Troubleshooting: Install Gagal
- Masalah 1: "curl: (6) Could not resolve host"
- Masalah 2: "php: command not found"
- Masalah 3: "Permission denied" saat menjalankan composer
- Masalah 4: "checksum mismatch" saat install
- Pro Tips: Penggunaan Composer di Shared Hosting
- FAQ
- Apakah Composer bisa diinstall di semua shared hosting?
- Apakah Composer akan mempengaruhi performa website?
- Bagaimana cara update Composer setelah install?
- Apakah saya bisa pakai Composer tanpa terminal cPanel?
- Related Issues
- Kesimpulan
Pendahuluan
Suatu hari saya dapat request dari client: “Saya ingin install Laravel di shared hosting, tapi kok composer-nya tidak ada?” Pertanyaan ini sebenarnya sangat umum — banyak developer yang terbiasa pakai VPS atau dedicated server lupa bahwa shared hosting biasanya tidak menyediakan Composer secara default. Di VPS, kamu bisa tinggal jalankan apt install composer atau yum install composer. Tapi di shared hosting, kamu tidak punya akses root dan harus install secara manual.
Yang bikin menarik, beberapa tahun lalu saya sempat mengira bahwa install Composer di shared hosting itu mustahil. Ternyata tidak — asalkan hosting kamu support terminal (cPanel Terminal), kamu bisa install Composer dengan satu command panjang yang dijalankan dari terminal cPanel. Tidak perlu SSH, tidak perlu akses root, tidak perlu compile dari source. Cukup satu command, selesai.
Di artikel ini saya akan tunjukkan cara install Composer di shared hosting cPanel menggunakan fitur terminal, langkah demi langkah. Saya juga akan jelaskan apa yang dilakukan setiap bagian command agar kamu paham, bukan hanya copy-paste buta.
Apa Itu Composer?
Sebelum masuk ke command install, penting untuk memahami apa itu Composer dan kenapa kamu membutuhkannya.
Composer Adalah Package Manager untuk PHP
Composer adalah tool dependency management untuk PHP. Secara sederhana, Composer membantu kamu menginstall, mengupdate, dan mengelola library/package PHP yang dibutuhkan oleh project kamu. Mirip seperti npm untuk JavaScript atau pip untuk Python.
Ketika kamu install package menggunakan Composer, Composer akan:
- Download package yang diminta beserta semua dependensinya
- Install package ke direktori
vendor/di project kamu - Membuat file
composer.jsonyang berisi daftar dependensi - Membuat file
composer.lockyang mengunci versi spesifik dari setiap package
Kenapa Composer Penting?
Banyak framework dan library PHP modern membutuhkan Composer untuk installasi:
- Laravel — framework PHP paling populer, wajib pakai Composer
- Symfony — framework PHP enterprise
- PHPUnit — testing framework untuk PHP
- PHPMailer — library untuk mengirim email
- Guzzle — HTTP client untuk PHP
- Dan ratusan library PHP lainnya
Tanpa Composer, kamu tidak bisa install framework modern atau library PHP yang dibutuhkan oleh banyak aplikasi.
Persiapan: Pastikan Hosting Support Terminal
Cek Apakah Hosting Kamu Support Terminal
Sebelum mencoba install Composer, pastikan hosting kamu menyediakan fitur cPanel Terminal. Tidak semua shared hosting support fitur ini — beberapa hosting hanya menyediakan File Manager dan PHPMyAdmin tanpa akses terminal.
Cara mengecek:
- Login ke cPanel
- Cari menu “Terminal” atau “SSH Access” di bagian “Advanced”
- Jika menu tersebut ada dan bisa diklik, hosting kamu support terminal
- Jika tidak ada, hubungi provider hosting untuk menanyakan apakah fitur terminal tersedia
Alternatif Jika Terminal Tidak Tersedia
Jika hosting kamu tidak support terminal, ada beberapa alternatif:
- Install via File Manager — download composer.phar dari website resmi, upload via File Manager, lalu jalankan dari cron job
- Minta provider hosting installkan Composer — beberapa provider hosting bersedia install Composer untukmu
- Upgrade ke VPS — jika kamu serius menggunakan Composer, pertimbangkan upgrade ke VPS yang memberikan akses root penuh
Cara Install Composer di cPanel
⚠️ PERINGATAN KEAMANAN: Backup Dulu!
Sebelum menjalankan command install, pastikan kamu sudah backup file yang penting di home directory. Meskipun install Composer tidak menghapus file yang ada, lebih baik waspada.
# Backup file penting di home directory
# (jalankan dari File Manager cPanel atau terminal sebelum install)
cp -r ~/public_html /tmp/backup-public_html-$(date +%Y%m%d-%H%M) 2>/dev/null
cp ~/.bashrc /tmp/backup-bashrc-$(date +%Y%m%d-%H%M) 2>/dev/null
Langkah 1: Buka cPanel Terminal
- Login ke cPanel
- Cari menu “Terminal” di bagian “Advanced”
- Klik menu “Terminal”
- Kamu akan melihat terminal seperti SSH — ini adalah terminal berbasis web yang memungkinkan kamu menjalankan command di server
⚠️ PENTING: Terminal cPanel berjalan dengan user kamu (bukan root). Semua command yang kamu jalankan akan berjalan dengan permission user kamu. Ini artinya kamu tidak bisa menginstall package system-wide, tapi kamu bisa install Composer di home directory.
Langkah 2: Jalankan Command Install Composer
Berikut command lengkap untuk install Composer di shared hosting cPanel:
cd ~ && curl -4sS https://getcomposer.org/installer -o composer-setup.php && php composer-setup.php --checksum=$(curl -4sS https://composer.github.io/installer.sig) && mkdir -p $HOME/bin && mv composer.phar $HOME/bin/composer && chmod +x $HOME/bin/composer && rm composer-setup.php && composer --version
Jangan langsung copy-paste — baca dulu penjelasan setiap bagian command di bawah agar kamu paham apa yang dilakukan.
Penjelasan Tiap Bagian Command
-
cd ~— Pindah ke home directory (~adalah shorthand untuk home directory user). Ini memastikan semua operasi berjalan di direktori yang benar — yaitu direktori milik kamu. -
curl -4sS https://getcomposer.org/installer -o composer-setup.php— Download installer Composer dari website resmi. Penjelasan flag:-4= pakai IPv4 saja (menghindari masalah DNS dual-stack),-s= silent mode (tidak ada progress bar),-S= show errors (tampilkan error jika ada). Fileinstallerdisimpan sebagaicomposer-setup.php. -
php composer-setup.php --checksum=$(curl -4sS https://composer.github.io/installer.sig)— Jalankan installer Composer. Flag--checksummemverifikasi bahwa installer yang di-download tidak corrupt atau dimodifikasi. Checksum di-download darihttps://composer.github.io/installer.sigdan dibandingkan dengan checksum dari file installer. Jika tidak cocok, installasi akan gagal — ini langkah keamanan untuk memastikan kamu mendapatkan installer yang asli. -
mkdir -p $HOME/bin— Buat direktoribindi home directory jika belum ada. Flag-pberarti “parents” — tidak error jika direktori sudah ada. Direktoribinini akan menyimpan executable files yang bisa dijalankan dari command line tanpa perlu full path. -
mv composer.phar $HOME/bin/composer— Pindahkan filecomposer.phar(file executable Composer yang sudah di-install) ke direktoribindan rename menjadicomposer. Dengan cara ini, kamu bisa menjalankancomposerdari direktori manapun tanpa perluphp composer.phar. -
chmod +x $HOME/bin/composer— Berikan permission execute (+x) pada filecomposer. Tanpa permission ini, file tidak bisa dijalankan sebagai executable. -
rm composer-setup.php— Hapus file installer yang sudah tidak diperlukan. File ini hanya dibutuhkan untuk proses install saja — setelah Composer terinstall, file installer bisa dihapus. -
composer --version— Verifikasi bahwa Composer berhasil diinstall dengan menampilkan versi Composer yang terinstall. Jika command ini menghasilkan output seperti “Composer version 2.6.5”, berarti install berhasil.
Langkah 3: Konfigurasi PATH (Opsional tapi Direkomendasikan)
Agar command composer bisa dijalankan dari direktori manapun tanpa perlu full path, pastikan $HOME/bin ada di PATH:
# Cek apakah $HOME/bin sudah ada di PATH
echo $PATH | grep -q "$HOME/bin" && echo "PATH sudah benar" || echo "Perlu konfigurasi PATH"
# Tambahkan $HOME/bin ke PATH (untuk sesi ini)
export PATH=$HOME/bin:$PATH
# Tambahkan ke .bashrc agar persisten
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
Setelah konfigurasi ini, kamu bisa menjalankan composer dari direktori manapun tanpa perlu ~/bin/composer.
Langkah 4: Verifikasi Installasi
Setelah install, verifikasi bahwa Composer berfungsi dengan benar:
# Cek versi Composer
composer --version
# Cek help Composer
composer --help
# Test buat project baru (opsional)
mkdir /tmp/test-composer && cd /tmp/test-composer
composer init --name="test/project" --no-interaction
ls -la
Contoh Output Verifikasi
$ composer --version
Composer version 2.6.5 2023-10-06 10:11:52
$ composer --help
Description:
Composer Command Line Interface
Usage:
composer [options] [command] [arguments]
Options:
--help (-h) Display this help message
--quiet (-q) Do not output any message
--verbose (-v|vv|vvv) Increase the verbosity of messages
--version (-V) Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
...
Cara Menggunakan Composer Setelah Install
Install Package ke Project
Setelah Composer terinstall, kamu bisa menggunakannya untuk install package ke project kamu:
# Pindah ke direktori project
cd ~/public_html/myproject
# Install package (misalnya PHPMailer)
composer require phpmailer/phpmailer
# Install semua dependensi dari composer.json
composer install
# Update semua dependensi ke versi terbaru
composer update
Membuat Project Baru dengan Composer
Composer juga bisa digunakan untuk membuat project baru langsung dari template:
# Buat project Laravel baru
composer create-project laravel/laravel myproject
# Buat project Symfony baru
composer create-project symfony/skeleton myproject
Cek Status Dependensi
# Lihat semua package yang terinstall
composer show
# Cek package yang sudah outdated
composer outdated
# Cek audit keamanan package
composer audit
Troubleshooting: Install Gagal
Masalah 1: “curl: (6) Could not resolve host”
Error ini muncul karena masalah DNS atau koneksi. Solusinya:
# Coba pakai IP langsung (opsional)
curl -4sS https://151.101.2.49/installer -o composer-setup.php
# Atau cek koneksi internet
ping -c 3 getcomposer.org
Masalah 2: “php: command not found”
Beberapa shared hosting menggunakan nama PHP yang berbeda:
# Coba pakai php8.1, php8.2, atau php-cgi
php8.2 composer-setup.php
# atau
/usr/bin/php-cgi composer-setup.php
Masalah 3: “Permission denied” saat menjalankan composer
Pastikan permission file sudah benar:
# Cek permission
ls -la ~/bin/composer
# Jika belum +x, jalankan chmod
chmod +x ~/bin/composer
Masalah 4: “checksum mismatch” saat install
Error ini muncul karena checksum tidak cocok — bisa jadi file corrupt atau versi installer berubah. Solusinya:
# Download ulang installer
rm -f composer-setup.php
curl -4sS https://getcomposer.org/installer -o composer-setup.php
# Jalankan install tanpa checksum (opsional, kurang aman)
php composer-setup.php
Pro Tips: Penggunaan Composer di Shared Hosting
- Install di home directory, bukan public_html — Composer dan file
vendor/sebaiknya tidak berada di direktori yang bisa diakses publik. Install Composer di~/bindan jalankan install di direktori project yang sesuai. - Gunakan
composer installdi production — di production, gunakancomposer install(bukancomposer update) untuk memastikan versi package sesuai dengancomposer.lock. - Add
vendor/ke.gitignore— jangan commit direktorivendor/ke Git. Direktori ini bisa di-generate ulang dengancomposer install. - Gunakan
composer audit— jalankancomposer auditsecara berkala untuk mengecek apakah ada package yang punya vulnerability keamanan. - Optimasi autoloader — di production, jalankan
composer install --optimize-autoloaderuntuk mempercepat loading time. - Backup
composer.lock— filecomposer.locksangat penting karena mengunci versi package. Backup file ini ke tempat yang aman. - Gunakan
--no-devdi production — jika kamu tidak membutuhkan package development (testing, debugging), gunakancomposer install --no-devuntuk mengurangi ukuran installasi.
FAQ
Apakah Composer bisa diinstall di semua shared hosting?
Tidak semua. Composer membutuhkan PHP (minimal PHP 5.3.2) dan fitur terminal di cPanel. Jika hosting kamu tidak support terminal atau PHP version-nya terlalu lama, Composer tidak bisa diinstall. Cek dengan provider hosting kamu apakah fitur terminal tersedia.
Apakah Composer akan mempengaruhi performa website?
Tidak langsung. Composer hanya tool untuk menginstall package — package yang diinstall akan berjalan seperti biasa. Tapi Composer sendiri tidak boleh berada di direktori public (public_html) karena bisa mengekspos informasi sensitif. Pastikan Composer di-install di home directory, bukan di public_html.
Bagaimana cara update Composer setelah install?
Jalankan command composer self-update dari terminal. Command ini akan mengupdate Composer ke versi terbaru. Untuk mengupdate ke versi major tertentu, gunakan composer self-update --2 atau composer self-update --1.
Apakah saya bisa pakai Composer tanpa terminal cPanel?
Ya, tapi lebih ribet. Kamu bisa download composer.phar langsung dari website resmi, upload via File Manager, lalu jalankan via cron job atau PHP script. Tapi cara ini tidak direkomendasikan karena kurang praktis dan kurang aman.
Related Issues
- Cara Update PHP di CloudLinux — Composer membutuhkan PHP yang cukup baru, pastikan PHP di server sudah versi terbaru
- Cara Mengatasi Inode Exhaustion di cPanel — install Composer dan package bisa menambah jumlah file/inode
- Cara Mendeteksi & Membebaskan Disk Space dari File Terhapus — file vendor/ dan cache Composer bisa menahan disk space
Kesimpulan
Install Composer di shared hosting cPanel sebenarnya tidak serumit yang dibayangkan. Dengan satu command panjang yang dijalankan dari cPanel Terminal, Composer bisa terinstall dan langsung digunakan. Kunci utamanya adalah pastikan hosting kamu support terminal, jalankan command di home directory (bukan public_html), dan verifikasi setelah install.
Yang terpenting, jangan install Composer di direktori public (public_html) karena Composer bisa mengekspos informasi sensitif. Install di home directory, jalankan composer install atau composer create-project di direktori project yang sesuai, dan pastikan vendor/ tidak bisa diakses publik. Lebih baik install dengan benar sejak awal daripada harus menjelaskan ke client kenapa ada file sensitive yang terekspos di website — percaya deh, saya pernah ngalamin dan tidak mau ngalamin lagi.