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

هناك خياران رئيسيان لتثبيت 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.
تكوين DNS باستخدام خدمة AWS Route 53
يمكن العثور على عنوان IP العام لنسخة Ubuntu 18.04 LTS الخاصة بك في وحدة تحكم EC2 الخاصة بك أو في وحدة تحكم Lightsail الخاصة بك.
وحدة تحكم EC2 في AWS
وحدة تحكم 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.
صفحة تنزيلات 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. افتح متصفح الويب الخاص بك واكتب اسم نطاق ريدماين الخاص بك في شريط العنوان. ستظهر شاشة تسجيل الدخول إلى ريدماين.
شاشة تسجيل الدخول الأولية لريدماين
2. قم بتسجيل الدخول إلى خادم ريدماين الخاص بك باستخدام بيانات الاعتماد الافتراضية (اسم المستخدم: admin وكلمة المرور: admin) وعندما يُطلب منك ذلك، قم بتعيين كلمة مرور جديدة لحساب المسؤول الخاص بك.
3. أخيرًا، قم بتكوين إعدادات حساب المسؤول الخاص بك، بما في ذلك عنوان البريد الإلكتروني الخاص بك والمنطقة الزمنية.
تهانينا! ريدماين الخاص بك جاهز!
إذا كنت ترغب في اكتشاف طرق أخرى لنشر ريدماين على خدمات الويب الأمازون (AWS)، تفضل بالاطلاع على الجزء الثاني من هذا البرنامج التعليمي.

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