ae
لغة
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
ترجمة AI
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

كيفية تثبيت ريدماين على خدمات الويب من أمازون (AWS) - أوبونتو 18.04 LTS - الجزء 1

12/16/2023
10 minutes
لوكاس بينا
Redmine هو تطبيق ويب لإدارة المشاريع وتتبع المشكلات مفتوح المصدر. يعمل على أعلى من Ruby on Rails وهو مصمم ليكون متعدد المنصات ومتعدد قواعد البيانات. في هذا البرنامج التعليمي، ستتعلم كيفية تثبيت Redmine على خدمات الويب من أمازون (AWS).

هناك خياران رئيسيان لتثبيت Redmine على خدمات ويب أمازون (AWS):

  • استخدام نسخة AWS Linux عادية (EC2 أو Lightsail) وتثبيت Redmine يدويًا، أو
  • استخدام نسخة Redmine Lightsail جاهزة للتثبيت بنقرة واحدة.

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

تصف الجزء الأول من هذا البرنامج التعليمي كيفية تثبيت Redmine على نسخة AWS Linux عادية.


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

قبل بدء العملية، تأكد من توفر المتطلبات الأولية التالية:

  • لديك حساب Amazon Web Services مع امتيازات المشرف.
  • لديك اسم نطاق لتطبيق Redmine الخاص بك مثل redmine.mydomain.com.
  • لديك وصول إلى تكوين DNS لنطاقك.


تثبيت Redmine على نسخة Linux EC2 أو LightSail عادية

لأغراض هذا البرنامج التعليمي، نفترض أنك قد قمت بالفعل بإطلاق نسخة AWS EC2 أو Lightsail تعمل بنظام Ubuntu 18.04 LTS.

سنقوم بتثبيت Redmine على هذه النسخة من Linux باستخدام قاعدة بيانات MySQL، وخادم ويب NGINX، وخادم تطبيق Phusion Passenger.


تكوين خادم DNS

قبل الاتصال بالنسخة الخاصة بك، تحتاج إلى تكوين DNS الخاص بك. قم بإنشاء إدخال DNS لاسم نطاق Redmine الخاص بك (redmine.mydomain.com) يشير إلى عنوان IP العام لنسخة AWS Linux الخاصة بك.

يمكنك القيام بذلك باستخدام خدمة AWS Route 53.

image001

تكوين DNS باستخدام خدمة AWS Route 53

يمكن العثور على عنوان IP العام لنسخة Ubuntu 18.04 LTS الخاصة بك في وحدة تحكم EC2 الخاصة بك أو في وحدة تحكم Lightsail الخاصة بك.

image003

وحدة تحكم EC2 في AWS

image005

وحدة تحكم Lightsail في AWS

بمجرد تكوين إدخال DNS الخاص بك، قم بالاتصال بنسخة Linux الخاصة بك وأكمل الخطوات التالية.


تثبيت وتكوين قاعدة بيانات MySQL


1. تثبيت خادم MySQL:

sudo apt update

sudo apt install mysql-server mysql-client


2. تنفيذ تكوين خادم MySQL الأولي:

sudo mysql_secure_installation

سيتم طلب منك:

  • تفعيل مكون VALIDATE PASSWORD PLUGIN (قل نعم واختر كلمات مرور قوية)
  • تحديد كلمة مرور المستخدم الجذر.
  • إزالة المستخدمين المجهولين (قل نعم).
  • عدم السماح بتسجيل الدخول البعيد للمستخدم الجذر (قل لا إذا كنت تخطط للاتصال بقاعدة البيانات من خارج نسخة Ubuntu Linux الخاصة بك، قل نعم في حالة العكس).

3. التحقق من تشغيل خادم MySQL:

sudo systemctl status mysql

(يجب أن ترى active (running) كجزء من استجابة الأمر)


4. إنشاء قاعدة بيانات جديدة ومستخدم قاعدة بيانات جديد لـ Redmine:

sudo mysql

mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4;

mysql > GRANT ALL ON redminedb.* TO 'redminedbusr'@'localhost' IDENTIFIED BY 'password';

mysql > flush priviledges;

mysql > EXIT


تثبيت Ruby

قم بتثبيت إصدار Ruby الافتراضي لتوزيعة Linux الخاصة بك. إذا كنت بحاجة إلى إصدار مختلف ، يمكنك استخدام RVM (مدير إصدار Ruby).


1. تثبيت Ruby:

قم بتثبيت أحدث إصدار من Ruby باستخدام Rbenv أو RVM.


RVM

1. قم بتثبيت rvm ، وتشغيله ، وإضافته إلى التشغيل التلقائي

curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc

2. إنشاء المستخدم "easy" (أو يمكنك تسميته كما تريد ، النقطة هي أن هذا المستخدم سيعمل مع تطبيق redmine الخاص بك ، وليس مستخدم root. يجب القيام بذلك لأسباب أمان)

useradd -m -G rvm -s /bin/bash easy

أيضًا ، تحتاج إلى إضافة المستخدم "easy" إلى مجموعة sudoers (يجب أن نسمح لهذا المستخدم بتشغيل بعض الأوامر من sudo)

usermod -a -G sudo easy

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

su - easy

3. إضافة المستخدم إلى مجموعة rvm

usermod -a -G rvm easy

أيضًا ، تحتاج إلى إضافة المستخدم "easy" إلى مجموعة sudoers (يجب أن نسمح لهذا المستخدم بتشغيل بعض الأوامر من sudo)

usermod -a -G sudo easy

التبديل إلى المستخدم "easy"

su - easy

4. تثبيت Ruby

rvm install 2.6 --patch railsexpress

5. تثبيت git

sudo apt-get install git

6. تعيين Ruby 2.6 كافتراضي

rvm use 2.6 --default

الجزء المكتوب بخط مائل مطلوب فقط إذا كنت ستقوم بتثبيت Ruby من مستخدم غير root. إذا قررت تركه ، فيمكنك استبدال اسم المستخدم "easy" بـ "redmine".


Rbenv

يرجى اتباع التعليمات في هذه المقالة.


تثبيت NGINX و Passenger

NGINX هو خادم ويب مفتوح المصدر مصمم لتحقيق أقصى أداء واستقرار. Passenger هو خادم تطبيق مفتوح المصدر يتكامل مع NGINX لتشغيل برامج Ruby ، مثل Redmine ، عبر الويب. في حالتنا ، نحتاج إلى تثبيت كلاهما.

$ gem install passenger --no-ri --no-rdoc
$ passenger-install-nginx-module

sudo gem install bundler --no-rdoc --no-ri


تثبيت وتكوين Redmine

قبل متابعة التثبيت ، تحقق من أحدث إصدار متاح لـ Redmine. يمكنك العثور عليه على صفحة تنزيلات Redmine.

image007

صفحة تنزيلات Redmine

قم بتدوين إصدار الهدف الخاص بك ومتابعة.

ملاحظة: من الأفضل عدم تثبيت وتشغيل Redmine من مستخدم root.


1. قم بتثبيت التبعيات المطلوبة لبناء Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev


2. قم بتنزيل Redmine إلى دليل /tmp الخاص بك:

sudo curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o /tmp/redmine.tar.gz


3. استخراج الأرشيف المُنزّل ونسخ ملفات التطبيق إلى دليل التثبيت:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

sudo mv /tmp/redmine-4.1.0 /var/www/html/redmine/


3. تكوين إعدادات قاعدة بيانات Redmine


3.1. فتح ملف تكوين قاعدة البيانات (database.yml)

cd /var/www/html/redmine/config/

cp database.yml.example database.yml

sudo nano /var/www/html/redmine/config/database.yml


3.2. تطبيق التغييرات الموضحة أدناه على قسم production في الملف:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 تثبيت تبعيات Ruby المطلوبة لتشغيل Redmine:

cd /var/www/html/redmine/

sudo gem install bundler --no-rdoc --no-ri

sudo bundle install --without development test postgresql sqlite


3.4 ترحيل قاعدة البيانات وتكوين بيئة التشغيل.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


تكوين NGINX

هذه هي الخطوة الأخيرة في البرنامج التعليمي. بعد إكمال تكوين NGINX الخاص بك، ستكون لديك خادم Redmine يعمل بشكل كامل على جهاز Ubuntu 18.04 LTS الخاص بك.


1. إنشاء مضيف افتراضي لتطبيق Redmine الخاص بك:

sudo nano /etc/nginx/sites-available/redmine.mydomain.com


2. أدخل تكوين مضيف الافتراضي التالي واحفظ الملف الخاص بك:

server {

listen 80;

server_name redmine.mydomain.com;

root /var/www/html/redmine/public;

passenger_enabled on;

passenger_min_instances 1;

client_max_body_size 10m;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


3. قم بتمكين مضيفك الافتراضي عن طريق ربط ملف التكوين الجديد الذي تم إنشاؤه مؤخرًا في دليل sites-enabled:

sudo ln -s /etc/nginx/sites-available/redmine.mydomain.com /etc/nginx/sites-enabled/redmine.mydomain.com


4. التحقق من تكوين NGINX الخاص بك:

sudo nginx -t

COMMAND OUTPUT:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful


5. إعادة تشغيل خادم NGINX:

sudo systemctl restart nginx


الوصول إلى ريدماين

1. افتح متصفح الويب الخاص بك واكتب اسم نطاق ريدماين الخاص بك في شريط العنوان. ستظهر شاشة تسجيل الدخول إلى ريدماين.

image009

شاشة تسجيل الدخول الأولية لريدماين

2. قم بتسجيل الدخول إلى خادم ريدماين الخاص بك باستخدام بيانات الاعتماد الافتراضية (اسم المستخدم: admin وكلمة المرور: admin) وعندما يُطلب منك ذلك، قم بتعيين كلمة مرور جديدة لحساب المسؤول الخاص بك.

3. أخيرًا، قم بتكوين إعدادات حساب المسؤول الخاص بك، بما في ذلك عنوان البريد الإلكتروني الخاص بك والمنطقة الزمنية.

image011

تهانينا! ريدماين الخاص بك جاهز!

إذا كنت ترغب في اكتشاف طرق أخرى لنشر ريدماين على خدمات الويب الأمازون (AWS)، تفضل بالاطلاع على الجزء الثاني من هذا البرنامج التعليمي.

الترقية النهائية لـ Redmine؟ سهلة.

احصل على جميع الأدوات القوية لتخطيط المشروع المثالي وإدارته والسيطرة عليه في برنامج واحد.

جرب Easy Redmine في تجربة مجانية لمدة 30 يومًا

ميزات كاملة، محمية SSL، نسخ احتياطية يومية، في موقعك الجغرافي