وب سرور H2O را روی CentOS 7 نصب کنید

H2O یک سرور HTTP نسل جدید است که پیاده سازی عالی و کاملاً برجسته HTTP / 2 را در کلیه سرورهای وب فعلی مورد استفاده خود دارد. با H2O به عنوان سرور وب خود می توانید از ویژگی های جدید مشخصات HTTP / 2 مانند بهینه سازی زمان تاخیر ، فشار دادن سرور و اولویت بندی سمت سرور استفاده کنید که می تواند از ویژگی های مرورگر مدرن که به ندرت در مورد آن صحبت می شود بهره ببرد.

در این آموزش مفصل ، گام به گام به شما نشان خواهم داد که چگونه H2O را در نمونه CentOS 7 x64 خود اجرا کنید.

پیش نیازها

  • به عنوان نمونه سرور CentOS 7 x64.
  • کنید: sudo کاربر.
  • گواهی SSL (اختیاری)

مرحله 1: سیستم را به روز کنید

از طریق SSH با مجوزهای موجود در نمونه خود وارد سیستم شوید و سیستم را به شرح زیر به روز کنید.

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y

مرحله 2: H2O را نصب کنید

به منظور نصب H2O در CentOS 7 ، باید نصب مخزن Bintray RPM را برای نصب باینری های از پیش ساخته H2O اضافه کنید. از ویرایشگر Nano برای ایجاد یک repo سفارشی استفاده کنید.

sudo nano /etc/yum.repos.d/bintray-h2o-rpm.repo

متن زیر را در پرونده 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

مرحله سوم: پیکربندی سرور وب 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 ، Daemon PHP-FPM 5.6 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های 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 خود با تعداد CPU ها مطابقت داشته باشید.

[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با توجه به مثال سرور مجازی خود را.

[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دستور برای تست پی اچ پی.

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 ، Daemon PHP-FPM 5.6 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های 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 خود با تعداد CPU ها مطابقت داشته باشید.

[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با توجه به مثال سرور مجازی خود را.

[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دستور برای تست پی اچ پی.

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

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 = "/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 --reload

Refresh the page in your browser (F5) and you will get the standard PHP info page.


Redirect http://example.com To http://www.example.com (Dynamic Page, PHP-FPM 7.1.x) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Rename the default h2o.conf to h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Create a new h2o.conf file.

sudo nano h2o.conf

Copy and paste the text below into the h2o.conf file.

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

برای پردازش PHP ، Daemon PHP-FPM 7.1 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های 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

متن زیر را در php-fpm.confپرونده کپی و جایگذاری کنید.

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

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 خود با تعداد CPU ها مطابقت داشته باشید.

[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

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با توجه به مثال سرور مجازی خود را.

[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دستور برای تست پی اچ پی.

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

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 into 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/example.com.

sudo cp -var /var/www/html /var/www/example.com

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 this message.


Welcome to H2O - an optimized HTTP server

It works!

Redirect http://example.com, http://www.example.com, and https://example.com to https://www.example.com (Static HTML Pages, No PHP) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Rename the default h2o.conf to h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Create a new h2o.conf file.

sudo nano h2o.conf

Copy and paste the text below into the h2o.conf file.

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

Create a custom directory to store the default SSL options for all websites that use SSL.

sudo mkdir conf.d

Create a new ssl.conf file.

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

اسکریپت bash را برای اولین بار اجرا کنید زیرا 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/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

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

In order to process PHP, the PHP-FPM 5.6 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 5.6.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y

Navigate to the /opt/remi/php56/root/etc/ directory.

cd /opt/remi/php56/root/etc/

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

متن زیر را در 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 خود با تعداد CPU ها مطابقت داشته باشید.

[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با توجه به مثال سرور مجازی خود را.

[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دستور برای تست پی اچ پی.

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 --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

صفحه را در مرورگر خود تازه کنید ( F5) و صفحه استاندارد اطلاعات PHP را دریافت خواهید کرد.


پیکربندی تغییر مسیر http://example.com، http://www.example.comو https://example.comبه https://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: "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

اسکریپت bash را برای اولین بار اجرا کنید زیرا H2O در صورت عدم تولید به درستی شروع می شود. برای تولید اولین بار حدود یک یا دو دقیقه زمان لازم است.

sudo /etc/cron.daily/regenerate_dhparam

برای پردازش PHP ، Daemon PHP-FPM 5.6 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های 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 خود با تعداد CPU ها مطابقت داشته باشید.

[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با توجه به مثال سرور مجازی خود را.

[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دستور برای تست پی اچ پی.

sudo nano /var/www/www.example.com/index.php

متن زیر را در index.phpپرونده جدید کپی و جایگذاری کنید.

<?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.


Redirect http://example.com, http://www.example.com, and https://www.example.com to https://example.com (Dynamic Page, PHP-FPM 7.1.x) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Rename the default h2o.conf to h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Create a new h2o.conf file.

sudo nano h2o.conf

Copy and paste the text below into the h2o.conf file.

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

Create a custom directory to store the default SSL options for all websites that use SSL.

sudo mkdir conf.d

Create a new ssl.conf file.

sudo nano conf.d/ssl.conf

Copy and paste the text below 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

دایرکتوری تهیه کنید تا 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

اسکریپت bash را برای اولین بار اجرا کنید زیرا H2O در صورت عدم تولید به درستی شروع می شود. برای تولید اولین بار حدود یک یا دو دقیقه زمان لازم است.

sudo /etc/cron.daily/regenerate_dhparam

برای پردازش PHP ، Daemon PHP-FPM 7.1 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های 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

متن زیر را در php-fpm.confپرونده کپی و جایگذاری کنید.

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

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 خود با تعداد CPU ها مطابقت داشته باشید.

[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

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با توجه به مثال سرور مجازی خود را.

[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

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.


Redirect http://example.com, http://www.example.com, and https://example.com to https://www.example.com (Dynamic Page, PHP-FPM 7.1.x) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Rename the default h2o.conf to h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Create a new h2o.conf file.

sudo nano h2o.conf

Copy and paste the text below into the h2o.conf file.

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

Create a custom directory to store the default SSL options for all websites that use SSL.

sudo mkdir conf.d

Create a new ssl.conf file.

sudo nano conf.d/ssl.conf

Copy and paste the text below 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

برای پردازش PHP ، Daemon PHP-FPM 7.1 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های 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

متن زیر را در php-fpm.confپرونده کپی و جایگذاری کنید.

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

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 خود با تعداد CPU ها مطابقت داشته باشید.

[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

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با توجه به مثال سرور مجازی خود را.

[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دستور برای تست پی اچ پی.

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 را دریافت خواهید کرد.


این نتیجه گیری آموزش من است. ممنون از خواندن



Leave a Comment

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

تنظیم RethinkDB Cluster On CentOS 7

تنظیم RethinkDB Cluster On CentOS 7

مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است

نحوه نصب نسخه باز Vtiger CRM در CentOS 7

نحوه نصب نسخه باز Vtiger CRM در CentOS 7

Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من

نحوه نصب کاناپه CMS 2.0 بر روی یک VPS CentOS 7 LAMP

نحوه نصب کاناپه CMS 2.0 بر روی یک VPS CentOS 7 LAMP

با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.

نحوه نصب SonarQube در CentOS 7

نحوه نصب SonarQube در CentOS 7

با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند

نصب Netdata در CentOS 7

نصب Netdata در CentOS 7

با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:

نحوه فعال سازی پشتیبانی HTTP / 2 در DirectAdmin (CentOS)

نحوه فعال سازی پشتیبانی HTTP / 2 در DirectAdmin (CentOS)

HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است

نحوه نصب سرور Starbound در CentOS 7

نحوه نصب سرور Starbound در CentOS 7

با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید

یک سرور چند نفره SA-MP San Andreas را در CentOS 6 تنظیم کنید

یک سرور چند نفره SA-MP San Andreas را در CentOS 6 تنظیم کنید

به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما

Elgg را روی CentOS 7 نصب کنید

Elgg را روی CentOS 7 نصب کنید

با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند

نحوه نصب سرور RStudio در CentOS 7

نحوه نصب سرور RStudio در CentOS 7

RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه

نصب Bolt CMS در CentOS 7

نصب Bolt CMS در CentOS 7

Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد

نحوه نصب Elasticsearch در سرور Vultr CentOS 7

نحوه نصب Elasticsearch در سرور Vultr CentOS 7

Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود

راه اندازی Sails.js برای توسعه در CentOS 7

راه اندازی Sails.js برای توسعه در CentOS 7

با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver

پیکربندی BGP با استفاده از Quagga در Vultr (CentOS 7)

پیکربندی BGP با استفاده از Quagga در Vultr (CentOS 7)

Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی

نحوه نصب PufferPanel (کنترل پنل کنکوری رایگان) در CentOS 7

نحوه نصب PufferPanel (کنترل پنل کنکوری رایگان) در CentOS 7

مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است

ابزارهای نظارت بهتر برای اوبونتو و CentOS

ابزارهای نظارت بهتر برای اوبونتو و CentOS

معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند

دستگاه های خود را با استفاده از LibreNMS در CentOS 7 نظارت کنید

دستگاه های خود را با استفاده از LibreNMS در CentOS 7 نظارت کنید

با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع

نحوه نصب Gitea در CentOS 7

نحوه نصب Gitea در CentOS 7

با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد