Cara Instal Projek PHP, Codeigniter dan Laravel di Hosting Cpanel
Web hosting adalah layanan online yang memungkinkan Anda mempublikasikan file situs web Anda ke internet. Jadi, siapa pun yang memiliki akses ke internet memiliki akses ke situs web Anda. Dalam praktiknya, biasanya mengacu pada layanan yang Anda dapatkan dari penyedia web hosting.
1. Menyiapkan Domain dan Subdomain
2. Upload File Projek di File Manager
3. Menyiapkan Database
4. Konfigurasi Projek
cPanel adalah sebuah panel kontrol layanan hos web pada Linux yang memberikan tampilan grafis dan peralatan automasi yang dibuat untuk memudahkan proses hosting di sebuah situs web. cPanel menggunakan 3 tingkat struktur untuk memberikan fungsi administrator, agen, dan pemilik situs web untuk mengatur berbagai macam aspek dari situs web dan administrasi server melalui sebuah penjelajah web standar. Selain memberikan Guide User Interface untuk memudahkan pengguna, cPanel juga dilengkapi dengan perintah dalam teks dan berdasarkan API agar vendor perangkat lunak pihak ketiga, organisasi layanan hos web dan pengembang untuk otomatisasi sistem standar proses administrasinya.
Dalam artikel ini, kita akan membahas cara upload projek PHP di hosting cpanel. Baik native maupun framework seperti codeigniter dan laravel sebenarnya sama saja. Yang membedakan adalah letak konfigurasinya baik koneksi database, base url dan lainnya.
Baca Juga :
1. 10 Ekstensi PHP Yang Sering Digunakan, Fungsi dan Cara Mengaktifkan
2. Cara Instal Projek Laravel di Localhost
Syarat projek anda dapat diinstal di hosting adalah :
- Sudah mempunyai hosting, baik share hosting maupun cloud hosting.
- Sudah mempunyai domain. Biasanya satu paket dalam pembelian hosting.
Adapun yang harus anda perhatikan sebelum menginstal projek anda di hosting adalah :
- Pastikan hosting anda memenuhi system requirement yang diperlukan projek anda, baik dari versi PHP, ekstensi yang dibutuhkan, versi PHP dan konfigurasi web server yang sesuai dengan projek anda.
- Pastikan disk space pada hosting anda mencukupi sesuai dengan ukuran source code projek anda. Usahakan untuk membeli hosting yang unlimited disk space dan unlimited bandwith.
Secara garis besar, proses instal projek php apapun di hosting termasuk CMS seperti wordpress, drupal, noodle dan lainnya terbagi menjadi 4 urutan proses, yaitu :
- Menyiapkan domain atau sub domain
- Upload file projek di file manajer
- Menyiapkan database.
- Konfigurasi projek.
1. Menyiapkan Domain dan Sub Domain
2. Upload file projek di file manager.
Kembali ke halaman utama cpanel, arahkan ke grup Files dan pilih File Manager.
Jika anda menginstal projek di domain utama, maka lokasi document rootnya ada di public_html. Namun jika anda menginstal projek di sub domain, document rootnya sesuai yang anda catat saat membuat sub domain pada langkah pertama.
3. Menyiapkan Database
4. Konfigurasi Projek
Konfigurasi dasar projek PHP pada umumnya hanya koneksi database dan base url. Sedangkan konfigurasi lanjutan seperti pengaturan SMTP, cronjob, API Key dan lainnya tergantung dari keperluan suatu projek. Disini saya akan menjelaskan konfigurasi dasar beberapa projek php diantaranya PHP Native, Codeigniter 2 dan 3, Codeigniter 4 dan Laravel.
A. Konfigurasi PHP Native.
Projek aplikasi yang dibuat menggunakan php native umumnya mempunyai susunan folder dan design pattern yang tidak baku. Artinya setiap projek mempunyai file konfigurasi sendiri-sendiri tergantung selera pengembangnya. Biasanya pada aplikasi native, file untuk konfigurasi database diberi nama koneksi.php atau config.php . Contohnya seperti berikut :
<?php //memeriksa apakah ada session yang aktif atau tidak if(!isset($_SESSION)){ //memulai session session_start(); } //setting server, username, password dan database $server = "localhost"; $username = "root"; $password = ""; $database = "dbsekolah"; // setting web root $thisFile = str_replace('\\', '/', __FILE__); $docRoot = $_SERVER['DOCUMENT_ROOT']; $webRoot = str_replace(array($docRoot, 'library/config.php'), '', $thisFile); define('WEB_ROOT', $webRoot); //konek ke server $konek = mysql_connect($server, $username, $password) or die ("Gagal konek ke server MySQL" .mysql_error()); //konek ke database $bukadb = mysql_select_db($database) or die ("Gagal membuka database $database" .mysql_error()); date_default_timezone_set('Asia/Jakarta'); ?>
B. Konfigurasi Codeigniter 3
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /* |-------------------------------------------------------------------------- | Base Site URL |-------------------------------------------------------------------------- | | */ $config['base_url'] = "https://domainsaya.com";atau anda juga bisa mengatur base url secara dinamis (otomatis membaca nama domain).
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /* |-------------------------------------------------------------------------- | Base Site URL |-------------------------------------------------------------------------- | | */ $config['base_url'] = (isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST']. str_replace(basename($_SERVER['SCRIPT_NAME']),"", $_SERVER['SCRIPT_NAME']);
C. Konfigurasi Codeigniter 4
#-------------------------------------------------------------------- # Example Environment Configuration file # # This file can be used as a starting point for your own # custom .env files, and contains most of the possible settings # available in a default install. # # By default, all of the settings are commented out. If you want # to override the setting, you must un-comment it by removing the '#' # at the beginning of the line. #-------------------------------------------------------------------- #-------------------------------------------------------------------- # ENVIRONMENT #-------------------------------------------------------------------- # CI_ENVIRONMENT = production #-------------------------------------------------------------------- # APP #-------------------------------------------------------------------- # app.baseURL = '' # If you have trouble with `.`, you could also use `_`. # app_baseURL = '' # app.forceGlobalSecureRequests = false # app.sessionDriver = 'CodeIgniter\Session\Handlers\FileHandler' # app.sessionCookieName = 'ci_session' # app.sessionExpiration = 7200 # app.sessionSavePath = null # app.sessionMatchIP = false # app.sessionTimeToUpdate = 300 # app.sessionRegenerateDestroy = false # app.CSPEnabled = false #-------------------------------------------------------------------- # KONFIGURASI DATABASE #-------------------------------------------------------------------- database.default.hostname = localhost database.default.database = ci4 database.default.username = root database.default.password = pass database.default.DBDriver = MySQLi database.default.DBPrefix = database.default.port = 3306
<?php namespace Config; use CodeIgniter\Database\Config; /** * Database Configuration */ class Database extends Config { /** * The directory that holds the Migrations * and Seeds directories. * * @var string */ public $filesPath = APPPATH . 'Database' . DIRECTORY_SEPARATOR; /** * Lets you choose which connection group to * use if no other is specified. * * @var string */ public $defaultGroup = 'default'; /** * The default database connection. * * @var array */ public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => 'pass', 'database' => 'dbsaya', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
<?php namespace Config; use CodeIgniter\Config\BaseConfig; use CodeIgniter\Session\Handlers\FileHandler; class App extends BaseConfig { /** * -------------------------------------------------------------------------- * Base Site URL * -------------------------------------------------------------------------- * * URL to your CodeIgniter root. Typically this will be your base URL, * WITH a trailing slash: * * http://example.com/ * * If this is not set then CodeIgniter will try guess the protocol, domain * and path to your installation. However, you should always configure this * explicitly and never rely on auto-guessing, especially in production * environments. * * @var string */ public $baseURL = 'https://domainsaya.com';
APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=https://domainsaya.com LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=dbsaya DB_USERNAME=root DB_PASSWORD=pass BROADCAST_DRIVER=log CACHE_DRIVER=file FILESYSTEM_DISK=local QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 MEMCACHED_HOST=127.0.0.1 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_HOST= PUSHER_PORT=443 PUSHER_SCHEME=https PUSHER_APP_CLUSTER=mt1 VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}" VITE_PUSHER_HOST="${PUSHER_HOST}" VITE_PUSHER_PORT="${PUSHER_PORT}" VITE_PUSHER_SCHEME="${PUSHER_SCHEME}" VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Pada tutorial diatas kita sudah melakukan instalasi projek php ke cpanel hosting dengan berbagai macam versi PHP. Intinya dalam proses instal hosting yang perlu disiapkan adalah domain, database dan file projek yang akan diunggah. Selanjutnya masing-masing projek mempunyai konfigurasi yang berbeda-beda tergantung metode dan framework yang digunakan saat pembuatan aplikasi.