مجله ایرانیکاسرور آموزش سرور، هاست، وردپرس و شبکه پنل کاربری

راه‌اندازی CRM اختصاصی با Twenty روی سرور مجازی ایران؛ از نصب تا مدیریت حرفه‌ای مشتریان

اگر کسب‌وکارتان رشد کرده و مدیریت مشتریان، سرنخ‌های فروش و ارتباطات روزانه با ابزارهایی مثل فایل اکسل یا دفترچه یادداشت دیگر جواب نمی‌دهد، وقت آن رسیده به فکر یک CRM اختصاصی باشید. اما شاید…

Amir Jabbari 📅 1 مهر 1405 ⏱ 11 دقیقه مطالعه 👁 5 بازدید 💬 0 دیدگاه
اگر کسب‌وکارتان رشد کرده و مدیریت مشتریان، سرنخ‌های فروش و ارتباطات روزانه با ابزارهایی مثل فایل اکسل یا دفترچه یادداشت دیگر جواب نمی‌دهد، وقت آن رسیده به فکر یک CRM اختصاصی باشید. اما شاید نگران این باشید که اطلاعات مشتریانتان روی سرورهای شرکت‌های خارجی ذخیره شود یا هزینه اشتراک ماهانه CRMهای ابری سرسام‌آور باشد.خبر خوب این است که با Twenty و یک سرور مجازی ایران می‌توانید یک CRM کاملاً شخصی داشته باشید؛ جایی که همه داده‌ها روی سرور خودتان قرار دارد و کنترل کامل دست شماست. در این راهنما، از صفر تا صد نصب و راه‌اندازی Twenty روی VPS را قدم‌به‌قدم یاد می‌گیرید.

در همین ابتدا پیشنهاد می‌کنیم برای انتخاب سرور مناسب با منابع کافی، نگاهی به پلن‌های سرور مجازی ایرانیکاسرور بیندازید تا بتوانید بر اساس نیاز واقعی خود تصمیم بگیرید.

🔹 چرا Twenty برای کسب‌وکار شما مناسب است؟

Twenty یک CRM متن‌باز است که به‌جای وابستگی به سرویس‌های ابری، به شما اجازه می‌دهد نرم‌افزار را روی زیرساخت خودتان اجرا کنید [citation:4]. این یعنی:

🔹 داده‌های مشتریان روی سرور خودتان باقی می‌ماند

🔹 هزینه اشتراک ماهانه به ازای هر کاربر پرداخت نمی‌کنید

🔹 امکان سفارشی‌سازی عمیق فرآیند فروش و فیلدهای CRM وجود دارد [citation:10]

🔹 کد آن در GitHub به‌صورت عمومی قابل بررسی و توسعه است [citation:4]

Twenty دقیقاً چه کارهایی برای شما انجام می‌دهد؟

شاید فکر کنید یک CRM متن‌باز فقط چند فیلد ساده برای ثبت نام و شماره تماس دارد. اما Twenty از نسخه ۲.۰ به بعد امکاناتی در سطح CRMهای تجاری ارائه می‌دهد [citation:17].

با Twenty می‌توانید:

🔹 مخاطبان، شرکت‌ها و سازمان‌ها را مدیریت کنید

🔹 فرصت‌های فروش را در قالب کانبان یا جدول پیگیری کنید

🔹 ایمیل و تقویم را به CRM متصل کنید تا همه مکالمات در یک جا ثبت شود [citation:1]

🔹 وظایف، یادداشت‌ها و فعالیت‌های تیم فروش را سازماندهی کنید

🔹 کاربران مختلف با سطوح دسترسی متفاوت تعریف کنید

🔹 و از طریق API و Webhookها به ابزارهای دیگر متصل شوید [citation:10]

چرا VPS ایران برای راه‌اندازی CRM منطقی‌تر است؟

شاید بپرسید چرا نباید از یک سرویس ابری آماده CRM استفاده کرد؟ پاسخ کوتاه این است که وقتی داده مشتریان و فرآیند فروش کسب‌وکارتان روی سرورهای خارج از کنترل شما باشد، همیشه یک ریسک پنهان وجود دارد [citation:3].

با VPS ایران چند مزیت مشخص به دست می‌آورید:

📌 نکته کلیدی درباره انتخاب VPS

🔹 کنترل کامل روی سرور — سیستم‌عامل، Docker، شبکه و دامنه را خودتان مدیریت می‌کنید

🔹 میزبانی داده‌ها در ایران — اطلاعات مشتریان از کشور خارج نمی‌شود

🔹 دسترسی سریع‌تر برای کاربران داخلی — تأخیر شبکه برای تیم فروش داخل ایران کمتر است

🔹 امکان ارتقای منابع — هر وقت کسب‌وکار رشد کرد، منابع VPS را افزایش می‌دهید

حداقل منابع موردنیاز برای نصب Twenty

طبق مستندات رسمی Twenty، حداقل ۲ گیگابایت رم برای اجرای این CRM لازم است [citation:2]. اما این عدد برای یک محیط آزمایشی است. اگر قرار است چند کاربر همزمان از CRM استفاده کنند و سرویس‌های جانبی مثل دیتابیس، Redis و Reverse Proxy هم روی همان سرور اجرا شوند، منابع بیشتری نیاز دارید.

مشخصات پیشنهادی برای شروع جدی:

منبع حداقل پیشنهادی توضیح
CPU ۲ هسته برای اجرای Docker و سرویس‌های Twenty
RAM ۴ گیگابایت حداقل ۲GB برای Twenty + فضای اضافی برای دیتابیس و Redis [citation:2]
Storage ۴۰ گیگابایت SSD برای Docker Images، دیتابیس و فایل‌های پیوست
سیستم‌عامل Ubuntu 22.04 یا 24.04 پشتیبانی گسترده از Docker و مستندات فراوان

معماری کلی Twenty روی سرور مجازی

قبل از شروع نصب، بهتر است بدانید Twenty از چه اجزایی تشکیل شده است. این درک به شما کمک می‌کند اگر جایی مشکلی پیش آمد، سریع‌تر عیب‌یابی کنید.

کاربر
   │
   ▼
دامنه / HTTPS
   │
   ▼
Reverse Proxy (Nginx یا Caddy)
   │
   ▼
Twenty Application
   │
   ├── PostgreSQL (دیتابیس)
   ├── Redis (کش و صف)
   └── Worker (پردازش پس‌زمینه)

Docker این اجزا را در قالب کانتینرهای جداگانه اجرا می‌کند و با Docker Compose می‌توانید همه را با یک دستور مدیریت کنید [citation:2].

مرحله به مرحله؛ نصب Twenty روی VPS

مرحله اول: اتصال به سرور

ابتدا با SSH به VPS خود متصل شوید. در ویندوز می‌توانید از PowerShell یا PuTTY استفاده کنید.

ssh root@SERVER_IP

بعد از ورود، سیستم را به‌روزرسانی کنید:

apt update && apt upgrade -y

مرحله دوم: نصب Docker

Twenty از Docker و Docker Compose استفاده می‌کند. ابتدا ابزارهای لازم را نصب کنید:

apt install -y ca-certificates curl git

سپس Docker را از مخزن رسمی نصب کنید. بعد از نصب، وضعیت آن را بررسی کنید:

systemctl status docker
docker --version
docker compose version

اگر خروجی active (running) بود، Docker آماده است.

مرحله سوم: دریافت فایل‌های Twenty

روش رسمی و توصیه‌شده در مستندات Twenty استفاده از اسکریپت نصب یک‌خطی است [citation:2]:

bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)

این دستور آخرین نسخه پایدار Twenty را نصب می‌کند. اگر می‌خواهید نسخه مشخصی نصب کنید، می‌توانید شماره نسخه را هم وارد کنید.

برای مطالعه بیشتر درباره آخرین تغییرات و قابلیت‌های نسخه‌های Twenty، می‌توانید به صفحه رسمی انتشار Twenty مراجعه کنید.

مرحله چهارم: تنظیم فایل Environment

پس از دریافت پروژه، باید فایل .env را تنظیم کنید. اگر از اسکریپت نصب استفاده کرده‌اید، این فایل برای شما ساخته شده است. در غیر این صورت، از فایل نمونه کپی بگیرید:

cp .env.example .env
nano .env

در این فایل موارد مهمی مثل ENCRYPTION_KEY، رمز دیتابیس و آدرس دامنه قرار دارد. برای ساخت کلید رمزنگاری امن از دستور زیر استفاده کنید [citation:2]:

openssl rand -base64 32

⚠️ هشدار امنیتی

مقدار ENCRYPTION_KEY را حتماً در جای امنی نگه دارید. اگر این کلید گم شود، دسترسی به تمام رمزهای ذخیره‌شده در دیتابیس (توکن‌های OAuth، رمزهای TOTP و غیره) از دست می‌رود [citation:2].

مرحله پنجم: اجرای Twenty با Docker Compose

حالا نوبت به اجرای سرویس‌هاست. وارد پوشه پروژه شوید و دستور زیر را اجرا کنید:

docker compose up -d

Docker شروع به دانلود Imageهای لازم و ساخت کانتینرها می‌کند. بعد از چند دقیقه، وضعیت را بررسی کنید:

docker compose ps

اگر همه سرویس‌ها Up بودند، Twenty با موفقیت اجرا شده است.

تنظیم دامنه و Reverse Proxy

برای استفاده واقعی از CRM، بهتر است به‌جای IP سرور از یک دامنه استفاده کنید. مثلاً:

crm.yourdomain.com

یک رکورد A در DNS بسازید و آن را به IP سرور VPS متصل کنید. بعد از انتشار DNS، یک Reverse Proxy مثل Nginx نصب کنید تا ترافیک HTTP/HTTPS را به کانتینر Twenty هدایت کند.

برای فعال‌سازی HTTPS (که برای CRM و اطلاعات حساس مشتریان ضروری است)، می‌توانید از Certbot و Let’s Encrypt استفاده کنید. مستندات رسمی Twenty تأکید می‌کند که SERVER_URL را حتماً روی آدرس عمومی با پروتکل https تنظیم کنید تا کوکی‌های امن به‌درستی کار کنند [citation:2].

🚀 CRM اختصاصی کسب‌وکارتان را روی سرور مجازی ایرانیکاسرور راه‌اندازی کنید

اگر به‌دنبال یک سرور مجازی پایدار با منابع اختصاصی برای اجرای Twenty هستید، پلن‌های ایرانیکاسرور با CPU و RAM اختصاصی، دیسک NVMe برای دیتابیس سریع‌تر، پهنای باند نامحدود و آپ‌تایم بالا انتخاب مناسبی هستند. تیم پشتیبانی ۲۴/۷ ما هم در تمام مراحل نصب و کانفیگ کنار شماست.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

ساخت Workspace و اولین حساب کاربری

بعد از اینکه دامنه و HTTPS تنظیم شد، آدرس CRM را در مرورگر باز کنید. در اولین اجرا، Twenty از شما می‌خواهد یک Workspace بسازید و حساب کاربری مدیر را تنظیم کنید.

اطلاعات زیر را وارد کنید:

🔹 نام و نام خانوادگی مدیر سیستم

🔹 ایمیل

🔹 رمز عبور قوی (حداقل ۱۲ کاراکتر با ترکیب حروف، اعداد و نمادها)

🔹 نام Workspace (مثلاً «فروش شرکت شما»)

بعد از ورود، می‌توانید کاربران دیگر تیم فروش را اضافه کنید. هر کاربر باید حساب جداگانه داشته باشد تا فعالیت‌ها قابل ردیابی باشد و دسترسی‌ها به‌درستی مدیریت شود.

مدیریت فرصت‌های فروش در Twenty

قلب هر CRM، بخش مدیریت فرصت‌های فروش است. در Twenty می‌توانید برای هر مشتری بالقوه یک Opportunity بسازید و آن را در مراحل مختلف فروش جابه‌جا کنید.

مثلاً فرض کنید مشتری برای خرید VPS تماس گرفته است. یک فرصت فروش با این اطلاعات می‌سازید:

نام فرصت: خرید VPS پلن ۲

شرکت: شرکت نمونه

ارزش تقریبی: ۵,۰۰۰,۰۰۰ تومان

مرحله: مذاکره

مسئول: کارشناس فروش

سپس می‌توانید این فرصت را در مراحل مختلف جابه‌جا کنید:

Lead
   ↓
تماس اولیه
   ↓
مذاکره
   ↓
ارسال پیش‌فاکتور
   ↓
بسته شدن (موفق)

این ساختار به تیم فروش کمک می‌کند هیچ سرنخی را از دست ندهند و همیشه بدانند هر مشتری در کدام مرحله قرار دارد.

اتصال ایمیل و تقویم به CRM

یکی از قابلیت‌های مهم Twenty که در نسخه‌های اخیر بهبود یافته، اتصال ایمیل و تقویم است [citation:1]. با تنظیم SMTP در فایل Environment می‌توانید:

🔹 ایمیل‌های ارسالی و دریافتی مرتبط با هر مشتری را در تایم‌لاین او ببینید

🔹 جلسات و رویدادهای تقویم را مستقیماً در CRM مشاهده کنید

🔹 برای تیم فروش یادآور تنظیم کنید

مقادیر SMTP_HOST، SMTP_PORT، SMTP_USER و SMTP_PASSWORD را مطابق مستندات نسخه نصب‌شده تنظیم کنید.

بکاپ‌گیری؛ مهم‌ترین کار بعد از نصب

CRM محل نگهداری اطلاعات حیاتی کسب‌وکار است. اگر دیتابیس از دست برود و بکاپ نداشته باشید، ممکن است ماه‌ها تلاش تیم فروش از بین برود.

یک استراتژی بکاپ کامل باید شامل این موارد باشد:

🔹 بکاپ دیتابیس PostgreSQL — با pg_dump یا ابزارهای مشابه

🔹 فایل‌های Environment و Secretها — شامل ENCRYPTION_KEY و رمزهای دیتابیس

🔹 Persistent Volumes — فایل‌های پیوست و داده‌های ذخیره‌شده

📌 توصیه مهم

بکاپ را روی همان VPS نگه ندارید. اگر سرور از کار بیفتد و بکاپ هم روی آن باشد، هر دو را از دست می‌دهید. یک نسخه از بکاپ را روی یک فضای ذخیره‌سازی جداگانه نگهداری کنید.

بروزرسانی Twenty بدون دردسر

قبل از هر بروزرسانی، حتماً بکاپ بگیرید. سپس مراحل کلی به این صورت است [citation:2]:

docker compose pull
docker compose up -d
docker compose ps
docker compose logs

بعد از بروزرسانی، وضعیت کانتینرها و لاگ‌ها را بررسی کنید تا مطمئن شوید همه سرویس‌ها سالم بالا آمده‌اند.

عیب‌یابی مشکلات رایج

کانتینر مدام Restart می‌شود

اولین کار بررسی لاگ سرویس مشکل‌دار است:

docker compose logs SERVICE_NAME

دلایل رایج: تنظیمات اشتباه در فایل .env، رمز دیتابیس نادرست، کمبود RAM یا تداخل پورت.

سایت باز نمی‌شود

مراحل بررسی:

dig crm.yourdomain.com
systemctl status nginx
docker ps
ss -tulpn

مطمئن شوید DNS درست تنظیم شده، Nginx فعال است، کانتینر Twenty در حال اجراست و فایروال پورت‌های ۸۰ و ۴۴۳ را مسدود نکرده است.

کمبود RAM و کندی سرور

برای بررسی مصرف منابع:

free -h
htop
df -h
docker system df

اگر RAM دائماً پر است، یا منابع VPS را ارتقا دهید یا سرویس‌های غیرضروری را متوقف کنید.

امنیت CRM روی VPS ایران

اطلاعات مشتریان حساس است و امنیت CRM باید جدی گرفته شود. چند اقدام ضروری:

🔹 HTTPS اجباری — بدون SSL، اطلاعات ورود و داده‌های CRM قابل شنود هستند

🔹 رمز عبور قوی برای مدیر — از رمز تکراری یا قابل حدس استفاده نکنید

🔹 فایروال — فقط پورت‌های ۲۲ (SSH)، ۸۰ و ۴۴۳ را باز بگذارید

🔹 SSH Key به‌جای پسورد — ورود با رمز SSH را غیرفعال کنید

🔹 بروزرسانی منظم — Imageهای Docker و خود Twenty را به‌روز نگه دارید

مقایسه CRM ابری و CRM اختصاصی روی VPS

معیار CRM ابری (SaaS) Twenty روی VPS ایران
مالکیت داده روی سرور شرکت ارائه‌دهنده روی سرور خودتان
هزینه اشتراک ماهانه به ازای هر کاربر فقط هزینه سرور (بدون هزینه کاربر)
سفارشی‌سازی محدود به گزینه‌های ارائه‌دهنده دسترسی به کد و توسعه سفارشی
نیاز به تخصص فنی کم متوسط (مدیریت Docker و سرور)
زمان راه‌اندازی چند دقیقه ۱ تا ۲ ساعت

جمع‌بندی

📌 خلاصه راه‌اندازی Twenty روی سرور مجازی

🔹 Twenty یک CRM متن‌باز و قابل Self-Host است که کنترل کامل داده‌ها را به شما می‌دهد [citation:4]

🔹 حداقل ۲GB رم برای شروع لازم است، اما برای محیط واقعی ۴GB یا بیشتر توصیه می‌شود [citation:2]

🔹 نصب با Docker Compose انجام می‌شود و تنظیم فایل .env (به‌خصوص ENCRYPTION_KEY) حیاتی است

🔹 دامنه، Reverse Proxy و HTTPS برای محیط Production ضروری هستند

🔹 بکاپ منظم، امنیت سرور و بروزرسانی دوره‌ای را فراموش نکنید

اگر کسب‌وکار شما به یک CRM اختصاصی با کنترل کامل روی داده‌ها نیاز دارد، Twenty روی سرور مجازی ایران یک گزینه جدی و مقرون‌به‌صرفه است. تنها کافی است منابع مناسب را انتخاب کنید و مراحل نصب را با دقت پیش ببرید.

رفع مشکل و کانفیگ اختصاصی سرور

🛠️ در نصب Twenty یا کانفیگ سرور به مشکل خورده‌اید؟

تیم فنی ایرانیکاسرور در کنار شماست. اگر در مراحل نصب Docker، تنظیم دامنه، Reverse Proxy یا هر بخش دیگری از راه‌اندازی CRM نیاز به کمک دارید، می‌توانید درخواست خود را از طریق صفحه کانفیگ ارسال کنید. کارشناسان ما بررسی می‌کنند و راهنمایی لازم را انجام می‌دهند.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

این آموزش برایت مفید بود؟ می‌توانی لینک آن را ذخیره یا برای دیگران ارسال کنی.

Amir Jabbari

نویسنده مجله ایرانیکاسرور؛ منتشرکننده آموزش‌ها و راهنماهای کاربردی در حوزه هاست، سرور، وردپرس و شبکه.

برای اجرای آموزش به زیرساخت نیاز داری؟

سرویس مرتبط را ببین؛ معرفی خدمات در این بخش کوتاه نگه داشته شده تا تمرکز اصلی صفحه روی آموزش باقی بماند.

ایرانیکاسرور
گفت‌وگو درباره آموزش

دیدگاه‌ها

0 دیدگاه برای این مطلب ثبت شده است.

هنوز دیدگاهی ثبت نشده است؛ اگر سؤال یا تجربه‌ای درباره این آموزش داری، همین‌جا بنویس. پاسخ‌های مدیریت و کاربران به‌صورت مشخص از هم تفکیک می‌شوند.

دیدگاه یا سؤال خود را بنویسید

ایمیل شما منتشر نمی‌شود. فیلدهای ضروری مشخص شده‌اند.