كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
H2O هو خادم HTTP من الجيل الجديد الذي يحتوي على تطبيقات HTTP / 2 رائعة ومميزة بالكامل لجميع خوادم الويب الحالية قيد الاستخدام. باستخدام H2O كخادم الويب الخاص بك ، يمكنك الاستفادة من الميزات الجديدة لمواصفات HTTP / 2 ، مثل تحسين وقت الاستجابة ، ودفع الخادم وتحديد الأولويات من جانب الخادم التي يمكنها الاستفادة من ميزات المتصفح الحديثة التي نادرًا ما يتم الحديث عنها.
في هذا البرنامج التعليمي المفصل ، سأوضح لك خطوة بخطوة كيفية تشغيل H2O على مثيل CentOS 7 x64.
قم بتسجيل الدخول عبر SSH باستخدام بيانات الاعتماد الموجودة تحت المثيل الخاص بك وقم بتحديث النظام على النحو التالي.
sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y
لتثبيت H2O على CentOS 7 ، يجب عليك إضافة مستودع Bintray RPM لتثبيت ثنائيات H2O سابقة الإعداد. استخدم محرر Nano لإنشاء الريبو المخصص.
sudo nano /etc/yum.repos.d/bintray-h2o-rpm.repo
انسخ والصق النص أدناه في ملف الريبو.
[bintray-h2o-rpm]
name=bintray-h2o-rpm
baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1
بعد ذلك ، قم بتثبيت H2O.
sudo yum install h2o -y
الآن بعد أن تم تثبيت H2O ، ولكن قبل تمكين الخدمة وبدء تشغيلها ، يلزم تكوين صحيح ، ونحن بحاجة إلى إنشاء مستخدم ومجموعة محددة لتشغيل H2O. قم بإنشاء مجموعة ومستخدم ليعمل H2O تحت اسمه h2o
.
sudo groupadd -g 101 h2o
sudo useradd -d /etc/h2o -g 101 -M -s /sbin/nologin -u 101 h2o
سوف الخطوات التالية إعطاء أمثلة من الاجهزة التكوين لمختلف unencrypted
، encrypted
، static
و dynamic
الخادم الاجهزة. بالإضافة إلى مزيج من الأربعة.
http://www.example.com
إلى http://example.com
تكوين (صفحات HTML الثابتة ، بدون PHP)انتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/example.com
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://example.com/"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء افتراضي index.html
باستخدام القالب /var/www/html
إلى خيار الدليل file.dir
المذكور أعلاه في /var/www/example.com
.
sudo cp -var /var/www/html /var/www/example.com
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بتنفيذ ما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستصلك هذه الرسالة.
Welcome to H2O - an optimized HTTP server
It works!
http://example.com
إلى http://www.example.com
تكوين (صفحات HTML الثابتة ، بدون PHP)انتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص التالي في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://www.example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/www.example.com
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء index.html
ملف افتراضي باستخدام القالب في /var/www/html
خيار الدليل file.dir
المذكور أعلاه في /var/www/www.example.com
.
sudo cp -var /var/www/html /var/www/www.example.com
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستصلك هذه الرسالة.
Welcome to H2O - an optimized HTTP server
It works!
http://www.example.com
إلى http://example.com
تكوين (صفحة ديناميكية ، PHP-FPM 5.6.x)انتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص التالي في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/example.com
redirect:
internal: YES
status: 307
url: /index.php
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://example.com/"
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
لمعالجة PHP ، يجب تثبيت البرنامج الخفي PHP-FPM 5.6 وتكوينه. لتثبيت إصدار PHP-FPM أحدث من الإصدار الافتراضي 5.4.x ، يجب تثبيت REMI repo الذي يحتوي على إصدارات PHP 5.6.x و 7.0.x و 7.1.x. قم بتثبيت إصدار PHP 5.6.x.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
انتقل إلى /opt/remi/php56/root/etc/
الدليل.
cd /opt/remi/php56/root/etc/
إعادة تسمية الافتراضي php-fpm.conf
ل php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
قم بإنشاء php-fpm.conf
ملف جديد .
sudo nano php-fpm.conf
انسخ والصق النص أدناه في php-fpm.conf
الملف.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
إعادة تسمية www.conf
الملف الافتراضي في php-fpm.d
الدليل.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
قم بإنشاء www.conf
ملف جديد .
sudo nano php-fpm.d/www.conf
انسخ والصق النص أدناه في www.conf
الملف. تغيير الخاص بك pm.max\_children
لتتناسب مع عدد وحدات المعالجة المركزية وفقا لمثيل VPS الخاص بك.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
إعادة تسمية php.ini
الملف الافتراضي .
sudo mv php.ini php.ini.original
قم بإنشاء php.ini
ملف جديد .
sudo nano php.ini
انسخ والصق النص أدناه في الجديد php.ini file
. تغيير memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
فقا المثال VPS الخاص بك.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
قم بتغيير ملكية المجموعة /opt/remi/php56/root/var/lib/php/session/
للدليل من apache
المجموعة إلى h2o
المجموعة.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
قم بإنشاء دليل حيث توجد سجلات خادم PHP-FPM.
sudo mkdir /var/log/php-fpm/
قم بتمكين وبدء خادم PHP-FPM.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء دليل حيث index.php
سيكون الإعداد الافتراضي مدرجًا بواسطة خيار الدليل file.dir
أعلاه /var/www/example.com
.
sudo mkdir /var/www/example.com
قم بإنشاء افتراضي index.php
باستخدام phpinfo
الأمر لاختبار PHP.
sudo nano /var/www/example.com/index.php
انسخ والصق النص أدناه في index.php
الملف الجديد .
<?php
phpinfo();
?>
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستحصل على صفحة معلومات PHP القياسية.
http://example.com
إلى http://www.example.com
تكوين (صفحة ديناميكية ، PHP-FPM 5.6.x)انتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://www.example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/www.example.com
redirect:
internal: YES
status: 307
url: /index.php
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
لمعالجة PHP ، يجب تثبيت البرنامج الخفي PHP-FPM 5.6 وتكوينه. لتثبيت إصدار PHP-FPM أحدث من الإصدار الافتراضي 5.4.x ، يجب تثبيت REMI repo الذي يحتوي على إصدارات PHP 5.6.x و 7.0.x و 7.1.x. اكتب الأوامر التالية لتثبيت الإصدار 5.6.x من PHP.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
انتقل إلى /opt/remi/php56/root/etc/
الدليل.
cd /opt/remi/php56/root/etc/
إعادة تسمية الافتراضي php-fpm.conf
ل php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
قم بإنشاء php-fpm.conf
ملف جديد .
sudo nano php-fpm.conf
انسخ والصق النص أدناه في php-fpm.conf
الملف.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
إعادة تسمية www.conf
الملف الافتراضي في php-fpm.d
الدليل.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
قم بإنشاء www.conf
ملف جديد .
sudo nano php-fpm.d/www.conf
انسخ والصق النص التالي في www.conf
الملف. تغيير الخاص بك pm.max\_children
لتتناسب مع عدد وحدات المعالجة المركزية وفقا لمثيل VPS الخاص بك.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
إعادة تسمية php.ini
الملف الافتراضي .
sudo mv php.ini php.ini.original
قم بإنشاء php.ini
ملف جديد .
sudo nano php.ini
انسخ والصق النص التالي أدناه في الجديد php.ini file
. تغيير memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
فقا المثال VPS الخاص بك.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
قم بتغيير ملكية المجموعة /opt/remi/php56/root/var/lib/php/session/
للدليل من apache
المجموعة إلى h2o
المجموعة.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
قم بإنشاء دليل حيث توجد سجلات خادم PHP-FPM.
sudo mkdir /var/log/php-fpm/
قم بتمكين وبدء خادم PHP-FPM.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء دليل حيث index.php
سيكون الإعداد الافتراضي مدرجًا بواسطة خيار الدليل file.dir
أعلاه /var/www/www.example.com
.
sudo mkdir /var/www/www.example.com
قم بإنشاء افتراضي index.php
باستخدام phpinfo
الأمر لاختبار PHP.
sudo nano /var/www/www.example.com/index.php
انسخ والصق النص أدناه في index.php
الملف الجديد .
<?php
phpinfo();
?>
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستحصل على صفحة معلومات PHP القياسية.
http://www.example.com
إلى http://example.com
تكوين (صفحة ديناميكية ، PHP-FPM 7.1.x)انتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/example.com
redirect:
internal: YES
status: 307
url: /index.php
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://example.com/"
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-7.1.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
In order to process PHP, the PHP-FPM 7.1 daemon must be installed and configured. In order to install a version of PHP-FPM newer than the default 5.4.x, the REMI repo must be installed which contains PHP versions 5.6.x, 7.0.x and 7.1.x. Type the following commands below to install PHP version 7.1.x.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
Navigate to the /etc/opt/remi/php71/
directory.
cd /etc/opt/remi/php71/
Rename the default php-fpm.conf
to php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Create a new php-fpm.conf
file.
sudo nano php-fpm.conf
Copy and paste the following text into the php-fpm.conf
file.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
Rename the default www.conf
file in the php-fpm.d
directory.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Create a new www.conf
file.
sudo nano php-fpm.d/www.conf
Copy and paste the text below into the www.conf
file. Change your pm.max\_children
to match the number of CPUs in accordance with your VPS instance.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
Rename the default php.ini
file.
sudo mv php.ini php.ini.original
Create a new php.ini
file.
sudo nano php.ini
انسخ والصق النص أدناه في الجديد php.ini file
. تغيير memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
فقا المثال VPS الخاص بك.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
قم بتغيير ملكية المجموعة /var/opt/remi/php71/lib/php/session/
للدليل من apache
المجموعة إلى h2o
المجموعة.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
قم بإنشاء دليل حيث توجد سجلات خادم PHP-FPM.
sudo mkdir /var/log/php-fpm/
قم بتمكين وبدء خادم PHP-FPM.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء دليل حيث index.php
سيكون الإعداد الافتراضي مدرجًا بواسطة خيار الدليل file.dir
أعلاه /var/www/example.com
.
sudo mkdir /var/www/example.com
قم بإنشاء افتراضي index.php
باستخدام phpinfo
الأمر لاختبار PHP.
sudo nano /var/www/example.com/index.php
انسخ والصق النص أدناه في index.php
الملف الجديد .
<?php
phpinfo();
?>
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستحصل على صفحة معلومات PHP القياسية.
http://example.com
إلى http://www.example.com
تكوين (صفحة ديناميكية ، PHP-FPM 7.1.x)انتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://www.example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/www.example.com
redirect:
internal: YES
status: 307
url: /index.php
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-7.1.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
In order to process PHP, the PHP-FPM 7.1 daemon must be installed and configured. In order to install a version of PHP-FPM newer than the default 5.4.x, the REMI repo must be installed which contains PHP versions 5.6.x, 7.0.x and 7.1.x. Type the following commands below to install PHP version 7.1.x.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
Navigate to the /etc/opt/remi/php71/
directory.
cd /etc/opt/remi/php71/
Rename the default php-fpm.conf
to php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Create a new php-fpm.conf
file.
sudo nano php-fpm.conf
Copy and paste the text below into the php-fpm.conf
file.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
Rename the default www.conf
file in the php-fpm.d
directory.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Create a new www.conf
file.
sudo nano php-fpm.d/www.conf
Copy and paste the following text into the www.conf
file. Change your pm.max\_children
to match the number of CPUs in accordance with your VPS instance.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
Rename the default php.ini
file.
sudo mv php.ini php.ini.original
Create a new php.ini
file.
sudo nano php.ini
انسخ والصق النص التالي في الجديد php.ini file
. تغيير memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
فقا المثال VPS الخاص بك.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
قم بتغيير ملكية المجموعة /var/opt/remi/php71/lib/php/session/
للدليل من apache
المجموعة إلى h2o
المجموعة.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
قم بإنشاء دليل حيث توجد سجلات خادم PHP-FPM.
sudo mkdir /var/log/php-fpm/
قم بتمكين وبدء خادم PHP-FPM.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء دليل حيث index.php
سيكون الإعداد الافتراضي مدرجًا بواسطة خيار الدليل file.dir
أعلاه /var/www/example.com
.
sudo mkdir /var/www/www.example.com
قم بإنشاء افتراضي index.php
باستخدام phpinfo
الأمر لاختبار PHP.
sudo nano /var/www/www.example.com/index.php
انسخ والصق النص أدناه في index.php
الملف الجديد .
<?php
phpinfo();
?>
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستحصل على صفحة معلومات PHP القياسية.
http://example.com
، http://www.example.com
و https://www.example.com
إلى https://example.com
(ثابت صفحات HTML، لا PHP) تكوينانتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://example.com/"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بإنشاء دليل مخصص لتخزين خيارات SSL الافتراضية لجميع مواقع الويب التي تستخدم SSL.
sudo mkdir conf.d
قم بإنشاء ssl.conf
ملف جديد .
sudo nano conf.d/ssl.conf
انسخ والصق النص التالي في ssl.conf
الملف.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
قم بعمل دليل لتخزين dhparam_2048.pem
الملف الذي سيتم تجديده يوميًا عبر cronjob.
sudo mkdir /etc/ssl/h2o/
قم بإنشاء regenerate_dhparam
ملف جديد .
sudo nano /etc/cron.daily/regenerate_dhparam
انسخ والصق النص التالي في regenerate_dhparam
الملف.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
جعل ملف bash الذي تم إنشاؤه للتو قابل للتنفيذ.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
قم بتنفيذ سكربت باش لأول مرة حيث لن يبدأ H2O بشكل صحيح إذا لم يتم إنشاؤه. سيستغرق ذلك حوالي دقيقة أو دقيقتين ليتم إنشاؤه عند التشغيل لأول مرة.
sudo /etc/cron.daily/regenerate_dhparam
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء افتراضي index.html
باستخدام القالب /var/www/html
إلى خيار الدليل file.dir
المذكور أعلاه في /var/www/example.com
.
sudo cp -var /var/www/html /var/www/example.com
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستصلك هذه الرسالة.
Welcome to H2O - an optimized HTTP server
It works!
http://example.com
، http://www.example.com
و https://example.com
إلى https://www.example.com
(ثابت صفحات HTML، لا PHP) تكوينانتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://www.example.com/"
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/www.example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بإنشاء دليل مخصص لتخزين خيارات SSL الافتراضية لجميع مواقع الويب التي تستخدم SSL.
sudo mkdir conf.d
قم بإنشاء ssl.conf
ملف جديد .
sudo nano conf.d/ssl.conf
Copy and paste the following text into the ssl.conf
file.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
Make a directory to store the dhparam_2048.pem
file that will be regenerated daily via a cronjob.
sudo mkdir /etc/ssl/h2o/
Create a new regenerate_dhparam
file.
sudo nano /etc/cron.daily/regenerate_dhparam
Copy and paste the following text inside of the regenerate_dhparam
file.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
Make the bash file just created executable.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
Execute the bash script for a first run as H2O won't start properly if it's not generated. This will take about a minute or two to generate on first run.
sudo /etc/cron.daily/regenerate_dhparam
Enable and start the H2O server.
sudo systemctl enable h2o
sudo systemctl start h2o
Create a default index.html
using the template in /var/www/html
to the directory option file.dir
listed above in /var/www/www.example.com
.
sudo cp -var /var/www/html /var/www/www.example.com
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستصلك هذه الرسالة.
Welcome to H2O - an optimized HTTP server
It works!
http://example.com
، http://www.example.com
و https://www.example.com
إلى https://example.com
(الحيوي الصفحة، PHP-FPM 5.6.x) تكوينانتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
internal: YES
status: 307
url: /index.php
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://example.com/"
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بإنشاء دليل مخصص لتخزين خيارات SSL الافتراضية لجميع مواقع الويب التي تستخدم SSL.
sudo mkdir conf.d
قم بإنشاء ssl.conf
ملف جديد .
sudo nano conf.d/ssl.conf
انسخ والصق النص أدناه في ssl.conf
الملف.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
قم بعمل دليل لتخزين dhparam_2048.pem
الملف الذي سيتم تجديده يوميًا عبر cronjob.
sudo mkdir /etc/ssl/h2o/
قم بإنشاء regenerate_dhparam
ملف جديد .
sudo nano /etc/cron.daily/regenerate_dhparam
انسخ والصق النص التالي داخل regenerate_dhparam
الملف.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
جعل ملف bash الذي تم إنشاؤه للتو قابل للتنفيذ.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
قم بتنفيذ سكربت باش لأول مرة حيث لن يبدأ H2O بشكل صحيح إذا لم يتم إنشاؤه. سيستغرق ذلك حوالي دقيقة أو دقيقتين ليتم إنشاؤه عند التشغيل لأول مرة.
sudo /etc/cron.daily/regenerate_dhparam
لمعالجة PHP ، يجب تثبيت البرنامج الخفي PHP-FPM 5.6 وتكوينه. لتثبيت إصدار PHP-FPM أحدث من الإصدار الافتراضي 5.4.x ، يجب تثبيت REMI repo الذي يحتوي على إصدارات PHP 5.6.x و 7.0.x و 7.1.x. اكتب الأوامر التالية لتثبيت الإصدار 5.6.x من PHP.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
انتقل إلى /opt/remi/php56/root/etc/
الدليل.
cd /opt/remi/php56/root/etc/
إعادة تسمية الافتراضي php-fpm.conf
ل php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
قم بإنشاء php-fpm.conf
ملف جديد .
sudo nano php-fpm.conf
Copy and paste the following text into the php-fpm.conf
file.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
Rename the default www.conf
file in the php-fpm.d
directory.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Create a new www.conf
file.
sudo nano php-fpm.d/www.conf
Copy and paste the text below into the www.conf
file. Change your pm.max\_children
to match the number of CPUs in accordance with your VPS instance.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
Rename the default php.ini
file.
sudo mv php.ini php.ini.original
Create a new php.ini
file.
sudo nano php.ini
Copy and paste the text below into the new php.ini file
. Change the memory\_limit
, post\_max\_size
, upload\_max\_filesize
and date.timezone
in accordance with your VPS instance.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
Change the group ownership for the /opt/remi/php56/root/var/lib/php/session/
directory from the apache
group to the h2o
group.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
Create a directory where the PHP-FPM server logs will reside.
sudo mkdir /var/log/php-fpm/
Enable and start the PHP-FPM server.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
Enable and start the H2O server.
sudo systemctl enable h2o
sudo systemctl start h2o
Create a directory where the default index.php
will reside listed by the directory option file.dir
above in /var/www/example.com
.
sudo mkdir /var/www/example.com
Create a default index.php
using the phpinfo
command to test PHP.
sudo nano /var/www/example.com/index.php
Copy and paste the text below in the new index.php
file.
<?php
phpinfo();
?>
Now, open your browser and enter the server domain name (example.com
or www.example.com
) for your instance. Are you getting an Unable to connect
or a This site can’t be reached
message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Refresh the page in your browser (F5
) and you will get the standard PHP info page.
http://example.com
, http://www.example.com
, and https://example.com
to https://www.example.com
(Dynamic Page, PHP-FPM 5.6.x) ConfigurationNavigate to the /etc/h2o/
directory.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://www.example.com/"
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/www.example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
internal: YES
status: 307
url: /index.php
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بإنشاء دليل مخصص لتخزين خيارات SSL الافتراضية لجميع مواقع الويب التي تستخدم SSL.
sudo mkdir conf.d
قم بإنشاء ssl.conf
ملف جديد .
sudo nano conf.d/ssl.conf
انسخ والصق النص أدناه في ssl.conf
الملف.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
قم بعمل دليل لتخزين dhparam_2048.pem
الملف الذي سيتم تجديده يوميًا عبر cronjob.
sudo mkdir /etc/ssl/h2o/
قم بإنشاء regenerate_dhparam
ملف جديد .
sudo nano /etc/cron.daily/regenerate_dhparam
انسخ والصق النص التالي داخل regenerate_dhparam
الملف.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
جعل ملف bash الذي تم إنشاؤه للتو قابل للتنفيذ.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
قم بتنفيذ سكربت باش لأول مرة حيث لن يبدأ H2O بشكل صحيح إذا لم يتم إنشاؤه. سيستغرق ذلك حوالي دقيقة أو دقيقتين ليتم إنشاؤه عند التشغيل لأول مرة.
sudo /etc/cron.daily/regenerate_dhparam
لمعالجة PHP ، يجب تثبيت البرنامج الخفي PHP-FPM 5.6 وتكوينه. لتثبيت إصدار PHP-FPM أحدث من الإصدار الافتراضي 5.4.x ، يجب تثبيت REMI repo الذي يحتوي على إصدارات PHP 5.6.x و 7.0.x و 7.1.x. اكتب الأوامر التالية لتثبيت الإصدار 5.6.x من PHP.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
انتقل إلى /opt/remi/php56/root/etc/
الدليل.
cd /opt/remi/php56/root/etc/
إعادة تسمية الافتراضي php-fpm.conf
ل php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
قم بإنشاء php-fpm.conf
ملف جديد .
sudo nano php-fpm.conf
انسخ والصق النص أدناه في php-fpm.conf
الملف.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
إعادة تسمية www.conf
الملف الافتراضي في php-fpm.d
الدليل.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
قم بإنشاء www.conf
ملف جديد .
sudo nano php-fpm.d/www.conf
انسخ والصق النص أدناه في www.conf
الملف. تغيير الخاص بك pm.max\_children
لتتناسب مع عدد وحدات المعالجة المركزية وفقا لمثيل VPS الخاص بك.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
إعادة تسمية php.ini
الملف الافتراضي .
sudo mv php.ini php.ini.original
قم بإنشاء php.ini
ملف جديد .
sudo nano php.ini
انسخ والصق النص التالي في الجديد php.ini file
. تغيير memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
فقا المثال VPS الخاص بك.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
قم بتغيير ملكية المجموعة /opt/remi/php56/root/var/lib/php/session/
للدليل من apache
المجموعة إلى h2o
المجموعة.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
قم بإنشاء دليل حيث توجد سجلات خادم PHP-FPM.
sudo mkdir /var/log/php-fpm/
قم بتمكين وبدء خادم PHP-FPM.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء دليل حيث index.php
سيكون الإعداد الافتراضي مدرجًا بواسطة خيار الدليل file.dir
أعلاه /var/www/www.example.com
.
sudo mkdir /var/www/www.example.com
قم بإنشاء افتراضي index.php
باستخدام phpinfo
الأمر لاختبار PHP.
sudo nano /var/www/www.example.com/index.php
انسخ والصق النص أدناه في index.php
الملف الجديد .
<?php
phpinfo();
?>
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com or www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستحصل على صفحة معلومات PHP القياسية.
http://example.com
، http://www.example.com
و https://www.example.com
إلى https://example.com
(الحيوي الصفحة، PHP-FPM 7.1.x) تكوينانتقل إلى /etc/h2o/
الدليل.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
internal: YES
status: 307
url: /index.php
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://example.com/"
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-7.1.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بإنشاء دليل مخصص لتخزين خيارات SSL الافتراضية لجميع مواقع الويب التي تستخدم SSL.
sudo mkdir conf.d
قم بإنشاء ssl.conf
ملف جديد .
sudo nano conf.d/ssl.conf
انسخ والصق النص أدناه في ssl.conf
الملف.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
قم بعمل دليل لتخزين dhparam_2048.pem
الملف الذي سيتم تجديده يوميًا عبر cronjob.
sudo mkdir /etc/ssl/h2o/
قم بإنشاء regenerate_dhparam
ملف جديد .
sudo nano /etc/cron.daily/regenerate_dhparam
انسخ والصق النص التالي داخل regenerate_dhparam
الملف.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
جعل ملف bash الذي تم إنشاؤه للتو قابل للتنفيذ.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
قم بتنفيذ سكربت باش لأول مرة حيث لن يبدأ H2O بشكل صحيح إذا لم يتم إنشاؤه. سيستغرق ذلك حوالي دقيقة أو دقيقتين ليتم إنشاؤه عند التشغيل لأول مرة.
sudo /etc/cron.daily/regenerate_dhparam
لمعالجة PHP ، يجب تثبيت البرنامج الخفي 7.1 PHP-FPM وتكوينه. لتثبيت إصدار PHP-FPM أحدث من الإصدار الافتراضي 5.4.x ، يجب تثبيت REMI repo الذي يحتوي على إصدارات PHP 5.6.x و 7.0.x و 7.1.x. اكتب الأوامر التالية أدناه لتثبيت PHP الإصدار 7.1.x.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
انتقل إلى /etc/opt/remi/php71/
الدليل.
cd /etc/opt/remi/php71/
إعادة تسمية الافتراضي php-fpm.conf
ل php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
قم بإنشاء php-fpm.conf
ملف جديد .
sudo nano php-fpm.conf
Copy and paste the text below into the php-fpm.conf
file.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
Rename the default www.conf
file in the php-fpm.d
directory.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Create a new www.conf
file.
sudo nano php-fpm.d/www.conf
Copy and paste the following text into the www.conf
file. Change your pm.max\_children
to match the number of CPUs in accordance with your VPS instance.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
Rename the default php.ini
file.
sudo mv php.ini php.ini.original
Create a new php.ini
file.
sudo nano php.ini
Copy and paste the following text below into the new php.ini file
. Change the memory\_limit
, post\_max\_size
, upload\_max\_filesize
and date.timezone
in accordance with your VPS instance.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
Change the group ownership for the /var/opt/remi/php71/lib/php/session/
directory from the apache
group to the h2o
group.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
Create a directory where the PHP-FPM server logs will reside.
sudo mkdir /var/log/php-fpm/
Enable and start the PHP-FPM server.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
Enable and start the H2O server.
sudo systemctl enable h2o
sudo systemctl start h2o
Create a directory where the default index.php
will reside listed by the directory option file.dir
above in /var/www/example.com
.
sudo mkdir /var/www/example.com
Create a default index.php
using the phpinfo
command to test PHP.
sudo nano /var/www/example.com/index.php
Copy and paste the text below in the new index.php
file.
<?php
phpinfo();
?>
Now, open your browser and enter the server domain name (example.com
or www.example.com
) for your instance. Are you getting an Unable to connect
or a This site can’t be reached
message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Refresh the page in your browser (F5
) and you will get the standard PHP info page.
http://example.com
, http://www.example.com
, and https://example.com
to https://www.example.com
(Dynamic Page, PHP-FPM 7.1.x) ConfigurationNavigate to the /etc/h2o/
directory.
cd /etc/h2o/
إعادة تسمية الافتراضي h2o.conf
ل h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
قم بإنشاء h2o.conf
ملف جديد .
sudo nano h2o.conf
انسخ والصق النص أدناه في h2o.conf
الملف.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://www.example.com/"
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/www.example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
internal: YES
status: 307
url: /index.php
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-7.1.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
قم بإنشاء دليل مخصص لتخزين خيارات SSL الافتراضية لجميع مواقع الويب التي تستخدم SSL.
sudo mkdir conf.d
قم بإنشاء ssl.conf
ملف جديد .
sudo nano conf.d/ssl.conf
انسخ والصق النص أدناه في ssl.conf
الملف.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
قم بعمل دليل لتخزين dhparam_2048.pem
الملف الذي سيتم تجديده يوميًا عبر cronjob.
sudo mkdir /etc/ssl/h2o/
قم بإنشاء regenerate_dhparam
ملف جديد .
sudo nano /etc/cron.daily/regenerate_dhparam
انسخ والصق النص التالي داخل regenerate_dhparam
الملف.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
جعل ملف bash الذي تم إنشاؤه للتو قابل للتنفيذ.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
قم بتنفيذ سكربت باش لأول مرة حيث لن يبدأ H2O بشكل صحيح إذا لم يتم إنشاؤه. سيستغرق ذلك حوالي دقيقة أو دقيقتين ليتم إنشاؤه عند التشغيل لأول مرة.
sudo /etc/cron.daily/regenerate_dhparam
In order to process PHP, the PHP-FPM 7.1 daemon must be installed and configured. In order to install a version of PHP-FPM newer than the default 5.4.x, the REMI repo must be installed which contains PHP versions 5.6.x, 7.0.x and 7.1.x. Type the following commands to install PHP version 7.1.x.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
Navigate to the /etc/opt/remi/php71/
directory.
cd /etc/opt/remi/php71/
Rename the default php-fpm.conf
to php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Create a new php-fpm.conf
file.
sudo nano php-fpm.conf
Copy and paste the following text into the php-fpm.conf
file.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
Rename the default www.conf
file in the php-fpm.d
directory.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Create a new www.conf
file.
sudo nano php-fpm.d/www.conf
Copy and paste the text below into the www.conf
file. Change your pm.max\_children
to match the number of CPUs in accordance with your VPS instance.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
Rename the default php.ini
file.
sudo mv php.ini php.ini.original
Create a new php.ini
file.
sudo nano php.ini
انسخ والصق النص التالي أدناه في الجديد php.ini file
. تغيير memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
فقا المثال VPS الخاص بك.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
قم بتغيير ملكية المجموعة /var/opt/remi/php71/lib/php/session/
للدليل من apache
المجموعة إلى h2o
المجموعة.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
قم بإنشاء دليل حيث توجد سجلات خادم PHP-FPM.
sudo mkdir /var/log/php-fpm/
قم بتمكين وبدء خادم PHP-FPM.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
قم بتمكين خادم H2O وبدء تشغيله.
sudo systemctl enable h2o
sudo systemctl start h2o
قم بإنشاء دليل حيث index.php
سيكون الإعداد الافتراضي مدرجًا بواسطة خيار الدليل file.dir
أعلاه /var/www/example.com
.
sudo mkdir /var/www/www.example.com
قم بإنشاء افتراضي index.php
باستخدام phpinfo
الأمر لاختبار PHP.
sudo nano /var/www/www.example.com/index.php
انسخ والصق النص أدناه في index.php
الملف الجديد .
<?php
phpinfo();
?>
الآن ، افتح المستعرض الخاص بك وأدخل اسم مجال الخادم ( example.com
أو www.example.com
) لمثيلك. هل تحصل على رسالة Unable to connect
أو This site can’t be reached
؟ لا يمنع إعداد جدار الحماية الافتراضي الخاص بـ CentOS الاتصالات الواردة إلى منفذ http. قم بما يلي لفتحه.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
قم بتحديث الصفحة في متصفحك ( F5
) وستحصل على صفحة معلومات PHP القياسية.
بهذا ينتهي تعليمي. شكرا للقراءة.
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة
RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت
Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB
استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة
استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th
استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:
DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي
استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك
Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب
Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد
مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها
Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،
استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي
استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver
استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد