پرش به مطلب اصلی

SMSWithoutBorders.com

وب سایت رسمی SMSWithoutBorders.

در اینجا رابط کاربری است که از طریق آن کاربران می توانند حساب های خود را مدیریت کرده و اعتبار خود را ذخیره کنند

:::نکته آنچه یاد خواهید گرفت

  • نحوه راه اندازی وب سایت
  • نحوه تست و استقرار وب سایت با آپاچی و داکر

جدیدترین نسخه این راهنما را می‌توانید در ['websites github reposistory'] پیدا کنید(https://github.com/smswithoutborders/smswithoutborders.com)

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

:::

راهنمای راه اندازی

لطفا دستورالعمل های زیر را برای راه اندازی این پروژه دنبال کنید

الزامات

وابستگی ها را نصب کنید

yarn install

متغیرهای محیط را پیکربندی کنید

فایل های پیکربندی .env توسعه و تولید را با پیش فرض ایجاد کنید

make config

متغیرهای پیکربندی جهانی SMSWithoutBorders نیز می توانند برای لغو تنظیمات پیش فرض ارسال شوند

SWOB_BE_HOST=http://localhost:9000 SWOB_RECAPTCHA_ENABLE=true SWOB_RECAPTCHA_SITE_KEY=skfhk123 <command>

در جایی که دستور می‌تواند هر یک از اسکریپت‌های موجود در package.json یا Makefile target باشد، به‌عنوان مثال «yarn start»، «make build»

.env.development.local در محیط های توسعه و .env.production.local هنگام ایجاد بیلدهای تولید استفاده می شود.

این پروژه با Create React App بوت استرپ شد که قراردادهای نامگذاری متغیرها را مشخص می کند.

در زیر پیش فرض ها آمده است. یک مرجع نیز در [env.example] نگهداری می شود (https://github.com/smswithoutborders/smswithoutborders.com/blob/main/env.example)

VariableDescriptionDefault valueOverride
PORTdevelopment port18000PORT
GENERATE_SOURCEMAPGenerate or ignore sourcemapsfalseN/A
REACT_APP_API_URLBackend API URLhttp://localhost:9000SWOB_BE_HOST
REACT_APP_API_VERSIONBackend API versionv2SWOB_BE_VERSION
REACT_APP_GATEWAY_SERVERGateway server API URLhttp://localhost:15000SWOB_GS_HOST
REACT_APP_GATEWAY_SERVER_VERSIONGateway server versionv2SWOB_GS_VERSION
REACT_APP_RECAPTCHA_ENABLEEnable or disable recaptcha, make sure this setting is also toggled on the APIfalseSWOB_RECAPTCHA_ENABLE
REACT_APP_RECAPTCHA_SITE_KEYreCAPTCHAv2 site key obtained from googleN/ASWOB_RECAPTCHA_SITE_KEY
REACT_APP_RECAPTCHA_API_URLAPI script src from reCaptchav2 setup documentationhttps://www.google.com/recaptcha/api.jsN/A
REACT_APP_TUTORIAL_URLLink to the getting started tutorialhttps://smswithoutborders.github.io/docs/tutorials/getting-startedN/A
REACT_APP_GATEWAY_TUTORIAL_URLLink to gateway client setup tutorialhttps://github.com/smswithoutborders/SMSWithoutBorders-Gateway-Client/blob/alpha_stable/src/README.mdN/A
REACT_APP_PRIVACY_POLICY_URLLink to hosted privacy policy markdown file(s)https://raw.githubusercontent.com/smswithoutborders/smswithoutborders.com/dev/docs/privacy-policyN/A
HTTPSEnable or disable httpsfalseSWOB_SSL_ENABLE
SSL_CRT_FILELocation of SSL CRT fileN/ASWOB_SSL_CRT_FILE
SSL_KEY_FILELocation of SSL Key fileN/ASWOB_SSL_KEY_FILE

سرور توسعه را راه اندازی کنید

yarn start

توجه پیکربندی ها بررسی می شوند و هر بار که نخ اجرا می شود، دوباره تولید می شوند. .env.development در صورتی که از قبل وجود داشته باشد زیاده روی نخواهد کرد اما .env.production خواهد شد.

http://localhost:18000 را باز کنید تا آن را در مرورگر مشاهده کنید.

اگر ویرایش کنید، صفحه دوباره بارگیری می شود.

همچنین هر گونه خطای پرز را در کنسول خواهید دید.

ساخت تولید ایجاد کنید

برای docker، بخش docker را در زیر ببینید.

یک ساخت تولید بهینه ایجاد کنید که بتواند روی سرورها میزبانی شود. این مرحله از متغیرهای موجود در .env.production.local استفاده می کند.

yarn build or make build

پس از تکمیل، پوشه «build» را برای فایل‌های قابل استقرار بررسی کنید.

گسترش

استقرار استاندارد با آپاچی

برای سرور لینوکس/اوبونتو که دارای وب سرور apache2 است، این مراحل را برای استقرار سایت دنبال کنید

  • ماژول بازنویسی را فعال کنید
sudo a2enmod rewrite
  • فایل پیکربندی آپاچی را در /etc/apache2/apache2.conf باز کنید
  • اجازه AllowOverride را از هیچ به همه تغییر دهید
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
  • محتویات پوشه ساخت را در روت سرور که معمولاً در /var/www/html قرار دارد کپی کنید. مطمئن شوید که فایل .htaccess کپی شده است. فایل .htaccess همانطور که [اینجا] مشخص شده بسیار مهم است (https://create-react-app.dev/docs/deployment/#static-server)
sudo cp -r build/. /var/www/html
  • راه اندازی مجدد apache2
sudo systemctl restart apache2

داکر

تصویر داکر SWOB برای اجرا در یک محیط تولید طراحی شده است، بنابراین، کلیدهای SSL مورد نیاز است

با ساختن تصویر داکر شروع کنید. یک اسکریپت ساخت وجود دارد که می توانید اجرا کنید. همچنین، SWOB env override می تواند مستقیماً به این دستور منتقل شود. پیکربندی متغیرهای env را در بالا ببینید.

SWOB_SSL_ENABLE=true SWOB_SSL_CRT_FILE=/path/to/server.crt SWOB_SSL_KEY_FILE=/path/to/server.key make image

همچنین می‌توانید متغیرهای دیگر SWOB env را برای استفاده به‌جای پیش‌فرض‌ها ارسال کنید.

SWOB_RECAPTCHA_ENABLE=true SWOB_RECAPTCHA_SITE_KEY=somekeyhere make image

فهرست کاملی از همه متغیرهای env را می‌توانید در بخش «پیکربندی متغیرهای env» در بالا پیدا کنید

پس از تکمیل ساخت، تصویر «swob-fe:latest» ایجاد می‌شود. تصویر پورت‌های «۸۰» و «۴۴۳» را نشان می‌دهد که می‌توانند در صورت نیاز نقشه‌برداری شوند

می‌توانید تصویر را با اجرای «make container» آزمایش کنید و از «http://localhost:18000» و «https://localhost:18001» در مرورگر بازدید کنید یا با استفاده از گزینه‌های پیکربندی docker خودتان.