অনেকসময় মাইক্রোসফট এর কনফ্লিক্ট থাকে চেক করো আগে
Step 1: সব source files দেখুন এবং Microsoft reference খুঁজুন
# sources.list.d এর সব files দেখুন
ls -la /etc/apt/sources.list.d/
# সব files এ microsoft খুঁজুন
grep -r "microsoft" /etc/apt/sources.list.d/
# main sources.list এও check করুন
grep -i "microsoft" /etc/apt/sources.listStep 2: microsoft.list এর content দেখুন
cat /etc/apt/sources.list.d/microsoft.listএই commands গুলো run করে output দেখান। তাহলে বুঝতে পারব কোথায় conflict হচ্ছে।
আমার কাছে এরকম একটা আউটপুট এসেছিলো
olee@olee-VivoBook-ASUSLaptop-X415EA-X415EA:~/Desktop/Projects./Projects/sectet$ # sources.list.d এর সব files দেখুন
ls -la /etc/apt/sources.list.d/
# সব files এ microsoft খুঁজুন
grep -r "microsoft" /etc/apt/sources.list.d/
# main sources.list এও check করুন
grep -i "microsoft" /etc/apt/sources.list
total 40
drwxr-xr-x 2 root root 4096 Nov 26 15:58 .
drwxr-xr-x 9 root root 4096 Nov 18 06:33 ..
-rw-r--r-- 1 root root 120 Nov 22 22:37 archive_uri-https_dl_winehq_org_wine-builds_ubuntu_-noble.list
-rw-r--r-- 1 root root 1756 Nov 22 22:37 deadsnakes-ubuntu-ppa-noble.sources
-rw-r--r-- 1 root root 112 Nov 22 22:37 docker.list
-rw-r--r-- 1 root root 190 Nov 22 22:37 google-chrome.list
-rw-r--r-- 1 root root 121 Nov 26 15:58 microsoft.list
-rw-r--r-- 1 root root 138 Nov 22 22:37 mssql-release.list
-rw-r--r-- 1 root root 386 Nov 22 22:37 ubuntu.sources
-rw-r--r-- 1 root root 2552 Aug 27 2024 ubuntu.sources.curtin.orig
/etc/apt/sources.list.d/microsoft.list:deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/ubuntu/24.04/prod noble main
/etc/apt/sources.list.d/mssql-release.list:deb [arch=amd64,arm64,armhf signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/24.04/prod noble main
olee@olee-VivoBook-ASUSLaptop-X415EA-X415EA:~/Desktop/Projects./Projects/sectet$ cat /etc/apt/sources.list.d/microsoft.list
deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/ubuntu/24.04/prod noble main
সমস্যা পাওয়া গেছে!
দুইটা file একই URL কে point করছে কিন্তু different GPG key use করছে:
| File | GPG Key |
|---|---|
microsoft.list | /usr/share/keyrings/microsoft.gpg |
mssql-release.list | /usr/share/keyrings/microsoft-prod.gpg |
এটাই conflict!
Fix করুন
Option A: microsoft.list remove করুন (Recommended)
mssql-release.list রাখুন কারণ এটা SQL Server এর জন্য। microsoft.list duplicate, তাই remove করুন:
# Duplicate microsoft.list remove করুন
sudo rm /etc/apt/sources.list.d/microsoft.list
# microsoft.gpg keyring ও remove করুন
sudo rm /usr/share/keyrings/microsoft.gpg
# mssql এর জন্য correct key add করুন (যদি না থাকে)
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
# Update test করুন
sudo apt updatePostgreSQL Install করুন
sudo apt install postgresql postgresql-contrib -yPostgreSQL সফলভাবে Install হয়েছে!
এখন PostgreSQL setup করুন এবং visual admin panel (pgAdmin) install করুন।
Step 1: PostgreSQL চলছে কিনা verify করুন
sudo systemctl status postgresql
#যদি চালু না থাকে:
sudo systemctl start postgresql
sudo systemctl enable postgresql
২️⃣ PostgreSQL এর psql shell এ লগইন করা
PostgreSQL installation করার পর, postgres নামে একটি default user থাকে।
Step 2: PostgreSQL এ password set করুন
# postgres user এ switch করুন
sudo -u postgres psql
# Password set করুন (নিচের command টা psql এর ভিতরে run করুন)
ALTER USER postgres WITH PASSWORD 'f34K3j87iXdRV3q!';
# বের হয়ে আসুন
\q৩️⃣ নতুন user (role) তৈরি করা
Django project এর জন্য একটি dedicated user তৈরি করবো। ধরো username = myuser, password = mypassword
CREATE ROLE myuser WITH LOGIN PASSWORD 'mypassword';
ALTER ROLE myuser CREATEDB; -- Django migrations করতে database create করতে পারবে
৪️⃣ নতুন database তৈরি করা
CREATE DATABASE mydb OWNER myuser;
#এখন mydb database টা myuser এর মালিক।
# psql থেকে বের হওয়া
\q
৬️⃣ Django সেটিংসে PostgreSQL ব্যবহার করা
settings.py এ database section update করো:
Step 3: pgAdmin 4 Install করুন (Visual Admin Panel)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydb',
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'localhost',
'PORT': '5432',
}
}
৭️⃣ Python driver ইন্সটল করা
PostgreSQL এর জন্য Python library দরকার:
৮️⃣ Django migrations চালানো
python manage.py migrate# pgAdmin repository add করুন
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/pgadmin-keyring.gpg
# Source list add করুন
echo "deb [signed-by=/usr/share/keyrings/pgadmin-keyring.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list
# Web version install করুন
sudo apt install pgadmin4-web -y
# Configure করুন
sudo /usr/pgadmin4/bin/setup-web.sh
---------------------------------------------------------------
এটি আপনাকে email ও password দিতে বলবে।
এরপর এটি web interface চালু করবে, সাধারণত:Firewall / Port খোলা
- যদি VPS-এ firewall চালু থাকে, তবে 80 বা 443 port খুলতে হবে (http/https এর জন্য)
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
Browser থেকে Access
- আপনার ব্রাউজারে যান:
এরপর browser এ `http://localhost/pgadmin4` এ access করতে পারবেন।
#vps e evabe jan
http://<VPS-IP>/pgadmin4- Login করুন যেই email/password দিয়ে setup করেছেন।
- এরপর আপনি আপনার PostgreSQL সার্ভার ম্যানেজ করতে পারবেন।
Add New Server click করুন
এই information দিন:
- Name: Local PostgreSQL (যেকোনো নাম)
- Connection tab:
- Host:
localhost - Port:
5432 - Username:
postgres - Password: f34K3j87iXdRV3q! (এর আগে যেটা set করেছেন)
Django-এর জন্য PostgreSQL user, database এবং server setup করা