مراحل نصب forosh-api روی هاست و اتصال نرمافزار فروشپرداز به یک پایگاه داده مشترک
فروشپرداز بهطور پیشفرض دادهها را روی همان رایانه ذخیره میکند و به اینترنت یا سرور نیاز ندارد. اگر چند صندوق، چند شعبه یا مدیری که از بیرون فروشگاه گزارش میبیند دارید، باید دادهها روی یک دیتابیس مرکزی (MySQL) باشد. این راهنما همین حالت را راهاندازی میکند.
| وضعیت شما | حالت پیشنهادی |
|---|---|
| یک صندوق، یک رایانه | حالت محلی (Offline)؛ سادهترین و سریعترین. به این راهنما نیازی ندارید. |
| چند صندوق در یک مغازه | حالت سرور روی شبکهٔ داخلی (LAN) |
| چند شعبه، یا نیاز به دیدن گزارش از بیرون | حالت سرور روی هاست یا VPS، همراه با HTTPS و توکن |
تغییر از حالت محلی به سرور، دادههای قبلی را خودکار منتقل نمیکند. دیتابیس محلی دستنخورده میماند و سرور با دادههای تازه شروع میشود. اگر فروشگاه شما قبلاً در حالت محلی کار کرده، پیش از هر تغییر از دادهها پشتیبان بگیرید (مدیریت ← تولید Backup) و انتقال داده را با پشتیبانی هماهنگ کنید.
| مورد | توضیح |
|---|---|
| وبسرور و PHP | هاست لینوکسی (ترجیحاً Apache یا LiteSpeed) با PHP نسخهٔ ۷٫۴ یا بالاتر (ترجیحاً ۸٫x) و افزونههای pdo_mysql، mbstring و json. این افزونهها در هاستهای معمول فعالاند. |
| پایگاه داده | MySQL یا MariaDB؛ نام دیتابیس، نام کاربری و گذرواژهٔ آن را در دست داشته باشید. |
| گواهی SSL (HTTPS) | برای استفاده از راه دور (اینترنت) ضروری است. در بیشتر هاستها گواهی رایگان از پنل فعال میشود. |
| دسترسی نوشتن | پوشهٔ forosh-api باید برای PHP قابل نوشتن باشد؛ نصبکننده فایلهای تنظیمات را همینجا میسازد. |
| نصب محلی (آزمایشی) | بستههایی مانند XAMPP یا Laragon هر سه مورد بالا را یکجا فراهم میکنند. |
forosh.exe (نسخهٔ ۱٫۰٫۵ یا بالاتر).example.ir بهکار رفته است؛ آن را با دامنهٔ خودتان جایگزین کنید.به کنترلپنل هاست (Plesk، cPanel یا DirectAdmin) بروید، بخش Databases را باز کنید و Add Database را بزنید.
مقادیر جدول زیر فقط مثال هستند. نام دیتابیس، نام کاربری و گذرواژهٔ دلخواه و قوی خودتان را بسازید و جایی امن یادداشت کنید.
| پارامتر | مقدار نمونه | توضیح |
|---|---|---|
| Database name | forosh_api | در بسیاری از هاستهای اشتراکی، پیشوند حساب خودکار به ابتدای نام اضافه میشود (مثلاً user_forosh_api). نام کامل را یادداشت کنید. |
| Database user | forosh_admin | کاربری که همهٔ دسترسیها (All Privileges) را فقط به همین دیتابیس دارد. از کاربر root استفاده نکنید. |
| Password | Xk9#mQ2v!Lr7pT4w | گذرواژهٔ قوی بسازید (حداقل ۱۲ نویسه، ترکیب حروف، عدد و نماد). برخی نمادها مثل & و @ ممکن است در بعضی هاستها دردسر بسازند؛ اگر اتصال خطا داد، گذرواژهای فقط با حروف و عدد و چند نماد ساده بسازید. |
| Database server | localhost | در بیشتر هاستها همین است. پورت پیشفرض: 3306. اگر هاست آدرس دیگری داده، همان را بنویسید. |
پس از ساخت، مطمئن شوید کاربر به دیتابیس متصل (دارای دسترسی) شده است.
در مدیریت فایل (File Manager) هاست، وارد پوشهٔ ریشهٔ وب (معمولاً public_html یا httpdocs) شوید:
forosh-api.zip را همانجا آپلود کنید.forosh-api ساخته شود.اگر در پوشهٔ forosh-api یا forosh-api/api فایلهای install.lock، config-install.php، administratorpassword.php یا error.log وجود دارد (برای نمونه از نصب آزمایشی روی رایانهٔ خودتان باقی مانده)، آنها را حذف کنید. وجود install.lock یعنی «نصب انجام شده» و صفحهٔ نصب نمایش داده نمیشود؛ فایلهای دیگر هم مشخصات یک نصب قبلی را دارند. این فایلها را هرگز برای دیگران ارسال نکنید.
.htaccess
این فایل (که با نقطه شروع میشود و ممکن است پنهان باشد) از لیستشدن پوشهها و دانلود فایلهای حساس جلوگیری میکند. هنگام Extract مطمئن شوید همراه بقیه بارگذاری شده است. روی سرورهای Nginx این فایل اثر ندارد و باید معادل آن در تنظیمات سرور اعمال شود.
در مرورگر آدرس زیر را باز کنید؛ چون هنوز نصب نشده، خودکار به صفحهٔ setup.php میروید:
در بار اول صفحهٔ «ورود ادمین» با اطلاعات پیشفرض نمایش داده میشود: نام کاربری و گذرواژه هر دو administrator.
پس از ورود، سیستم تغییر گذرواژه را اجباری میکند. گذرواژهٔ فعلی (administrator) و گذرواژهٔ جدید را دو بار وارد کنید (حداقل ۶ نویسه؛ توصیه میشود ۱۲ نویسه یا بیشتر).
پس از تغییر گذرواژه، فرم «راهاندازی API» نمایش داده میشود. بالای فرم، نصبکننده محیط شما را تشخیص میدهد (HTTP یا HTTPS، محلی یا آنلاین). اگر روی هاست هستید و HTTPS نمیبینید، ابتدا SSL را فعال کنید. مشخصات مرحلهٔ ۲ را وارد کنید:
| فیلد | مقدار |
|---|---|
| آدرس سرور دیتابیس | localhost (معمولاً) |
| پورت دیتابیس | 3306 (معمولاً) |
| نام دیتابیس | نام کامل دیتابیس، مثلاً forosh_api |
| نام کاربری دیتابیس | مثلاً forosh_admin |
| گذرواژه دیتابیس | گذرواژهای که در مرحلهٔ ۲ ساختید |
| پیشوند جدولها | پیشفرض db_؛ نیازی به تغییر نیست |
روی «تست اتصال و نصب» بزنید. نصبکننده اتصال را میآزماید، فایل تنظیمات را مینویسد و جدولها را خودکار میسازد. در پایان به صفحهٔ وضعیت میروید و پیام «نصب با موفقیت انجام شد» را میبینید. از این لحظه صفحهٔ نصب قفل میشود.
اگر دیتابیس وجود نداشته باشد و کاربر اجازهٔ ساخت داشته باشد (مثلاً روی XAMPP)، نصبکننده خودش آن را میسازد. روی هاستهای اشتراکی معمولاً این اجازه نیست؛ دیتابیس را از پنل بسازید و نصب را دوباره اجرا کنید.
در صفحهٔ وضعیت، کارت «حالت احراز هویت» را میبینید. با دکمهٔ «تغییر وضعیت احراز هویت» میتوانید حالت را تعیین کنید:
| حالت | کاربرد |
|---|---|
| بدون احراز هویت | هر کسی که آدرس را بداند وصل میشود. فقط برای آزمایش یا شبکهٔ بستهٔ داخلی. روی اینترنت هرگز. |
| توکن (API Key) — توصیهشده | برای هر سیستم یک کلید اختصاصی ساخته میشود و هر کلید جداگانه قابل ابطال است. |
حالت توکن را انتخاب کنید. سپس از دکمهٔ «مدیریت توکنها (API Keys)» وارد صفحهٔ ساخت کلید شوید (admin-tokens.php).
متن کامل توکن پس از ساخت فقط یک بار نمایش داده میشود. همان لحظه با دکمهٔ «کپی» آن را بردارید و جای امن ذخیره کنید و تا پایان اتصال نرمافزار، پنجره را نبندید.
در جدول پایین صفحه، همهٔ کلیدها با توضیح، تاریخ ساخت، انقضا، آخرین استفاده و وضعیت (فعال، منقضی، باطل) دیده میشوند. اگر دستگاهی گم یا کلیدی لو رفت، دکمهٔ «ابطال» همان ردیف را بزنید؛ بقیهٔ دستگاهها اثر نمیپذیرند.
برای هر رایانه یا صندوق یک کلید جداگانه بسازید تا بتوانید دستگاهها را مستقل ابطال کنید و در ستون «آخرین استفاده» ببینید کدام دستگاه فعال است.
پیش از رفتن سراغ نرمافزار، آدرس زیر را در مرورگر باز کنید:
Token required (خطای ۴۰۱) نشان میدهد. این طبیعی است و یعنی سرویس سالم است و فقط کلید نفرستادهاید.فایل forosh.exe را اجرا کنید. در اولین اجرا، پنجرهٔ «انتخاب محل ذخیرهسازی دادهها» نمایش داده میشود:
/api ختم شود:
نشانگر آبی در نوار وضعیت پایین پنجره، اتصال فعال به سرور آنلاین را نشان میدهد. گذرواژهٔ مدیر API در نرمافزار ذخیره نمیشود؛ فقط توکن نگهداری میشود.
روی هر سیستم دیگر، همان گزینهٔ «سرور (Online)»، همان آدرس و کلید مخصوص همان سیستم را وارد کنید. این سیستمها دادههای موجود را میبینند و دیگر نیازی به انتخاب نوع فروشگاه یا ساخت اطلاعات اولیه نیست.
| موضوع | توضیح و توصیه |
|---|---|
| شمارهٔ فاکتور | شمارهٔ فاکتور میتواند شامل «شمارهٔ سیستم» و شناسهٔ کاربر باشد. برای جلوگیری از شمارهٔ تکراری، به هر سیستم شمارهٔ متفاوتی بدهید. |
| موجودی کالا | برای کمکردن موجودی، مقدار فعلی خوانده و مقدار جدید نوشته میشود. اگر دو صندوق در یک لحظه یک کالا را بفروشند، ممکن است یکی از کاهشها ثبت نشود. در فروشگاههای شلوغ، موجودی را گاهی با شمارش فیزیکی تطبیق دهید. |
| ویرایش همزمان | اگر دو نفر همزمان یک مشتری یا کالا را ویرایش کنند، ذخیرهٔ آخر معتبر است. |
| نمایش تغییرات | اطلاعات ثبتشده روی یک سیستم بلافاصله روی دیگران هم هست؛ برای دیدن آن، فهرست را دوباره باز یا صفحه را بازخوانی کنید. |
| سرعت | در حالت سرور هر عملیات یک درخواست شبکه است؛ کیفیت اینترنت یا شبکه روی روانی کار اثر میگذارد. در شبکهٔ داخلی تفاوت محسوسی نیست. |
| قطع ارتباط | بدون دسترسی به سرور نمیتوان فاکتور ثبت کرد. در سناریوی LAN، خاموششدن رایانهٔ سرور یعنی توقف همهٔ صندوقها؛ آن را همیشه روشن نگه دارید. |
| دسترسی کاربران | محدودیتهای کاربران (مثلاً اینکه «فروشنده» به کدام بخشها وارد شود) داخل نرمافزار اعمال میشود. هر کس کلید معتبر داشته باشد، از دید سرور به کل داده دسترسی دارد؛ کلیدها را فقط به سیستمهای مورد اعتماد بدهید. |
root.administrator را همان لحظهٔ نصب عوض کنید و گذرواژهٔ قوی بگذارید.config-install.php و administratorpassword.php حاوی اطلاعات حساساند؛ آنها را در هیچ بسته یا ایمیلی منتشر نکنید.reset فقط روی خود رایانهٔ سرور (localhost) کار میکند و کل پروژه و دیتابیس را پاک میکند. روی هاست نیازی به آن نیست و میتوانید پوشه را حذف کنید.برخی دستورالعملهای این بخش دادهها را برای همیشه پاک میکنند. پیش از اجرا، از دیتابیس و در صورت نیاز از خود نرمافزار پشتیبان بگیرید.
| مشکل | راهحل |
|---|---|
| «دیتابیس وجود ندارد و نمیتوان آن را ساخت» | دیتابیس را از پنل هاست بسازید، کاربر را به آن متصل کنید و نصب را دوباره اجرا کنید. |
| «خطا در اتصال» هنگام نصب | نام دیتابیس، کاربر، گذرواژه و میزبان را دوباره بررسی کنید. نامها باید با پیشوند حساب هاست باشند (مثلاً user_forosh). اگر گذرواژه نماد خاص دارد، آن را سادهتر کنید. |
| «نمیتوان config-install.php را نوشت» | دسترسی نوشتن پوشهٔ forosh-api را برای PHP فعال کنید (معمولاً مجوز ۷۵۵ برای پوشهها و ۶۴۴ برای فایلها کافی است). |
| صفحهٔ نصب مستقیم به صفحهٔ وضعیت میرود | یعنی فایل install.lock وجود دارد و نصب قبلاً تمام شده است. اگر نصب واقعی نکردهاید، آن فایل را حذف کنید. |
| خطای ۵۰۰ بعد از آپلود | نسخهٔ PHP هاست را بررسی کنید (۷٫۴ یا بالاتر) و فایل forosh-api/api/error.log را در File Manager باز کنید. دسترسی مستقیم از مرورگر به فایلهای log عمداً مسدود است. |
| خطای ۴۰۳ یا ۴۰۴ برای آدرس API | نام و مسیر پوشه در هاست را با آدرسی که وارد کردهاید مقایسه کنید (حروف کوچک و بزرگ مهم است) و مطمئن شوید فایلها داخل پوشهٔ وب (مثلاً public_html) قرار دارند. |
| نرمافزار «۴۰۱» یا «Token required» میدهد | توکن اشتباه، منقضی یا باطل است؛ یا نوع احراز هویت در نرمافزار با حالت سرور یکی نیست. توکن جدید بسازید و نوع احراز هویت را درست انتخاب کنید. |
| نرمافزار به سرور وصل نمیشود | آدرس …/api/schema.php?db=foroshDatabase را در مرورگر باز کنید (بخش ۷). آدرس باید با /api تمام شود، بدون فاصله و با https صحیح. فایروال یا آنتیویروس رایانهٔ کاربر و دسترسی اینترنت را هم بررسی کنید. |
| خطای گواهی (SSL) هنگام اتصال | گواهی دامنه منقضی یا ناقص است. از پنل هاست گواهی را نوسازی کنید و ریدایرکت HTTP به HTTPS را بررسی کنید. |
اگر نرمافزار روی «دیتابیس محلی» تنظیم شده و میخواهید آن را به «دیتابیس آنلاین» وصل کنید، فایل تنظیمات محلی برنامه را (در مسیر AppData یا کنار فایل اجرایی) حذف کنید، نرمافزار را ببندید و دوباره باز کنید تا پنجرهٔ انتخاب ظاهر شود.
دادههای حالت محلی با تغییر حالت منتقل نمیشوند. پیش از حذف تنظیمات، حتماً پشتیبان بگیرید (مدیریت ← تولید Backup).
برنامه را از خط فرمان یا پنجرهٔ Run با علامت سؤال اجرا کنید:
در پنجرهٔ «forosh Switches»، گزینهٔ concurrency را انتخاب کنید و Run را بزنید. دو محیط مستقل همزمان باز میشود و هر کدام میتواند با کاربر و دسترسی متفاوتی کار کند.
نیازی به حذف دیتابیس نیست. در پنل admin-tokens.php یک توکن جدید برای همان سیستم بسازید، آن را در نرمافزار جایگزین کنید و توکن قدیمی را «ابطال» کنید. اگر قطعاً به مقدار توکن قبلی نیاز دارید، در phpMyAdmin جدول auth_tokens (ستون token) را باز کنید؛ توکنها در آن قابل مشاهدهاند. به همین دلیل، دسترسی به phpMyAdmin و دیتابیس را محدود نگه دارید.
دادهها و توکنها در دیتابیساند و با این کار پاک نمیشوند، اما برای اطمینان پیش از شروع از دیتابیس پشتیبان بگیرید.
forosh-api دو فایل administratorpassword.php و install.lock را حذف کنید.https://example.ir/forosh-api/setup.php را باز کنید. حساب پیشفرض (administrator / administrator) دوباره ساخته میشود.اگر گذرواژه را میدانید و فقط میخواهید عوضش کنید، پس از ورود از صفحهٔ change-password.php استفاده کنید.
گذرواژهٔ دیتابیس در هاست دوباره قابل مشاهده نیست. در بخش Databases روی کاربر دیتابیس بروید و گذرواژهٔ جدید تعیین کنید. سپس همان گذرواژه را در فایل forosh-api/config-install.php (خط MYSQL_PASS) جایگزین کنید، وگرنه ارتباط API با دیتابیس قطع میشود. گذرواژهٔ داخل رشته را بین نقلقول تکی بگذارید.
روی هاست:
install.lock، config-install.php و (اگر میخواهید گذرواژهٔ مدیر هم از نو شود) administratorpassword.php را از پوشهٔ forosh-api حذف کنید.https://example.ir/forosh-api/ را باز کنید؛ نصبکننده دوباره فعال میشود.روی رایانهٔ محلی (XAMPP): صفحهٔ http://localhost/forosh-api/reset/ همهٔ این کارها را همراه حذف دیتابیس انجام میدهد. این صفحه فقط از خود رایانهٔ سرور باز میشود و برگشتپذیر نیست.
پس از بازنشانی، همهٔ توکنها و دادههای فروشگاه از بین میروند. توکنهای جدید باید ساخته و در نرمافزار همهٔ سیستمها جایگزین شوند.
نوع احراز هویت در نرمافزار باید با حالت سرور همخوان باشد. اگر سرور را از «بدون احراز هویت» به «توکن» بردهاید، همهٔ سیستمها باید توکن بگیرند و در نرمافزار، نوع احراز هویت را روی «با توکن» بگذارند. برای تغییر تنظیمات اتصال در نرمافزار، سوال ۱ را ببینید.
از phpMyAdmin دیتابیس را انتخاب کنید و در تب Export گزینهٔ Quick با قالب SQL را بزنید. برای بازگردانی از تب Import همان فایل را وارد کنید. بسیاری از هاستها هم پشتیبانگیری خودکار در پنل دارند؛ آن را فعال کنید. افزون بر آن، نرمافزار هم از منوی مدیریت (تولید Backup) فایل پشتیبان رمزنگاریشده میسازد.
بله. اگر IP دفاتر شما ثابت است، در پنل هاست یا .htaccess دسترسی را به همان IPها محدود کنید. این کار لایهٔ امنیتی دیگری روی توکن است. بیشتر کاربران به HTTPS و توکن اکتفا میکنند.
| صفحه / فایل | کاربرد |
|---|---|
/forosh-api/ | صفحهٔ وضعیت: سلامت سرور، تعداد جدولها، حالت احراز هویت |
/forosh-api/setup.php | نصبکننده (پس از نصب قفل میشود) |
/forosh-api/admin-auth.php | تغییر حالت احراز هویت |
/forosh-api/admin-tokens.php | ساخت و ابطال توکنها |
/forosh-api/change-password.php | تغییر گذرواژهٔ مدیر API |
/forosh-api/api/schema.php?db=foroshDatabase | آزمایش سلامت سرویس |
/forosh-api/api/error.log | گزارش خطاهای PHP (فقط از File Manager) |
install.lock | نشان «نصب انجام شد»؛ حذف آن نصبکننده را دوباره فعال میکند |
config-install.php | مشخصات اتصال به دیتابیس (حساس) |
administratorpassword.php | حساب مدیر API (حساس) |
آدرس واردشده در نرمافزار: https://دامنهیشما/forosh-api/api
اطلاعات بیشتر دربارهٔ نرمافزار، دانلود، اشتراک و پرسشهای متداول: tavafi.ir/post/forosh