recent
أخبار ساخنة

شرح تثبيت Invoice Ninja على Ubuntu لعمل الفواتير الالكترونية وقبول المدفوعات ... الخطوات بالفيديو

الصفحة الرئيسية
شرح تثبيت  Invoice Ninja على Ubuntu لعمل الفواتير الالكترونية وقبول المدفوعات ... بالفيديو


تثبيت Invoice Ninja على Ubuntu 

Invoice Ninja
 هو تطبيق فوترة مجاني ومفتوح المصدر على الإنترنت لأصحاب الأعمال الحرة والشركات التي تساعدك على قبول المدفوعات وتتبع النفقات وإنشاء العروض.
إنه تطبيق فاتورة مستضاف ذاتيًا مشابه جدًا لتطبيقات الفاتورة التجارية مثل Freshbooks.
يتيح لك إنشاء فاتورتك المخصصة وإرسالها عبر الإنترنت.
Invoice Ninja مفيد جدا للشركات الصغيرة والمتوسطة الحجم.
 إذا كنت تبحث عن برنامج فواتير آمن وسهل الاستخدام فإن Invoice Ninja هو الخيار الأفضل لك.
سنشرح هنا تثبيت Invoice Ninja مع Apache و Let's Encrypt SSL على خادم Ubuntu.

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

خادم يعمل بنظام التشغيل Ubuntu.
اسم مجال صالح إلى عنوان IP الخاص بالخادم.
إعداد كلمة مرور root للخادم.

شاهد خطوات تثبيت  Invoice Ninja على Ubuntu 20.10  بالفيديو





قم بتحديث حزم النظام إلى أحدث إصدار بتشغيل الأمر التالي:

apt-get update -y

قم بتثبيت التبعيات الأخرى المطلوبة:

apt-get install software-properties-common apt-transport-https ca-certificates gnupg2 -y

تثبيت LAMP Server


قم بتثبيت حزم Apache و MariaDB:

apt-get install apache2 mariadb-server -y


بشكل افتراضي يأتي Ubuntu 20.04 مع الإصدار 7.4 من PHP لذلك سوف نحتاج إلى إضافة Ondrej repository.

يمكن إضافة مستودع PHP Ondrej باستخدام الأمر التالي:

add-apt-repository ppa:ondrej/php

قم بتثبيت PHP والإضافات الأخرى باستخدام الأمر التالي:

apt-get install php7.2 libapache2-mod-php7.2 php-imagick php7.2-fpm php7.2-mysql php7.2-common php7.2-gd php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp unzip -y

تحقق من إصدار PHP المثبت بالأمر التالي:

php -v

سترى النتيجة التالية:

PHP 7.2.34-8+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Oct 31 2020 16:57:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34-8+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

إعداد قاعدة بيانات MariaDB

قم بتسجيل الدخول إلى وحدة تحكم MariaDB باستخدام الأمر التالي:

mysql

قم بإنشاء قاعدة بيانات باسم invoicedb واسم مستخدم invoice باستخدام الأمر التالي:

MariaDB [(none)]> create database invoicedb;
MariaDB [(none)]> create user invoice@localhost identified by 'password';

بعد ذلك ، امنح جميع الامتيازات لـ invoicedb باستخدام الأمر التالي:

MariaDB [(none)]> grant all privileges on invoicedb.* to invoice@localhost;

امسح الامتيازات واخرج من وحدة تحكم MariaDB باستخدام الأمر التالي:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

تثبيت Invoice Ninja

قم بتنزيل أحدث إصدار من Invoice Ninja من موقعه الرسمي على الإنترنت:

wget -O invoice-ninja.zip https://download.invoiceninja.com/

قم بفك ضغط الملف الذي تم تنزيله باستخدام الأمر التالي:

unzip invoice-ninja.zip -d /var/www/html/

قم بتعيين الأذونات المناسبة والملكية باستخدام الأمر التالي:

chown -R www-data:www-data /var/www/html/ninja
chmod -R 755 /var/www/html/ninja

إعداد Apache لـ Invoice Ninja

قم بإنشاء ملف إعداد apache virtual host لـ Invoice Ninja بالأمر التالي:

nano /etc/apache2/sites-available/ninja.conf

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

<VirtualHost *:80>
    ServerName invoice.example.com
    DocumentRoot /var/www/html/ninja/public
    <Directory /var/www/html/ninja/public>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/invoice-ninja.error.log
    CustomLog ${APACHE_LOG_DIR}/invoice-ninja.access.log combined

    Include /etc/apache2/conf-available/php7.2-fpm.conf
</VirtualHost>

احفظ وأغلق الملف.
قم بتمكين ملف  virtual host بالأمر التالي:

a2ensite ninja.conf

قم بتمكين apache modules المطلوبة باستخدام الأمر التالي:

a2enmod mpm_event proxy_fcgi setenvif
a2enmod rewrite

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

systemctl restart apache2

تحقق من حالة Apache باستخدام الأمر التالي:

systemctl status apache2

سترى النتيجة التالية:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-12-27 07:15:15 UTC; 11s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 25097 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 25113 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??25113 /usr/sbin/apache2 -k start
             ??25114 /usr/sbin/apache2 -k start
             ??25115 /usr/sbin/apache2 -k start

Dec 27 07:15:15 ubuntu systemd[1]: Starting The Apache HTTP Server..

الوصول إلى Invoice Ninja

افتح متصفح الويب الخاص بك وقم بالوصول إلى Invoice Ninja باستخدام عنوان http://invoice.example.com.
ستتم إعادة توجيهك إلى الصفحة التالية:



أدخل عنوان URL لموقع الويب الخاص بك وتفاصيل قاعدة البيانات واسم مستخدم المسؤول وكلمة المرور وانقر فوق Submit.






 ستتم إعادة توجيهك إلى شاشة تسجيل الدخول Invoice Ninja:





أدخل اسم مستخدم المسؤول وكلمة المرور وانقر على زر تسجيل الدخول.
ستشاهد لوحة معلومات Invoice Ninja في الشاشة التالية:



تأمين Invoice Ninja مع Let's Encrypt SSL

من الجيد دائمًا تأمين موقع الويب الخاص بك باستخدام Let's Encrypt SSL. ستحتاج إلى تثبيت Certbot client لتثبيت SSL وإدارته.
يمكنك تثبيته بالأمر التالي:

apt-get install python3-certbot-apache -y

قم بتشغيل الأمر التالي لتأمين موقع الويب الخاص بك باستخدام Let's Encrypt SSL:

certbot --apache -d invoice.example.com

سيُطلب منك تقديم بريدك الإلكتروني وقبول مدة الخدمة:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): hitjethva1981@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for invoice.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/invoice-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/invoice-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/invoice-le-ssl.conf

حدد ما إذا كنت تريد إعادة توجيه حركة مرور HTTP إلى HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

اكتب 2 واضغط على Enter لتثبيت Let's Encrypt SSL لموقع الويب الخاص بك:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/invoice.conf to ssl vhost in /etc/apache2/sites-available/invoice-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://invoice.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=invoice.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/invoice.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/invoice.example.com/privkey.pem
   Your cert will expire on 2020-10-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

الآن ، يمكنك الوصول إلى موقع الويب الخاص بك بأمان باستخدام عنوان URL https://invoice.example.com.
google-playkhamsatmostaqltradent