نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يوضح هذا البرنامج التعليمي OpenBSD كحل للتجارة الإلكترونية باستخدام PrestaShop و Apache.
مطلوب Apache لأن PrestaShop له متطلبات معقدة لإعادة كتابة عناوين URL غير مدعومة من قبل خادم الويب المدمج لـ OpenBSD ، httpd. يستخدم هذا البرنامج التعليمي الشهادات الموقعة ذاتيا. الرجاء استخدام شهادة تم التحقق منها للإنتاج.
إنشاء مستخدم عادي يُسمح باستخدامه مؤقتًا doas
بدون كلمة مرور. ستتم إزالة هذا الوصول بعد الإعداد.
user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf
أضف مستودع حزمة OpenBSD.
echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
إعادة توجيه الحالة اليومية ورسائل البريد الإلكتروني الأمنية إلى عنوانك.
echo '[email protected]' > /root/.forward
قم بتعيين اسم مضيف الخادم.
echo 'www.example.com' > /etc/myname
hostname www.example.com
قم بإضافة عنوان FQDN وعنوان IP الخاص بخادمك إلى /etc/hosts
.
استبدلها 192.0.2.1
بعنوان IP الخاص بك Vultr.
127.0.0.1 localhost
::1 localhost
192.0.2.1 www.example.com
أضف الحزم المطلوبة لـ PrestaShop و Apache. اختر أحدث الإصدارات عندما يُطلب منك ذلك.
doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip
إنشاء شهادة SSL موقعة ذاتيًا للاختبار. قم بتعيين الاسم الشائع على FQDN لخادمك ، على سبيل المثال www.example.com.
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/example.com.crt -days 3650 -sha256
chmod 0600 /etc/ssl/private/example.com.key
حدد عنوان URL لأحدث إصدار من PrestaShop ، وقم بتنزيله /tmp
واستخراجه إلى /var/www/htdocs/prestashop
.
cd /tmp
wget <https://download.prestashop.com/download/releases/prestashop_1.7.6.4.zip>
unzip prestashop_1.7.6.4.zip -d /var/www/htdocs/prestashop
chown -R www:www /var/www/htdocs/prestashop
قم بتكوين جدار الحماية لحظر كل حركة المرور الواردة باستثناء ssh و www و https .
عمل نسخة احتياطية من /etc/pf.conf
.
cp /etc/pf.conf /etc/pf.conf.bak
تحرير /etc/pf.conf
كما هو موضح.
set skip on lo
block in
pass out
pass in on egress inet proto tcp to port {ssh, www, https} \
flags S/SA keep state
اختبار وتنشيط قواعد جدار الحماية.
doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf
نسخ ملفك /etc/mail/smtpd.conf
احتياطيًا.
cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak
تحرير /etc/mail/smtpd.conf
كما هو موضح أدناه.
ملاحظات: * تعريف الجدول للأسرار يحمل اسم المستخدم وكلمة المرور لترحيل البريد. * يبحث الإجراء الصادر عن اسم المستخدم وكلمة المرور تحت التسمية prestashop
في /etc/mail/secrets
ترحيل البريد الإلكتروني من خلال خادم البريد الإلكتروني الخاص بك.
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local_mail" mbox alias <aliases>
action "outbound" relay host smtp+tls://[email protected]:587 \
tls no-verify auth <secrets>
match from local for local action "local_mail"
match from local for any action "outbound"
خلق /etc/mail/secrets
استبدل عنوان البريد الإلكتروني وكلمة المرور ببيانات الاعتماد التي تستخدمها لخادم بريدك الإلكتروني.
echo "prestashop [email protected]:password" > /etc/mail/secrets
تعيين الأذونات للتأمين /etc/mail/secrets
chmod 0600 /etc/secrets
اختبر ملف التكوين للأخطاء وأعد تشغيل برنامج smtpd.
smtpd -n
rcctl restart smtpd
قم بتكوين عملية PHP-FPM للاستماع على مقبس TCP بدلاً من مقبس مجال UNIX.
قم بإجراء التغيير التالي /etc/php-fpm.conf
للملف.
...
; If using a TCP port, never expose this to a public network.
;listen = /var/www/run/php-fpm.sock
listen = 127.0.0.1:9000
قم بإجراء بعض التغييرات الإضافية على بيئة PHP في /etc/php-7.3.ini
. قد يتغير اسم الملف قليلاً إذا كان الإصدار أحدث من 7.3. هذه التغيرات:
تكوين PHP لإرسال البريد الإلكتروني عبر sendmail.
; Default Value: not set
;chroot = /var/www
...
; Maximum allowed size for uploaded files.
; <http://php.net/upload-max-filesize>
upload_max_filesize = 6M
...
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; <http://php.net/sendmail-path>
;sendmail_path =
sendmail_path = /usr/sbin/sendmail -t -i
...
; Whether to allow the treatment of URLs (like <http://> or <ftp://)> as files.
; <http://php.net/allow-url-fopen>
allow_url_fopen = On
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; <http://php.net/post-max-size>
post_max_size = 12M
قم بتمكين مكونات PHP الإضافية.
cp /etc/php-7.3.sample/* /etc/php-7.3/.
قم بتمكين برنامج PHP-FPM وبدء تشغيله. قد يكون اسم البرنامج الخفي مختلفًا قليلاً إذا كان الإصدار أحدث.
rcctl enable php73_fpm
rcctl start php73_fpm
يوفر MariaDB الواجهة الخلفية لقاعدة البيانات لـ PrestaShop. لأن MariaDB يحتاج إلى ملفات مفتوحة أكثر مما تسمح به الفئة الافتراضية ، قم بإنشاء فصل خاص فيه /etc/login.conf
.
في نهاية الملف ، أضف الأسطر التالية:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
قم بتثبيت MariaDB.
doas su
mysql_install_db
rcctl enable mysqld
rcctl start mysqld
تكوين أمان MariaDB.
mysql_secure_installation
إنشاء قاعدة بيانات PrestaShop. استخدم كلمة مرور قوية.
mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT
دعم /etc/apache2/httpd2.conf
cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak
قم بإجراء التغييرات التالية على /etc/apache2/httpd2.conf
، وذلك #
لتمكين الوحدات النمطية وتعطيلها.
Listen 443
...
LoadModule mpm_event_module /usr/local/lib/apache2/mod_mpm_event.so
#LoadModule mpm_prefork_module /usr/local/lib/apache2/mod_mpm_prefork.so
LoadModule proxy_module /usr/local/lib/apache2/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/lib/apache2/mod_proxy_fcgi.so
LoadModule ssl_module /usr/local/lib/apache2/mod_ssl.so
LoadModule rewrite_module /usr/local/lib/apache2/mod_rewrite.so
...
ServerAdmin [email protected]
ServerName 192.0.2.1:80
/etc/apache2/httpd2.conf
تحدث عدة تغييرات أخرى في الجزء السفلي من الملف. إزالة #
من عبارات التضمين المشار إليها.
أضف خطوط الاستضافة الافتراضية أخيرًا.
# Server-pool management (MPM specific)
Include /etc/apache2/extra/httpd-mpm.conf
...
# Virtual Hosts
IncludeOptional /etc/apache2/sites/*.conf
قم بإنشاء /etc/apache2/sites
الدليل.
mkdir /etc/apache2/sites
إنشاء /etc/apache2/sites/example.conf
بالمعلومات التالية:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
SSLEngine On
SSLCertificateFile "/etc/ssl/example.com.crt"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
SSLCipherSuite HIGH:!aNULL
</VirtualHost>
تكوين وحدة وكيل أباتشي بإضافة ما يلي إلى /etc/apache2/sites/example.conf
<IfModule proxy_module>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>
اختبر التكوين ، ثم قم بتمكين Apache وبدء تشغيله.
apachectl configtest
rcctl enable apache2
rcctl start apache2
تأكد من أن Apache يستمع على المنفذين 80 و 443.
netstat -ln -finet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.443 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.3306 *.* LISTEN
tcp 0 0 127.0.0.1.9000 *.* LISTEN
تصفح إلى موقع الويب الخاص بك في http://www.example.com
. سيتم تشغيل معالج تثبيت PrestaShop.
بمجرد الانتهاء من التثبيت ، دوّن ملاحظة عن واجهة المتجر والروابط الإدارية واحذف الدليل /var/www/htdocs/prestashop/install
.
تمكين SSL.
قم بتغيير كلمة المرور الإدارية.
النسخ الاحتياطي لمتجرك وقاعدة البيانات الخاصة به:
cd /var/www/htdocs
doas tar cvfz /home/auser/prestashop.tar.gz prestashop/
doas mysqldump -u prestashop -p prestashop | gzip -4 > /home/auser/prestashop.sql.tar.gz
doas chown auser:auser /home/auser/prestashop*
إزالة الوصول إلى doas لحساب المستخدم الخاص بك عن طريق إعادة إنشاء doas.conf
الملف.
echo 'permit keepenv :wheel' > /etc/doas.conf
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد