VPS

⌘K
  1. Home
  2. VPS
  3. Ubuntu
  4. Apache, PHP এবং phpMyAdmi...
  5. 4.laravel setup best

4.laravel setup best

অসাধারণ! আপনি এখন যাচ্ছেন Laravel VPS Deployment এর PART 2: System Dependencies Installation পর্যায়ে — একেবারে হাতে-কলমে, গভীরভাবে, প্রফেশনাল সফটওয়্যার ইঞ্জিনিয়ার লেভেলে।

এখানে আমি আপনাকে শেখাব:

✅ PHP 8.2 এবং Laravel-এর জন্য প্রয়োজনীয় extension
✅ MySQL ইনস্টলেশন ও নিরাপদ কনফিগারেশন
✅ Redis, Nginx, Supervisor, Git, Composer
✅ phpMyAdmin ইনস্টলেশন ও security tweak
✅ প্রতিটি কমান্ডের ব্যাখ্যা ও উদ্দেশ্য


🔰 PART 2: System Dependencies Installation (Deep Dive)

🎯 আপনি কাজ করছেন: Ubuntu 22.04 VPS → olee user → SSH key login → root disabled


✅ STEP 0: আপনার ইউজার sudo access রাখুন

sudo -v

📌 ব্যাখ্যা: নিশ্চিত হোন যে আপনার olee ইউজার sudo command চালাতে পারে।


✅ STEP 1: System Package Update

sudo apt update && sudo apt upgrade -y

🧠 কেন?

  • apt update → system package list আপডেট করে
  • apt upgrade -y → পুরনো installed প্যাকেজ গুলো আপডেট করে

✅ STEP 2: Install Required Base Tools

sudo apt install curl unzip git software-properties-common ca-certificates lsb-release gnupg -y

📌 কেন?

  • curl → API বা ফাইল নামাতে দরকার
  • unzip.zip ফাইল extract করতে
  • git → Laravel deploy করতে Git দরকার
  • software-properties-common → PPA যোগ করতে
  • lsb-release, gnupg → security keys authenticate করতে

✅ STEP 3: PHP 8.2 এবং Laravel প্রয়োজনীয় Extensions ইনস্টল

🔧 Add PHP Repository

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

🧠 Ondřej Surý এর PPA Laravel-compatible PHP version দেয়।


🔧 Install PHP 8.2 & Extensions

sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath php8.2-gd php8.2-common php8.2-readline php8.2-intl -y

📌 Laravel-এর জন্য সব প্রয়োজনীয় extension:

  • fpm → Web server integration
  • mysql → Database connection
  • bcmath → Billing/math
  • xml, curl, mbstring, intl, zip → API, Unicode, PDF, etc.

✅ STEP 4: Nginx Web Server ইনস্টল

sudo apt install nginx -y

🧠 Laravel static file serve করে Nginx এর মাধ্যমে → PHP-FPM backend handle করে।


✅ STEP 5: Redis ইনস্টল

sudo apt install redis-server -y
sudo systemctl enable redis
sudo systemctl start redis

📌 Laravel caching, session, queue এর জন্য Redis ব্যবহার করে।


✅ STEP 6: MySQL Server ইনস্টল ও সিকিউর কনফিগারেশন

sudo apt install mysql-server -y

🔐 এখন নিরাপদ কনফিগারেশনের জন্য:

sudo mysql_secure_installation

➡️ প্রশ্ন ও উত্তর:

প্রশ্নউত্তর
Validate password plugin?N (Laravel সাধারণত strong password না রাখলেও কাজ করে)
Remove anonymous users?Y
Disallow root remote login?Y
Remove test database?Y
Reload privilege tables?Y

🎉 এখন আপনার MySQL সিকিউর করা হয়েছে।


✅ STEP 7: phpMyAdmin ইনস্টল

sudo apt install phpmyadmin php8.2-mbstring php8.2-gettext -y

➡️ ইনস্টলেশনের সময়:

  • Web server → Nginx সিলেক্ট করবেন না
  • Configure database → Yes
  • Password দিন (phpmyadmin-এর জন্য)

🔧 Nginx-এ phpMyAdmin manual কনফিগার করুন

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

➡️ এখন phpMyAdmin পাবেন:

http://yourdomain.com/phpmyadmin

🛡️ নিরাপত্তার জন্য phpMyAdmin IP restrict করুন (অপশনাল)

sudo nano /etc/nginx/sites-available/default

phpMyAdmin লোকেশন ব্লকে যোগ করুন:

location /phpmyadmin {
    allow your.ip.address.here;
    deny all;
    root /usr/share/;
    index index.php index.html index.htm;
}

✅ STEP 8: Composer ইনস্টল

cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

➡️ Laravel install/maintain করতে Composer বাধ্যতামূলক।


✅ STEP 9: Supervisor ইনস্টল

sudo apt install supervisor -y

📌 Laravel Queue Worker, Horizon, Octane daemon চালাতে Supervisor ব্যবহার হয়।


✅ STEP 10: সার্ভিস রিস্টার্ট এবং চেক

sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx
sudo systemctl status mysql
sudo systemctl status redis

✅ সারাংশ (Engineer’s Checklist)

SoftwareInstall হয়েছে?ব্যাখ্যা
PHP 8.2 & ExtensionsLaravel run করার জন্য
MySQL + Secureডেটাবেজ & security
RedisQueue/Cache
NginxWeb server
phpMyAdminWeb-based DB manager
ComposerLaravel dependency manager
SupervisorDaemon/Worker

আপনি চাইলে এখন PART 3 শুরু করতে পারি: Laravel Install & Nginx Virtual Host b।
বলুন আপনি কবে Laravel deploy শুরু করবেন, আমি সেই অনুযায়ী ভেঙে ভেঙে শুরু করব।

How can we help?