مقدمة
Plausible Analytics هو تطبيق تحليلات الويب مفتوح المصدر والمستضاف ذاتيًا مكتوب بلغة Elixir والذي يركز على البساطة والخصوصية. يقوم بتخزين البيانات حول زوار موقع الويب الخاص بك في قواعد بيانات PostgreSQL و ClickHouse.
في هذا البرنامج التعليمي، ستقوم بتثبيت Plausible باستخدام Docker Compose، ثم تثبيت Nginx للعمل كبروكسي عكسي لتطبيق Plausible. وأخيرًا، ستقوم بتمكين اتصالات HTTPS الآمنة باستخدام Certbot لتحميل وتكوين شهادات SSL من مصلحة توثيق Let’s Encrypt.
المتطلبات المسبقة
لإكمال هذا البرنامج التعليمي، ستحتاج أولاً إلى ما يلي:
- خادم Ubuntu 22.04، مع جدار الحماية UFW ممكّن. يرجى قراءة إعداد الخادم الأولي مع Ubuntu 22.04 لمعرفة المزيد حول إعداد هذه المتطلبات.
- تم تثبيت Docker. يمكنك استخدام الخطوة 1 من كيفية تثبيت واستخدام Docker على Ubuntu 22.04 لإتمام هذا. يمكنك اختياريًا اتباع الخطوة 2 من ذلك البرنامج التعليمي إذا كنت ترغب في أن يكون بإمكان مستخدمك غير الجذري تشغيل أوامر
docker
دون استخدامsudo
- تم تثبيت Docker Compose. اتبع الخطوة 1 من كيفية تثبيت واستخدام Docker Compose على Ubuntu 22.04 لتثبيت هذا البرنامج
ملاحظة: يمكن تخطي هذه الخطوات الأساسية إذا كنت تستخدم صورة Docker One-Click من DigitalOcean. ستحتوي هذه الصورة على Docker و Docker Compose و UFW مثبتة ومكونة بالفعل.
قم بإطلاق صورة Docker جديدة في المنطقة التي تختارها، ثم قم بتسجيل الدخول باسم المستخدم الجذري وتابع البرنامج التعليمي. يمكنك اختياريًا ترك أجزاء sudo
من جميع الأوامر، لكنه ليس ضروريًا.
أخيرًا، لتمكين SSL، ستحتاج إلى اسم نطاق موجه إلى عنوان IP العام لخادمك. يجب أن يكون هذا شيئًا مثل example.com
أو plausible.example.com
، على سبيل المثال. إذا كنت تستخدم DigitalOcean، يرجى رؤية البداية السريعة لـ DNS للحصول على معلومات حول إنشاء موارد النطاق في لوحة التحكم الخاصة بنا.
عندما تكون قد استوفيت جميع المتطلبات الأساسية، قم بالانتقال إلى الخطوة 1، حيث ستقوم بتنزيل وتشغيل برنامج Plausible.
الخطوة 1 – تثبيت تحليلات Plausible باستخدام Docker Compose
لقد أنشأت Plausible مستودع Git يحتوي على جميع ملفات التكوين اللازمة لاستضافة البرنامج بنفسك. سيكون خطوتك الأولى هي استنساخ هذا المستودع إلى خادمك، ثم تحديث ملفي تكوين، ومن ثم بدء تشغيل تطبيق Plausible وحاويات قاعدة البيانات.
قم بتسجيل الدخول إلى خادمك الآن.
أولاً، استخدم الأمر cd
للانتقال إلى دليل /opt
:
ثم استخدم الأمر git
لاستنساخ المستودع من GitHub إلى دليل جديد داخل /opt
بالاسم plausible
:
سيتم بذلك سحب جميع ملفات التكوين اللازمة إلى /opt/plausible
. انتقل إلى الدليل الجديد الذي تم إنشاؤه:
أول ملف نحتاج إلى تعديله هو plausible-conf.env
، وهو ملف يحتوي على بعض المتغيرات التكوينية التي نحتاج إلى تعيينها.
قبل فتح الملف لتحريره، قم بتوليد تجزئة عشوائية جديدة:
سيتم ذلك باستخدام الأمر openssl
لتوليد 64 حرفًا عشوائيًا، والأمر base64
لترميزها إلى base64. قم بنسخ الإخراج إلى الحافظة الخاصة بك، ثم افتح ملف التكوين:
الملف يحتوي على خمس متغيرات يجب عليك ملؤها:
ADMIN_USER_EMAIL=your_email_here
ADMIN_USER_NAME=admin_username
ADMIN_USER_PWD=admin_password
BASE_URL=https://your_domain_here
SECRET_KEY_BASE=paste_your_random_characters_here
املأ البريد الإلكتروني واسم المستخدم وكلمة المرور وعنوان URL الأساسي، ثم قم بلصق الحروف العشوائية التي أنشأتها باستخدام openssl
.
ملاحظة: يجب أن تكون كلمة المرور التي تحددها هنا مكونة من ستة أحرف على الأقل. إذا كنت تستخدم عنوان IP الفارغ وليس اسم نطاق، تأكد من تسبقه بـ http://
.
احفظ الملف (CTRL+O
ثم ENTER
في nano
) وأغلق المحرر (CTRL+X
).
هناك مزيد من الخيارات التكوينية التي يمكنك إضافتها إلى هذا الملف، ولكن هذه المجموعة الأدنى ستمكنك من البدء. يمكن العثور على مزيد من المعلومات حول تكوين Plausible من خلال plausible-conf.env
في وثائق الاستضافة الذاتية الرسمية لتحليلات Plausible.
الآن تحتاج إلى تحديث ملف docker-compose.yml
. هذا الملف هو ما يستخدمه الأمر docker-compose
لتكوين وتشغيل عدة حاويات Docker. نحتاج إلى تغيير خيار واحد في هذا الملف: عنوان IP الذي يقوم Plausible بالربط إليه.
ابحث عن القسم الذي يعرف حاوية Plausible. سيبدأ هذا القسم بـ plausible:
. في هذا القسم، ابحث عن تعريف ports:
وقم بتحديثه إلى ما يلي:
ports:
- 127.0.0.1:8000:8000
يضمن هذا أن Plausible يستمع فقط على واجهة localhost، ولا يكون متاحًا على الإنترنت. على الرغم من أن لديك جدار حماية UFW مُعد، إلا أنه نظرًا لبعض الأخطاء في كيفية عمل شبكة Docker، إذا لم تتخذ هذه الخطوة، فسيكون حاوية Plausible الخاصة بك قابلة للوصول من الجمهور على المنفذ 8000
، ونريد فقط أن يكون متاحًا من خلال وكيل Nginx الذي ستقوم بإعداده في الخطوة التالية.
احفظ وأغلق ملف docker-compose.yml
، ثم استخدم docker-compose
لتنزيل وتكوين وتشغيل الحاويات:
تقول علامة العلامة --detach
لـ docker-compose
بإنشاء الحاويات في الخلفية، منفصلة عن جلسة الطرفية الخاصة بنا:
Output. . .
Starting plausible_plausible_events_db_1 ... done
Starting plausible_plausible_db_1 ... done
Starting plausible_mail_1 ... done
Starting plausible_plausible_1 ... done
يجب أن تكون حاوية التطبيق وجميع حاويات البريد وقاعدة البيانات الداعمة الخاصة بها الآن قيد التشغيل. يمكنك التحقق من ذلك باستخدام أمر curl
لاسترداد الصفحة الرئيسية لحاوية Plausible الجديدة الخاصة بك التي تعمل على localhost:
Output<html><body>You are being <a href="/login">redirected</a>.</body></html>
إذا تم إخراج بعض الأكواد HTML إلى الطرفية الخاصة بك، فستعرف أن الخادم قيد التشغيل ويعمل.
بعد ذلك، سنقوم بإعداد Nginx لـ التوجيه العكسي لـ Plausible من localhost:8000
إلى الجمهور.
الخطوة 2 — تثبيت وتكوين Nginx
وضع خادم ويب مثل Nginx أمام خادم الإلكسير الخاص بك يمكن أن يحسن الأداء من خلال تحميل التخزين المؤقت والضغط وخدمة الملفات الثابتة إلى عملية أكثر كفاءة. سنقوم بتثبيت Nginx وتكوينه لـ قائمة بروكسي عكسية للطلبات إلى Plausible، مما يعني أنه سيتولى معالجة طلبات مستخدميك إلى Plausible والعودة مرة أخرى.
أولاً، قم بتحديث قائمة الحزم الخاصة بك، ثم قم بتثبيت Nginx باستخدام apt
:
اسمح بحركة المرور العامة إلى المنافذ 80
و 443
(HTTP و HTTPS) باستخدام ملف تعريف التطبيق “Nginx Full” في جدار الحماية UFW:
OutputRule added
Rule added (v6)
بعد ذلك، قم بفتح ملف تكوين Nginx جديد في دليل /etc/nginx/sites-available
. سنطلق عليه اسم plausible.conf
لكن يمكنك استخدام اسم مختلف:
قم بلصق ما يلي في ملف التكوين الجديد، متأكدًا من استبدال your_domain_here
بالنطاق الذي قمت بتكوينه ليشير إلى خادم Plausible الخاص بك. يجب أن يكون شيئًا مثل plausible.example.com
، على سبيل المثال:
server {
listen 80;
listen [::]:80;
server_name your_domain_here;
access_log /var/log/nginx/plausible.access.log;
error_log /var/log/nginx/plausible.error.log;
location / {
proxy_pass http://localhost:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
هذا التكوين هو HTTP فقط في الوقت الحالي، حيث سنسمح لـ Certbot بالتعامل مع تكوين SSL في الخطوة التالية. بقية التكوين تقوم بإعداد أماكن التسجيل ثم تمرر كل حركة مرور إلى http://localhost:8000
، وهو النموذج الذي بدأناه في الخطوة السابقة.
قم بحفظ وإغلاق الملف، ثم قم بتمكين التكوين عن طريق ربطه في /etc/nginx/sites-enabled/
:
استخدم nginx -t
للتحقق من صحة بناء ملف التكوين:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
وأخيرًا، أعد تحميل خدمة nginx
لالتقاط التكوين الجديد:
يجب أن يكون موقع Plausible الخاص بك متاحًا الآن على HTTP العادي. قم بتحميل http://your_domain_here
وسيبدو مثل هذا:
الآن بعد أن قمت بتشغيل موقعك وتشغيله عبر HTTP ، حان الوقت لتأمين الاتصال باستخدام شهادات Certbot و Let’s Encrypt.
الخطوة 3 — تثبيت Certbot وإعداد شهادات SSL
بفضل Certbot وسلطة الشهادات المجانية Let’s Encrypt ، سيستغرق إضافة تشفير SSL إلى تطبيق Plausible لدينا فقط أمرين.
أولاً ، قم بتثبيت Certbot ومكون إضافي Nginx الخاص به:
بعد ذلك ، قم بتشغيل certbot
في وضع --nginx
، وحدد نفس النطاق الذي استخدمته في تكوين Nginx server_name
:
سيُطلب منك الموافقة على شروط خدمة Let’s Encrypt ، وإدخال عنوان بريد إلكتروني.
بعد ذلك ، سيتم طلب منك ما إذا كنت ترغب في إعادة توجيه جميع حركة المرور HTTP إلى HTTPS. من حيث الأمان ، يُنصح عمومًا بذلك.
بعد ذلك ، ستقوم Let’s Encrypt بتأكيد طلبك وستقوم Certbot بتنزيل الشهادة الخاصة بك:
OutputCongratulations! You have successfully enabled https://plausible.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=plausible.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/plausible.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/plausible.example.com/privkey.pem
Your cert will expire on 2022-12-05. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
سيقوم Certbot تلقائيًا بإعادة تحميل Nginx لالتقاط التكوينات والشهادات الجديدة. أعد تحميل موقعك ويجب أن يُحولك تلقائيًا إلى HTTPS إذا اخترت الخيار لإعادة التوجيه.
موقعك الآن آمن ومن الآمن تسجيل الدخول باستخدام تفاصيل المستخدم الافتراضية التي قمت بتعيينها في الخطوة 1. ستُطلب منك بعد ذلك التحقق من تسجيلك، وسيتم إرسال رمز التحقق إلى العنوان البريدي الذي قمت بتكوينه.
بشكل افتراضي، يتم إرسال هذا البريد الإلكتروني مباشرةً من الخادم الخاص بك، مما قد يؤدي إلى مشكلات بسبب تدابير منع البريد المزعج المختلفة. إذا لم تستلم البريد الإلكتروني، تحقق من مجلد البريد المزعج. إذا لم يكن هناك، قد تحتاج إلى تعيين تفاصيل SMTP المناسبة أكثر في ملف plausible-conf.env
. انظر إلى وثائق الإعداد الرسمية لـ Plausible على الخادم الذاتي للحصول على تفاصيل حول تكوين البريد.
عند تسجيل الدخول بنجاح، سترى إشعارًا لإعداد موقع الويب الأول الخاص بك باستخدام Plausible:
لقد قمت بتثبيت برنامج التحليلات Plausible الخاص بك بنجاح وتأمينه.
الاستنتاج
في هذا البرنامج التعليمي، قمت بتشغيل تطبيق Plausible Analytics وحاويات المساعدة المرتبطة به باستخدام Docker Compose، ثم قمت بإعداد بروكسي عكسي Nginx وتأمينه باستخدام شهادات Let’s Encrypt SSL.
أنت الآن جاهز لإعداد موقعك على الويب وإضافة سكريبت تتبع Plausible Analytics. يرجى الرجوع إلى وثائق Plausible Analytics الرسمية لمزيد من المعلومات حول استخدام البرنامج وإعداد موقعك.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-plausible-analytics-on-ubuntu-22-04