كيفية تثبيت Kanboard على Ubuntu 18.04 LTS

المقدمة

Kanboard هو برنامج مجاني ومفتوح المصدر لإدارة المشاريع تم تصميمه لتسهيل وتصور تدفق عمل الفريق باستخدام منهجية Kanban.

ستوضح لك هذه المقالة كيفية إعداد Kanboard على Ubuntu 18.04.

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

  • نسخة خادم Vultr Ubuntu 18.04 ، سوف نستخدم 203.0.113.1كمثال عنوان IP.
  • A المستخدم سودو .

الخطوة 1: تحديث النظام

قم بتسجيل الدخول إلى الخادم كمستخدم sudo من محطة SSH ، وقم بتحديث نظام Ubuntu 18.04 وتثبيت git.

sudo apt update && sudo apt upgrade -y
sudo apt install -y git
sudo reboot

بعد إعادة التشغيل ، قم بتسجيل الدخول كمستخدم sudo نفسه وانتقل إلى الخطوة التالية.

الخطوة 2: تثبيت أباتشي

قم بتثبيت خادم الويب Apache 2.4 لـ Kanboard.

sudo apt install apache2 -y

ابدأ وتمكين خدمة Apache.

sudo systemctl enable --now apache2.service

الخطوة 3: تثبيت MariaDB

بشكل افتراضي ، يستخدم Kanboard SQLite لتخزين بياناته. بدلاً من ذلك ، يمكنك استخدام MariaDB (MySQL) لتحسين الأداء في بيئة الإنتاج.

قم بتثبيت MariaDB.

sudo apt install -y mariadb-server mariadb-client

ابدأ وتمكين خدمة MariaDB.

sudo systemctl enable --now mariadb.service

تأمين التثبيت.

sudo mysql_secure_installation

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

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

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

يتطلب Kanboard PHP 5.3.9 أو أعلى. سنستخدم PHP 7.2 (والعديد من الامتدادات) ، وهي النسخة الافتراضية المتاحة في مستودعات Ubuntu الرسمية.

sudo apt install -y php7.2 php7.2-mysql php7.2-gd php7.2-mbstring php7.2-common php7.2-opcache php7.2-cli php7.2-xml

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

قم بتنزيل وتثبيت أحدث إصدار من Kanboard.

cd /var/www/html
sudo git clone https://github.com/kanboard/kanboard.git
sudo chown -R www-data:www-data kanboard/data

قم بإعداد قاعدة بيانات MySQL ومستخدم قاعدة بيانات لـ Kanboard.

mysql -u root -p -e "CREATE DATABASE kanboard;"
mysql -u root -p kanboard < /var/www/html/kanboard/app/Schema/Sql/mysql.sql
mysql -u root -p -e "CREATE USER 'kanboarduser'@'localhost' IDENTIFIED BY 'yourpassword';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON kanboard.* TO 'kanboarduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;"
mysql -u root -p -e "FLUSH PRIVILEGES;"

ملاحظة: عند المطالبة ، أدخل كلمة مرور الجذر MariaDB التي قمت بإعدادها مسبقًا. يجب عليك أيضًا اختيار كلمة مرور قوية للمستخدم بخلاف تلك الموضحة أعلاه.

قم بتحديث ملف تكوين Kanboard للتبديل إلى MySQL.

cd /var/www/html/kanboard
sudo mv config.default.php config.php

افتح config.phpباستخدام محرر نصوص من اختيارك.

sudo vi config.php

ابحث عن الخطوط التالية.

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'sqlite');

// Mysql/Postgres username
define('DB_USERNAME', 'root');

// Mysql/Postgres password
define('DB_PASSWORD', '');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name
define('DB_NAME', 'kanboard');

تعديلها على النحو التالي.

// Database driver: sqlite, mysql or postgres (sqlite by default)
define('DB_DRIVER', 'mysql');

// Mysql/Postgres username
define('DB_USERNAME', 'kanboarduser');

// Mysql/Postgres password
define('DB_PASSWORD', 'yourpassword');

// Mysql/Postgres hostname
define('DB_HOSTNAME', 'localhost');

// Mysql/Postgres database name
define('DB_NAME', 'kanboard');

أعد تشغيل Apache.

sudo systemctl restart apache2.service

أخيرًا ، وجّه متصفح الويب http://203.0.113.1/kanboardلبدء استخدام Kanboard. استخدم بيانات الاعتماد الافتراضية التالية لتسجيل الدخول:

  • اسم المستخدم: admin
  • كلمه السر: admin

ملاحظة: لأغراض أمنية ، تذكر تعديل adminكلمة المرور باستخدام users managementالرابط من القائمة المنسدلة للمدير الأيمن العلوي.

الخطوة 6 (اختياري): إعداد Zend OpCache

من أجل تحقيق أفضل أداء على خادم Kanboard ، يمكنك ضبط إعدادات Zend OpCache ، التي تم تمكينها افتراضيًا.

على سبيل المثال ، عند استخدام Kanboard في إعداد عقدة واحدة في الإنتاج كما قصدنا في هذه المقالة ، يمكنك استخدام الإعدادات التالية كمبدئ لتحسين Zend OpCache.

افتح ملف تكوين Zend OpCache.

sudo vi /etc/php/7.2/apache2/conf.d/10-opcache.ini

قم بتعديل الملف وفقًا للإعدادات التالية.

zend_extension=opcache.so;
opcache.enable=1;
opcache.file_cache=/tmp/opcache
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.memory_consumption=192
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=1979
opcache.fast_shutdown=1

أعد تشغيل خدمة Apache لتطبيق التغييرات الخاصة بك.

sudo systemctl restart apache2.service

الخطوة 7 (اختياري): إعداد وظيفة cron يومية للتقارير والتحليلات

من أجل إنشاء تقارير وتحليلات دقيقة ، تحتاج إلى إعداد وظيفة cron يومية باستخدام www-dataالمستخدم.

sudo crontab -u www-data -e

قم بملء ملف crontab باستخدام cronjob التالي.

0 3 * * * cd /var/www/html/kanboard && ./cli cronjob >/dev/null 2>&1

احفظ واخرج.

مع هذه المهمة الأساسية ، سيتم تحديث جميع التقارير والتحليلات الساعة 3:00 صباحًا كل يوم.



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. قراءة هذه المادة لمعرفة المزيد