كيفية تثبيت Selfoss RSS Reader على Ubuntu 16.04 LAMP VPS

Selfoss RSS Reader هو برنامج مجاني ومفتوح المصدر ومفتوح المصدر ومُستضاف ذاتيًا على الويب ، وبث مباشر ، ومزج ، وقارئ موجز الأخبار (RSS / Atom) ومجمع عالمي. يتميز Selfoss RSS Reader باستيراد OPML وواجهة برمجة تطبيقات JSON المريحة ونظام المكونات الإضافية المفتوح الذي يتيح لك توسيع الوظيفة الافتراضية بسهولة عن طريق كتابة موصلات البيانات المخصصة الخاصة بك. يمكنك استخدام Selfoss للبث المباشر وجمع جميع مشاركاتك وتغريداتك وملفات بودكاست وخلاصاتك في مكان مركزي واحد يمكنك الوصول إليه بسهولة من أي جهاز سطح مكتب أو جهاز محمول.

في هذا البرنامج التعليمي ، سنقوم بتثبيت Selfoss RSS Reader 2.17 على Ubuntu 16.04 LAMP VPS باستخدام خادم الويب Apache و PHP 7.0 وقاعدة بيانات MariaDB.

المتطلبات الأساسية

  • نسخة خادم نظيفة Vultr Ubuntu 16.04 مع وصول SSH

الخطوة 1: إضافة مستخدم Sudo

سنبدأ بإضافة sudoمستخدم جديد .

أولاً ، قم بتسجيل الدخول إلى الخادم الخاص بك على النحو التالي root:

ssh root@YOUR_VULTR_IP_ADDRESS

أضف مستخدمًا جديدًا يسمى user1(أو اسم المستخدم المفضل لديك):

adduser user1

عند المطالبة ، أدخل كلمة مرور آمنة ولا تنسى. ستتم مطالبتك أيضًا بـ "الاسم الكامل" وبعض التفاصيل الأخرى ، ولكن يمكنك ببساطة تركها فارغة بالضغط Enter.

تحقق الآن من /etc/sudoersالملف للتأكد من sudoersتمكين المجموعة:

visudo

ابحث عن قسم مثل هذا:

%sudo        ALL=(ALL:ALL)       ALL

يخبرنا هذا السطر أن المستخدمين الذين هم أعضاء في sudoالمجموعة يمكنهم استخدام sudoالأمر للحصول على rootالامتيازات. سيكون غير مقيد بشكل افتراضي بحيث يمكنك ببساطة الخروج من الملف.

بعد ذلك نحتاج إلى إضافة user1إلى sudoالمجموعة:

usermod -aG sudo user1

يمكننا التحقق من user1عضوية المجموعة والتحقق من أن usermodالأمر يعمل مع groupsالأمر:

groups user1

الآن استخدم suالأمر للتبديل إلى user1حساب مستخدم sudo الجديد :

su - user1

سيتم تحديث موجه الأوامر للإشارة إلى أنك قمت بتسجيل الدخول الآن إلى user1الحساب. يمكنك التحقق من ذلك باستخدام whoamiالأمر:

whoami

الآن قم بإعادة تشغيل sshdالخدمة بحيث يمكنك تسجيل الدخول عبر sshحساب مستخدم sudo الجديد غير الجذر الذي أنشأته للتو:

sudo systemctl restart sshd

الخروج من user1الحساب:

exit

اخرج من rootالحساب (الذي سيؤدي إلى قطع جلستك ssh):

exit

يمكنك الآن sshالدخول إلى مثيل الخادم من مضيفك المحلي باستخدام user1حساب مستخدم sudo الجديد غير الجذر :

ssh user1@YOUR_VULTR_IP_ADDRESS

إذا كنت تريد تنفيذ sudo دون الحاجة إلى كتابة كلمة مرور في كل مرة ، فافتح /etc/sudoersالملف مرة أخرى باستخدام visudo:

sudo visudo

قم بتحرير قسم sudoالمجموعة بحيث يبدو كالتالي:

%sudo   ALL=(ALL) NOPASSWD: ALL

يرجى ملاحظة ما يلي: تعطيل متطلبات كلمة المرور لمستخدم sudo ليس ممارسة موصى بها ، ولكن يتم تضمينه هنا لأنه يمكن أن يجعل تكوين الخادم أكثر ملاءمة وأقل إحباطًا ، خاصة خلال جلسات إدارة الأنظمة الأطول. إذا كنت قلقًا بشأن الآثار الأمنية ، فيمكنك دائمًا إعادة تغيير التكوين إلى الإعداد الأصلي بعد الانتهاء من مهام الإدارة.

عندما تريد تسجيل الدخول إلى rootحساب المستخدم من داخل sudoحساب المستخدم ، يمكنك استخدام أحد الأوامر التالية:

sudo -i
sudo su -

يمكنك الخروج من rootالحساب والعودة إلى sudoحساب المستخدم الخاص بك في أي وقت:

exit

الخطوة 2: تحديث نظام Ubuntu 16.04

قبل تثبيت أي حزم على مثيل خادم Ubuntu ، سنقوم أولاً بتحديث النظام.

تأكد من أنك قمت بتسجيل الدخول إلى الخادم باستخدام مستخدم sudo غير الجذر وتشغيل الأوامر التالية:

sudo apt-get update
sudo apt-get -y upgrade

الخطوة 3: قم بتثبيت Apache Web Server

قم بتثبيت خادم الويب Apache:

sudo apt-get -y install apache2 

ثم استخدم systemctlالأمر لبدء وتمكين Apache من التنفيذ تلقائيًا في وقت التمهيد:

sudo systemctl enable apache2
sudo systemctl start apache2

تحقق من ملف تكوين موقع Apache الافتراضي للتأكد من أن DocumentRootالتوجيه يشير إلى الدليل الصحيح:

sudo vi /etc/apache2/sites-enabled/000-default.conf 

و DocumentRootسوف خيار التكوين تبدو هذه:

DocumentRoot "/var/www/html"

نحتاج الآن إلى تمكين mod_rewriteوحدة Apache النمطية ، لذا تأكد من أن ملف تكوين موقع Apache الافتراضي الخاص بك لا يزال مفتوحًا ، وأضف Directoryتوجيهات Apache التالية قبل </VirtualHost>علامة الإغلاق مباشرة ، بحيث تبدو نهاية ملف التكوين كما يلي:

    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

أهم التوجيه الموضح أعلاه هو AllowOverride All.

الآن حفظ والخروج من الملف، وتمكين mod_rewrite، mod_authz_coreو mod_headersحدات أباتشي:

sudo a2enmod rewrite authz_core headers

سنقوم بإعادة تشغيل Apache في نهاية هذا البرنامج التعليمي ، ولكن إعادة تشغيل Apache بانتظام أثناء التثبيت والتكوين هي بالتأكيد عادة جيدة ، لذلك دعونا نفعل ذلك الآن:

sudo systemctl restart apache2

الخطوة 4: تثبيت PHP 7.0

يمكننا الآن تثبيت PHP 7.0 مع جميع وحدات PHP اللازمة التي يتطلبها Selfoss RSS Reader:

sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip

الخطوة 5: تثبيت MySQL Server

تثبيت خادم قاعدة بيانات MySQL:

sudo apt-get -y install mysql-server

أثناء تثبيت خادم MySQL ، تأكد من إدخال كلمة مرور آمنة rootلمستخدم MySQL . هذا rootالمستخدم مختلف عن rootالمستخدم في Ubuntu لأنه يستخدم فقط للاتصال بخادم قاعدة البيانات الخاص بك مع امتيازات كاملة.

ابدأ وتمكين خادم MySQL للتنفيذ تلقائيًا في وقت التمهيد:

sudo systemctl enable mysql
sudo systemctl start mysql    

تأمين تثبيت خادم MySQL الخاص بك:

sudo mysql_secure_installation

عند المطالبة ، أدخل كلمة المرور التي أنشأتها rootلمستخدم MYSQL أثناء التثبيت. ما عليك سوى الإجابة بـ "Y" على جميع الأسئلة الأخرى بنعم / لا لأن الاقتراحات الافتراضية هي الخيارات الأكثر أمانًا.

الخطوة 6: إنشاء قاعدة بيانات لـ Selfoss RSS Reader

قم بتسجيل الدخول إلى هيكل MySQL rootكمستخدم MySQL عن طريق تشغيل الأمر التالي:

sudo mysql -u root -p

للوصول إلى موجه أوامر MySQL ، ما عليك سوى إدخال rootكلمة مرور MySQL عند مطالبتك بذلك.

قم بتشغيل الاستعلامات التالية لإنشاء قاعدة بيانات MySQL ومستخدم قاعدة بيانات لـ Selfoss RSS Reader:

CREATE DATABASE selfoss_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'selfoss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON selfoss_db.* TO 'selfoss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

يمكنك استبدال اسم قاعدة البيانات واسم selfoss_dbالمستخدم selfoss_userبشيء أكثر ترضيك ، إذا كنت تفضل ذلك. تأكد أيضًا من استبدال "UltraSecurePassword" بكلمة مرور آمنة بالفعل.

الخطوة 7: تثبيت ملفات Selfoss RSS Reader

تغيير دليل العمل الحالي إلى دليل الويب الافتراضي:

cd /var/www/html/

إذا تلقيت رسالة خطأ تقول شيئًا مثل ، 'No such file or directory'فجرّب الأمر التالي:

cd /var/www/ ; sudo mkdir html ; cd html

ودليل العمل الحالي الخاص بك سيكون الآن: /var/www/html/. يمكنك التحقق من ذلك باستخدام الأمر pwd(طباعة دليل العمل):

pwd

استخدم الآن wgetلتنزيل حزمة تثبيت Selfoss RSS Reader:

sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip

يرجى ملاحظة ما يلي: يجب عليك بالتأكيد التحقق من أحدث إصدار من خلال زيارة صفحة تنزيل Selfoss RSS Reader .

قم بإدراج الدليل الحالي للتأكد من أنك قمت بتنزيل الملف بنجاح:

ls -la

إزالة index.html:

sudo rm index.html

دعنا نثبت بسرعة unzipحتى نتمكن من فك ضغط الملف:

sudo apt-get -y install unzip

الآن قم بفك ضغط الأرشيف المضغوط:

sudo unzip selfoss-2.17.zip

انقل جميع ملفات التثبيت إلى دليل جذر الويب:

sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null

قم بتغيير ملكية ملفات الويب لتجنب أي مشاكل في الأذونات:

sudo chown -R www-data:www-data * ./

أعد تشغيل Apache مرة أخرى:

sudo systemctl restart apache2

الخطوة 8: تثبيت وتشغيل الملحن

يتطلب منا Selfoss RSS Reader أن نستخدم composerلتنزيل بعض الإضافات لذا دعنا نثبت composer:

sudo apt-get -y install composer

الآن تأكد من أنك في دليل webroot:

cd /var/www/html

قم بتشغيل الملحن باستخدام www-dataالمستخدم:

sudo -u www-data composer install 

سترى بعض الرسائل التحذيرية من composerعدم القدرة على الكتابة إلى ذاكرة التخزين المؤقت ، ولكن لا تقلق كثيرًا بشأن ذلك لأن كل شيء سيظل مثبتًا على ما يرام.

نحن الآن على استعداد للانتقال إلى الخطوة الأخيرة.

الخطوة 9: أكمل تثبيت Selfoss RSS Reader

  1. نحتاج أولاً إلى تحديث ملف تكوين Selfoss RSS Reader config.iniبإعدادات قاعدة البيانات الصحيحة ، لذا تأكد من أنك لا تزال في دليل webroot وانسخ defaults.iniإلى config.ini:

    sudo cp -iv defaults.ini config.ini
    
  2. بعد ذلك ، افتح config.iniملف التكوين وأضف قيم قاعدة البيانات التالية:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=selfoss_db
    db_username=selfoss_user
    db_password=UltraSecurePassword
    db_port=3306
    
  3. نحتاج الآن إلى إضافة تجزئة كلمة المرور config.ini، ولكننا نحتاج أولاً إلى إنشائها ، لذا قم بزيارة عنوان URL التالي في متصفحك:

    http://YOUR_VULTR_IP_ADDRESS/password
    

    ثم أدخل كلمة المرور المطلوبة في Passwordالحقل وانقر فوق Generate.

    ما عليك سوى نسخ قيمة التجزئة الناتجة إلى خيار كلمة المرور في config.iniالملف بحيث يبدو قسم كلمة المرور الآن على النحو التالي:

    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    ملاحظة: من الواضح أن تجزئة كلمة المرور ستكون مختلفة عن التجزئة الموضحة أعلاه ولديك مطلق الحرية في اختيار اسم مستخدم مختلف.

  4. قم بإزالة كافة الخيارات الأخرى غير المعدلة من config.iniالملف بحيث يبدو ملف التكوين الكامل مشابهًا لما يلي:

    [globals]
    db_type=mysql
    db_host=localhost
    db_database=db1
    db_username=u1
    db_password=usecpass1
    db_port=3306
    username=admin
    password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a
    salt=<long string of random chracters>
    

    ملاحظة: إذا كنت ترغب في تغيير أي من defaults.iniالخيارات ، يمكنك ببساطة إضافتها إلى قائمة الخيارات أعلاه.

    عند الانتهاء من تحرير ملف التكوين ، يمكنك حفظ الملف والخروج منه.

  5. يمكنك الآن تسجيل الدخول إلى Selfoss RSS Reader من خلال زيارة الصفحة الرئيسية وإدخال اسم المستخدم وكلمة المرور:

     http://YOUR_VULTR_IP_ADDRESS/
    
  6. إذا كنت تريد أن يقوم القارئ بتحديث خلاصاتك تلقائيًا (ومن المؤكد أنك تفعل ذلك) ، فستحتاج إلى تعديل ملف crontab الخاص بك:

    sudo crontab -e
    

    أضف السطر التالي لتحديث خلاصاتك كل ساعة:

    0 * * * * www-data cd /var/www/html && php cliupdate.php
    

إذا لم تقم بتكوين إعدادات Vultr DNS الخاصة بك حتى الآن ، فيمكنك القيام بذلك باستخدام لوحة تحكم Vultr DNS.

يُنصح أيضًا بتكوين موقعك لاستخدام طبقة المقابس الآمنة لأن معظم المتصفحات الحديثة ستقدم تحذيرات عندما لا يتم تمكين طبقة المقابس الآمنة في المواقع وتكون شهادات طبقة المقابس الآمنة متاحة الآن مجانًا.

على أي حال ، أنت حر الآن في البدء في إضافة خلاصاتك وتخصيص القارئ الخاص بك ، إذا كنت ترغب في ذلك.



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد