كيفية تثبيت osTicket على أوبونتو 16.04

OsTicket هي أداة حجز تذاكر مجانية ومفتوحة المصدر مكتوبة بلغة PHP. إنها أداة بسيطة وخفيفة الوزن تسمح لك بإدارة وتنظيم وأرشفة طلب الدعم الخاص بك.

في هذا البرنامج التعليمي ، ستتعلم كيفية تثبيت وتكوين osTicket على Ubuntu 16.04.

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

  • نسخة خادم Vultr Ubuntu 16.04.
  • مستخدم sudo مع امتيازات الجذر.

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

قبل البدء ، يوصى بتحديث النظام بأحدث إصدار ثابت. قم بتسجيل الدخول مع مستخدم sudo وقم بتشغيل الأوامر التالية لتحديث النظام.

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

الخطوة 2: تثبيت خادم LEMP

أولاً ، ستحتاج إلى تثبيت Nginx و Mysql و PHP و PHP-FPM ووحدات PHP الأخرى المطلوبة على نظامك. يمكنك تثبيت كل منهم بالأمر التالي:

sudo apt-get install -y nginx mysql-server php7.0-cli php7.0-mysql php7.0-cgi php7.0-fpm php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl php-apcu -y

بمجرد اكتمال التثبيت ، ابدأ تشغيل خدمة Nginx و MySQL وأضفهما للبدء في وقت التمهيد:

sudo systemctl start nginx
sudo systemctl start mysql
sudo systemctl enable nginx
sudo systemctl enable mysql

بعد ذلك ، ستحتاج إلى تعديل php.iniالملف:

sudo nano /etc/php/7.0/fpm/php.ini

أزل التعليق عن السطر التالي وقم بتغيير قيمته إلى 0:

cgi.fix_pathinfo=0

احفظ وأغلق الملف ، ثم أعد تشغيل php7-fpmالخدمة وأضفه للبدء في وقت التمهيد:

sudo systemctl restart php7.0-fpm
sudo systemctl enable php7.0-fpm

الخطوة 3: تكوين قاعدة البيانات لـ osTicket

افتراضيًا ، لا يتم تأمين MySQL. يمكنك تأمينه عن طريق تشغيل mysql_secure_installationالبرنامج النصي.

sudo mysql_secure_installation

أجب عن جميع الأسئلة كما هو موضح أدناه:

Set root password? [Y/n] Y
New password:
Re-enter new 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

عند الانتهاء من كل شيء ، اتصل بقاعدة MySQL shell بالأمر التالي:

mysql -u root -p

أدخل كلمة المرور الخاصة بك ، ثم قم بإنشاء قاعدة بيانات جديدة ومستخدم لـ osTicket:

mysql> create database osticketdb;
mysql> create user osticket@localhost identified by 'password';
mysql> grant all privileges on osticketdb.* to osticket@localhost identified by 'password';
mysql> flush privileges;
mysql> exit;

الخطوة 4: تنزيل osTicket

أولاً ، ستحتاج إلى إنشاء دليل لـ osTicket:

sudo mkdir /var/www/html/osticket

بعد ذلك ، قم بتغيير الدليل إلى osTicket وتنزيل osTicket بالأوامر التالية:

cd /var/www/html/osticket
wget http://osticket.com/sites/default/files/download/osTicket-v1.10.zip

ملاحظة: تأكد من الحصول على أحدث إصدار من صفحة تنزيل osTicket هنا .

بمجرد اكتمال التنزيل ، قم باستخراج الملف الذي تم تنزيله.

sudo unzip osTicket-v1.10.zip

بعد ذلك ، انسخ ملف التكوين النموذجي:

sudo cp upload/include/ost-sampleconfig.php upload/include/ost-config.php

قم بتغيير مالك جميع osticketالملفات والأدلة إلى المستخدم والمجموعة "www-data".

sudo chown -R www-data:www-data /var/www/html/osticket

الخطوة 5: تكوين Nginx لـ osTicket

ستحتاج إلى إنشاء تكوين مضيف ظاهري جديد لـ osTicket:

sudo nano /etc/nginx/sites-available/osticket

أضف الأسطر التالية:

server {
  listen 80;
        server_name your-domain.com;

        root   /var/www/html/osticket/upload/;

        access_log  /var/log/nginx/access.log;
        error_log  /var/log/nginx/error.log;

        index index.php;
        client_max_body_size 2000M;
        client_body_buffer_size 100M;
        client_header_buffer_size 10M;
        large_client_header_buffers 2 10M;
        client_body_timeout 12;
        client_header_timeout 12;
        keepalive_timeout 15;
        send_timeout 10;
        gzip             on;
        gzip_comp_level  2;
        gzip_min_length  1000;
        gzip_proxied     expired no-cache no-store private auth;
        gzip_types       text/plain application/x-javascript text/xml text/css application/xml;

        set $path_info "";

        location ~ /include {
          deny all;
          return 403;
       }

       if ($request_uri ~ "^/api(/[^\?]+)") {
         set $path_info $1;
       }

       location ~ ^/api/(?:tickets|tasks).*$ {
        try_files $uri $uri/ /api/http.php?$query_string;
       }

       if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
          set $path_info $1;
       }

       location ~ ^/scp/ajax.php/.*$ {
          try_files $uri $uri/ /scp/ajax.php?$query_string;
       }

       location / {
          try_files $uri $uri/ index.php;
       }

       location ~ \.php$ {
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           include        fastcgi_params;
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param  PATH_INFO    $path_info;
      }
}

احفظ وأغلق الملف ، ثم قم بتنشيط المضيف الظاهري باستخدام الأمر التالي:

sudo ln -s /etc/nginx/sites-available/osticket /etc/nginx/sites-enabled/

أخيرًا ، أعد تشغيل خدمة Nginx:

sudo systemctl restart nginx

الخطوة 6: الوصول إلى واجهة الويب osTicket

بمجرد تكوين كل شيء ، حان الوقت للوصول إلى معالج تثبيت الويب osTicket.

افتح متصفح الويب الخاص بك واكتب عنوان URL http://your-domain.com، يمكنك رؤية معالج تثبيت osTicket. اتبع كل تعليمات بعناية واستكمل التثبيت.

وبمجرد تركيب انتهت ، وإزالة دليل الإعداد وتغيير إذن من ملف osTicket التكوين:

sudo rm -rf /var/www/html/osticket/upload/setup
sudo chmod 0644 /var/www/html/osticket/include/ost-config.php

تهانينا! لقد قمت بتثبيت osTicket بنجاح على خادم Ubuntu 16.04.



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