نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
Invoice Ninja هو تطبيق مجاني ومفتوح المصدر يستند إلى الويب ويمكن استخدامه في تحرير الفواتير والمدفوعات وتتبع الوقت وغير ذلك الكثير. هذا هو الحل الأفضل لإعداد الفواتير والعملاء. يمكنك بسهولة إنشاء وإرسال الفواتير عبر الإنترنت في ثوانٍ. يتيح لك Invoice Ninja إنشاء فواتير مخصصة وعرض فواتير مباشرة كملف PDF.
في هذا البرنامج التعليمي ، سأشرح كيفية تثبيت Invoice Ninja على خادم Ubuntu 16.04.
192.168.0.227
.قبل تثبيت أي حزم على مثيل خادم Ubuntu ، يوصى بتحديث النظام. تسجيل الدخول إلى الخادم الخاص بك عبر SSH كمستخدم sudo الخاص بك وتشغيل الأمر التالي:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
قبل البدء ، ستحتاج إلى تكوين مكدس LEMP (Nginx و MariaDB و PHP) على الخادم الخاص بك.
أولاً ، قم بتثبيت Nginx و MariaDB باستخدام الأمر التالي:
sudo apt-get install nginx mariadb-server -y
بمجرد اكتمال التثبيت ، ابدأ تشغيل خدمات Nginx و MariaDB وتمكينهم من بدء التشغيل:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysql
sudo systemctl enable mysql
بعد ذلك ، ستحتاج إلى PHP 7 و PHP-FPM لتثبيت الفاتورة النينجا.
يمكنك تثبيت PHP-FPM وامتدادات PHP الأخرى المطلوبة بالأمر التالي:
sudo apt-get install php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-curl php7.0-gmp php7.0-mbstring php7.0-mcrypt
بمجرد الانتهاء من التثبيت ، ستحتاج إلى تعديل php.ini
ملف التكوين:
sudo nano /etc/php/7.0/fpm/php.ini
قم بتغيير السطر التالي:
cgi.fix_pathinfo=0
أحفظ وأغلق الملف.
بشكل افتراضي ، لم يتم تأمين تثبيت MariaDB. ستحتاج إلى تأمينه. يمكنك القيام بذلك عن طريق الجري mysql_secure_installation script
.
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
أدخل كلمة مرور الجذر واضغط على "دخول" ، سترى shell MySQL (MariaDB).
إنشاء قاعدة بيانات جديدة ومستخدم جديد لفاتورة النينجا.
MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
تكوين تجمع PHP-FPM لمستخدم Nginx:
sudo nano /etc/php/7.0/fpm/pool.d/www-data.conf
أضف الأسطر التالية:
[www-data]
user = www-data
group = www-data
listen = /var/run/php-fpm-www-data.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s
pm.max_requests = 200
chdir = /
احفظ وأغلق الملف عند الانتهاء ، ثم أعد تشغيل PHP-FPM لتطبيق هذه التغييرات.
systemctl restart php7.0-fpm
يمكنك تنزيل أحدث إصدار ثابت من Invoice Ninja من مستودع GitHub باستخدام الأمر التالي:
cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja
ستحتاج أيضًا إلى تثبيت Composer ، مدير التبعية لـ PHP. يمكنك تثبيته باستخدام الأمر التالي:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
بعد ذلك ، قم بتثبيت كافة تبعيات فاتورة النينجا باستخدام composer
الأمر كما هو موضح أدناه:
cd /var/www/html/ninja
sudo composer install --no-dev -o
بمجرد الانتهاء من التثبيت ، قم بإعادة تسمية .env
الملف وإجراء بعض التغييرات.
sudo mv .env.example .env
sudo nano .env
قم بتغيير الخطوط كما هو موضح أدناه:
DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password
احفظ الملف عند الانتهاء ، ثم قم بتشغيل الأمر التالي لتحضير قاعدة البيانات:
sudo php artisan migrate
ستتم مطالبتك بتشغيل الأمر ، اكتب "نعم" واضغط على "دخول".
بعد ذلك ، قم بتأسيس قاعدة البيانات مع السجلات كما هو موضح أدناه:
sudo php artisan db:seed
اكتب "نعم" واضغط على "دخول".
بعد ذلك ، قم بتغيير ملكية /var/www/html/ninja
الدليل:
sudo chown -R www-data:www-data /var/www/html/ninja/
بعد ذلك ، ستحتاج إلى إنشاء شهادة SSL وإنشاء تكوين مضيف ظاهري جديد لـ Invoice Ninja.
أولاً ، قم بإنشاء دليل لـ SSL:
sudo mkdir -p /etc/nginx/cert/
بعد ذلك ، قم بإنشاء شهادة SSL باستخدام الأمر التالي:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
امنح الأذونات المناسبة لملف الشهادة.
sudo chmod 600 /etc/nginx/cert/*
قم بإنشاء ملف تكوين مضيف ظاهري جديد داخل /etc/nginx/
الدليل.
sudo nano /etc/nginx/conf.d/ninja.conf
أضف الأسطر التالية:
server {
listen 80;
server_name 192.168.0.227;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 default;
server_name 192.168.0.227;
ssl on;
ssl_certificate /etc/nginx/cert/ninja.crt;
ssl_certificate_key /etc/nginx/cert/ninja.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /var/www/html/ninja/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
# Access and Error Log for Invoice Ninja
access_log /var/log/nginx/ininja.access.log;
error_log /var/log/nginx/ininja.error.log;
sendfile off;
# Handle PHP Applications
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm-www-data.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
أحفظ وأغلق الملف. ثم قم بتمكين المضيف الظاهري باستخدام الأمر التالي.
sudo ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
أخيرًا ، أعد تشغيل خادم الويب Nginx.
sudo systemctl restart nginx
قبل الوصول إلى واجهة الويب Invoice Ninja ، ستحتاج إلى السماح بخدمات HTTP و HTTPS من خلال جدار الحماية UFW. قم بتشغيل الأوامر التالية لفتح هذه المنافذ:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
أخيرًا ، افتح متصفح الويب الخاص بك والوصول إلى عنوان URL https://192.168.0.227
. يمكنك بعد ذلك إكمال الخطوات المطلوبة لإنهاء التثبيت.
تهانينا! لقد نجحنا في تثبيت Invoice Ninja مع Nginx و MariaDB على خادم Ubuntu 16.04.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد