📤 File Upload Methods
- cPanel File Manager — drag drop, ZIP extract
- FTP/SFTP via FileZilla → public_html/
- Git via SSH (advanced)
🚀 WordPress 1-Click
cPanel → Softaculous → WordPress → Install
- Domain: yourdomain.com
- Directory: (blank for root)
- Site Name, Admin User/Pass
- Auto SSL → Install
- Login: yourdomain.com/wp-admin
📦 PHP App Manual Deploy
# 1. Upload files
public_html/
├── index.php
├── config.php
├── .htaccess
└── assets/
# 2. Create DB (cPanel → MySQL Databases)
- DB name: yoursite_app
- User + Password
- Add user to DB → All privileges
# 3. Connect (config.php)
$host = "localhost";
$db = "yoursite_app";
$user = "yoursite_user";
$pass = "secret";
# 4. Import schema (phpMyAdmin → Import → SQL)
📜 .htaccess Examples
# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# Pretty URLs (Laravel/CI)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
# Block IP
Deny from 1.2.3.4
# Cache static
Header set Cache-Control "max-age=2592000"
# Password protect
AuthType Basic
AuthName "Protected"
AuthUserFile /home/user/.htpasswd
Require valid-user
🌐 Subdomain Setup
cPanel → Subdomains
- Subdomain: blog
- Domain: yourdomain.com
- Document Root: /home/user/blog (auto)
→ Upload files to that folder
📧 Addon Domain
একই hosting plan-এ দ্বিতীয় domain
cPanel → Addon Domains → Create
DNS: addon domain-এর registrar-এ
nameserver শেয়ার hosting-এর দিন
🔒 SSL Setup
- cPanel → SSL/TLS → Lets Encrypt (auto)
- AutoSSL feature বেশিরভাগ provider-এ free
- Custom cert: Paste cert + key + CA bundle
💾 Backup Strategy
# cPanel Full Backup
cPanel → Backup → Download Full Backup
- Files + Email + DB + Config
# Database only
cPanel → phpMyAdmin → Export → SQL
# OR Backup Wizard → MySQL Database
# Automate (cron + script)
0 2 * * * mysqldump -u user -ppass db | gzip > /home/user/backup/db_$(date +\%Y\%m\%d).sql.gz
⏰ Cron in cPanel
cPanel → Cron Jobs → Add
* * * * * /usr/local/bin/php /home/user/public_html/cron.php
# Laravel scheduler
* * * * * cd /home/user/laravel && php artisan schedule:run >/dev/null 2>&1
🎓 মূল কথা ⭐
WordPress = 1-click। Custom PHP = manual upload + DB + .htaccess। SSL via AutoSSL free। Daily backup mandatory — provider failure থেকে নিজে rescue।