Advertisement
Shlink هي خدمة اختصار روابط ذاتية الاستضافة قوية لنظام Linux. وهي توفر إطار عمل بسيط وفعال حيث يمكنك استخدام اسم المجال الخاص بك كجذر لروابطك المختصرة. ستوضح لك هذه المقالة كيفية تثبيت نسخة Shlink الخاصة بك على Ubuntu Linux باستخدام Docker وNginx.
Advertisement
لماذا يتم اختصار الروابط باستخدام Shlink؟
من أهم نقاط البيع التي يتميز بها Shlink أنه يمكنك استخدام نطاق مخصص خاص بك لإنشاء روابط مختصرة مع إمكانية الاستضافة الذاتية. وهذا بدوره يمنحك مرونة خدمة اختصار الروابط SaaS بالإضافة إلى خصوصية تشغيل البرامج على جهازك.
Advertisement
Advertisement
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
كما يتميز أيضًا بمجموعة متنوعة من الميزات مثل القدرة على إنشاء أكواد QR وإعادة توجيه استعلامات الروابط تلقائيًا وإنشاء عناوين مخصصة متعددة الأجزاء. وهذا يجعل Shlink أداة مفيدة إذا كنت تبحث عن خدمة اختصار الروابط في Linux حيث يمكنك تعديل مظهر الروابط وسلوكها.Advertisement
الحصول على Docker لـ Shlink
Advertisement
الخطوة الأولى في نشر Shlink على Linux هي الحصول على نسخة من Docker. للقيام بذلك، قم بجلب مفتاح التوقيع الخاص بمشروع Docker من موقعه على الويب:
Advertisement
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Advertisement
قم بإنشاء ملف المستودع لملفات Docker الثنائية الخاصة بك:
Advertisement
sudo nano /etc/apt/sources.list.d/docker.list
Advertisement
قم بلصق سطر التعليمات البرمجية التالي داخل ملف المستودع الجديد الخاص بك:
Advertisement
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Advertisement
apt update:Advertisement
تثبيت التبعيات لـ Shlink
مع تشغيل مستودعات Docker، يمكنك الآن استخدام apt للحصول على التبعيات الخاصة بـ Shlink:
Advertisement
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Advertisement
تأكد من أن حزمة snap “core” متوفرة في نظامك:
Advertisement
Advertisement
الحصول على مفتاح ترخيص Geolite2
من بين الميزات المميزة الأخرى لـ Shlink أنه يمكنه تتبع الموقع العام للمستخدم الذي نقر على الروابط الخاصة بك. لاستخدام هذا، افتح
من فضلك قم , تسجيل الدخول أو تسجيل لعرض المحتوى
Advertisement
Advertisement
قم بملء النموذج بتفاصيلك ثم اضغط يكمل.
Advertisement
انقر فوق الرابط الموجود في البريد الإلكتروني، ثم قم بتوفير كلمة المرور لحساب MaxMind الجديد الخاص بك.
Advertisement
Advertisement
Advertisement
انقر إنشاء مفتاح ترخيص جديد، ثم اضغط يتأكد لإنشاء مفتاح Geolite2 الخاص بك.
Advertisement
انسخ مفتاح ترخيص Geolite2 إلى ملف نصي على جهازك ثم احفظه.
Advertisement
الحصول على Shlink وتثبيته
لتثبيت Shlink، تحتاج أولاً إلى إنشاء شبكة Docker افتراضية. ستعمل هذه الشبكة كشبكة خاصة للتطبيق حيث يمكنه التواصل مع الحاويات الأخرى التي ستنشرها:
Advertisement
sudo docker network create -d bridge \
Advertisement
--gateway=10.0.0.1 \
shlink-network
Advertisement
قم بنشر قاعدة بيانات PostgreSQL وربطها بشبكة Docker الافتراضية الجديدة الخاصة بك:
Advertisement
sudo docker run -d \
--name shlink-db \
Advertisement
-e POSTGRES_USER=postgres \
-e POSTGRES_DB=shlink \
Advertisement
--restart always \
--network="shlink-network" \
Advertisement
قم بتغيير قيمة متغير البيئة “POSTGRES_PASSWORD” بسلسلة نصية عشوائية.
Advertisement
Advertisement
cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1قم بلصق الأمر التالي في جلسة محطة طرفية جديدة:
Advertisement
sudo docker run -d \
Advertisement
-p 8081:8080 \
-e DEFAULT_DOMAIN=YOUR-ROOT.DOMAIN \
Advertisement
-e GEOLITE_LICENSE_KEY=!REPLACE_ME! \
-e DB_DRIVER=postgres \
Advertisement
-e DB_PASSWORD=!REPLACE_ME! \
-e DB_HOST=shlink-db \
Advertisement
shlinkio/shlink:stable
Advertisement
Advertisement
ملحوظة: تأكد من أن المجال الخاص بك يحتوي على سجل A يشير إلى عنوان IP الخاص بجهازك.
Advertisement
Advertisement
استبدل المتغير “DB_PASSWORD” بكلمة مرور قاعدة بيانات PostgreSQL الخاصة بك.
Advertisement
يضعط يدخل لبدء تشغيل مثيل Shlink الخاص بك.
Advertisement
تثبيت واجهة Shlink وربطها
احصل على مفتاح API من حاوية Shlink الخاصة بك، ثم انسخه إلى الحافظة الخاصة بك:
Advertisement
sudo docker exec -it shlink-stable shlink api-key:generate
Advertisement
قم بلصق الأمر التالي في جلسة محطة طرفية جديدة:
Advertisement
sudo docker run -d \
--name shlink-client \
Advertisement
-e SHLINK_SERVER_URL=https://YOUR-ROOT.DOMAIN \
-e SHLINK_SERVER_API_KEY=!REPLACE-ME! \
Advertisement
استبدل “SHLINK_SERVER_URL” بالقيمة من متغير “DEFAULT_DOMAIN” الموجود في الحاوية الخلفية.
Advertisement
Advertisement
Advertisement
يضعط يدخل لبدء واجهة Shlink الأمامية.
Advertisement
Advertisement
إنشاء وكيل عكسي SSL باستخدام Nginx
Advertisement
للبدء، قم بإنشاء سجل A جديد لواجهة Shlink الأمامية. في حالتي، سأقوم بتعيين سجل A للواجهة الأمامية على “admin”.
Advertisement
Advertisement
Advertisement
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف التكوين الخاص بك:
Advertisement
server {
Advertisement
server_name YOUR-ROOT.DOMAIN;
Advertisement
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
Advertisement
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Advertisement
}
}
Advertisement
server {
Advertisement
location / {
Advertisement
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
Advertisement
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
Advertisement
}
Advertisement
احفظ ملف التكوين الخاص بك، ثم قم بتمكين تطبيق الويب الخاص بك في Nginx:
Advertisement
sudo ln -s /etc/nginx/sites-available/shlink /etc/nginx/sites-enabled/
Advertisement
قم بإعادة تحميل برنامج Nginx الخاص بك لتطبيق الإعدادات الجديدة:
Advertisement
sudo systemctl reload nginx
Advertisement
Advertisement
اطلب شهادة SSL جديدة متعددة النطاقات لنسخة Shlink الخاصة بك:
Advertisement
sudo certbot --nginx -d YOUR-ROOT.DOMAIN -d SUBDOMAIN.YOUR-ROOT.DOMAIN
Advertisement
تأكد من أن خادم Shlink الخاص بك يعمل بشكل صحيح من خلال الانتقال إلى وحدة التحكم الإدارية الخاصة بمثيلك. في حالتي، يكون الأمر “
Advertisement
جيد ان تعلم: تعرف على المزيد حول تشفير الويب عن طريق إنشاء شهادات SSL الخاصة بك باستخدام OpenSSL.
Advertisement
إنشاء رابطك الأول باستخدام Shlink
لاستخدام مثيلك الجديد، انقر فوق شلينك عنصر القائمة في صفحة الوصول.
Advertisement
Advertisement
قم بتوفير بعض البيانات الوصفية لرابطك القصير، ثم انقر فوق يحفظ لإنشاء الرابط الخاص بك.
Advertisement
Advertisement
Advertisement
إن تثبيت ونشر خدمة اختصار الروابط الخاصة بك ما هو إلا الخطوة الأولى لاستعادة خصوصيتك على الإنترنت. تعرف على الكيفية التي يمكن أن يساعدك بها Linux في استعادة خصوصيتك بشكل أكبر من خلال استضافة موقع الويب الخاص بك المجهول في Ubuntu باستخدام Tor.
Advertisement
Advertisement