Installa H2O Web Server su CentOS 7

H2O è un server HTTP di nuova generazione che ha implementazioni HTTP / 2 complete e complete di tutti gli attuali server Web in uso. Con H2O come server Web, puoi sfruttare le nuove funzionalità della specifica HTTP / 2, come l'ottimizzazione della latenza, il push del server e la prioritizzazione sul lato server che possono sfruttare le moderne funzionalità del browser di cui raramente si parla.

In questo tutorial dettagliato, ti mostrerò passo dopo passo come far funzionare H2O sulla tua istanza di CentOS 7 x64.

Prerequisiti

  • Un'istanza del server CentOS 7 x64.
  • Un utente sudo .
  • Un certificato SSL (opzionale)

Passaggio 1: aggiornare il sistema

Accedi tramite SSH con le credenziali trovate nella tua istanza e aggiorna il sistema come segue.

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

Passaggio 2: installare H2O

Per installare H2O su CentOS 7, è necessario aggiungere il repository RPM di Bintray per installare i binari H2O predefiniti. Utilizzare l'editor Nano per creare un repository personalizzato.

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

Copia e incolla il testo seguente nel file repository.

[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

Quindi, installare H2O.

sudo yum install h2o -y

Ora che H2O è installato, ma prima di abilitare e avviare il servizio, è necessaria una configurazione corretta e dobbiamo creare un utente e un gruppo specifici per l'esecuzione di H2O. Creare un gruppo e un utente affinché H2O venga eseguito con nome h2o.

sudo groupadd -g 101 h2o
sudo useradd -d /etc/h2o -g 101 -M -s /sbin/nologin -u 101 h2o

Passaggio 3: configurazione del server Web H2O

I passaggi seguenti daranno esempi di configurazioni di configurazione per i vari unencrypted, encrypted, statice dynamicdel server messe a punto; così come una combinazione di tutti e quattro.


Reindirizza http://www.example.comalla http://example.comconfigurazione (Pagine HTML statiche, No PHP)

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare un valore predefinito index.htmlutilizzando il modello /var/www/htmlnell'opzione di directory file.direlencata sopra in /var/www/example.com.

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

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Eseguire quanto segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai questo messaggio.


Welcome to H2O - an optimized HTTP server

It works!

Reindirizza http://example.comalla http://www.example.comconfigurazione (Pagine HTML statiche, No PHP)

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il seguente testo nel h2o.conffile.

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

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Crea un index.htmlfile predefinito usando il modello /var/www/htmlnell'opzione di directory file.dirsopra elencata in /var/www/www.example.com.

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

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai questo messaggio.


Welcome to H2O - an optimized HTTP server

It works!

Reindirizzamento http://www.example.coma http://example.com(Pagina dinamica, PHP-FPM 5.6.x) Configurazione

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il seguente testo nel h2o.conffile.

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

Per elaborare PHP, il demone PHP-FPM 5.6 deve essere installato e configurato. Per installare una versione di PHP-FPM più recente della 5.4.x predefinita, è necessario installare il repository REMI che contiene le versioni PHP 5.6.x, 7.0.xe 7.1.x. Installa PHP versione 5.6.x.

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

Passare alla /opt/remi/php56/root/etc/directory.

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

Rinomina il valore predefinito php-fpm.confin php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Crea un nuovo php-fpm.conffile.

sudo nano php-fpm.conf

Copia e incolla il testo seguente nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il testo seguente nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza 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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il testo qui sotto nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /opt/remi/php56/root/var/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/example.com.

sudo mkdir /var/www/example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?php
phpinfo();
?>

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai la pagina standard di informazioni PHP.


Reindirizzamento http://example.coma http://www.example.com(Pagina dinamica, PHP-FPM 5.6.x) Configurazione

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Per elaborare PHP, il demone PHP-FPM 5.6 deve essere installato e configurato. Per installare una versione di PHP-FPM più recente della 5.4.x predefinita, è necessario installare il repository REMI che contiene le versioni PHP 5.6.x, 7.0.xe 7.1.x. Digita i seguenti comandi per installare PHP versione 5.6.x.

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

Passare alla /opt/remi/php56/root/etc/directory.

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

Rinomina il valore predefinito php-fpm.confin php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Crea un nuovo php-fpm.conffile.

sudo nano php-fpm.conf

Copia e incolla il testo seguente nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il seguente testo nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza 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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il seguente testo sotto nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /opt/remi/php56/root/var/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/www.example.com.

sudo mkdir /var/www/www.example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?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://www.example.com To http://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:
      "/":
        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

Per elaborare PHP, il demone PHP-FPM 7.1 deve essere installato e configurato. Per installare una versione di PHP-FPM più recente della 5.4.x predefinita, è necessario installare il repository REMI che contiene le versioni PHP 5.6.x, 7.0.xe 7.1.x. Digita i seguenti comandi per installare PHP versione 7.1.x.

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

Passare alla /etc/opt/remi/php71/directory.

cd /etc/opt/remi/php71/

Rinomina il valore predefinito php-fpm.confin php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Crea un nuovo php-fpm.conffile.

sudo nano php-fpm.conf

Copia e incolla il seguente testo nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il testo seguente nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza VPS.

[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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il testo qui sotto nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /var/opt/remi/php71/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/example.com.

sudo mkdir /var/www/example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?php
phpinfo();
?>

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai la pagina standard di informazioni PHP.


Reindirizzamento http://example.coma http://www.example.com(Pagina dinamica, PHP-FPM 7.1.x) Configurazione

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Per elaborare PHP, il demone PHP-FPM 7.1 deve essere installato e configurato. Per installare una versione di PHP-FPM più recente della 5.4.x predefinita, è necessario installare il repository REMI che contiene le versioni PHP 5.6.x, 7.0.xe 7.1.x. Digita i seguenti comandi per installare PHP versione 7.1.x.

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

Passare alla /etc/opt/remi/php71/directory.

cd /etc/opt/remi/php71/

Rinomina il valore predefinito php-fpm.confin php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Crea un nuovo php-fpm.conffile.

sudo nano php-fpm.conf

Copia e incolla il testo seguente nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il seguente testo nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza VPS.

[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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il seguente testo nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /var/opt/remi/php71/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/example.com.

sudo mkdir /var/www/www.example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?php
phpinfo();
?>

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai la pagina standard di informazioni PHP.


Reindirizzare http://example.com, http://www.example.come https://www.example.comverso https://example.com(Pagine HTML statiche, nessuna PHP)

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Creare una directory personalizzata per archiviare le opzioni SSL predefinite per tutti i siti Web che utilizzano SSL.

sudo mkdir conf.d

Crea un nuovo ssl.conffile.

sudo nano conf.d/ssl.conf

Copia e incolla il seguente testo nel ssl.conffile.

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

Crea una directory per archiviare il dhparam_2048.pemfile che verrà rigenerato quotidianamente tramite un cronjob.

sudo mkdir /etc/ssl/h2o/

Crea un nuovo regenerate_dhparamfile.

sudo nano /etc/cron.daily/regenerate_dhparam

Copia e incolla il seguente testo nel regenerate_dhparamfile.

#!/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

Rendi eseguibile il file bash appena creato.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Esegui lo script bash per una prima esecuzione poiché H2O non si avvierà correttamente se non viene generato. Questo richiederà circa un minuto o due per generare al primo avvio.

sudo /etc/cron.daily/regenerate_dhparam

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare un valore predefinito index.htmlutilizzando il modello /var/www/htmlnell'opzione di directory file.direlencata sopra in /var/www/example.com.

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

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai questo messaggio.


Welcome to H2O - an optimized HTTP server

It works!

Reindirizzare http://example.com, http://www.example.come https://example.comverso https://www.example.com(Pagine HTML statiche, nessuna PHP)

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Creare una directory personalizzata per archiviare le opzioni SSL predefinite per tutti i siti Web che utilizzano SSL.

sudo mkdir conf.d

Crea un nuovo ssl.conffile.

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

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://www.example.com to https://example.com (Dynamic Page, PHP-FPM 5.6.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-5.6.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

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

Copia e incolla il seguente testo nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il testo seguente nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza 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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il testo qui sotto nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /opt/remi/php56/root/var/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/example.com.

sudo mkdir /var/www/example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?php
phpinfo();
?>

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai la pagina standard di informazioni PHP.


Reindirizzare http://example.com, http://www.example.come https://example.comsu https://www.example.com(Pagina dinamica, PHP-FPM 5.6.x) Configurazione

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Creare una directory personalizzata per archiviare le opzioni SSL predefinite per tutti i siti Web che utilizzano SSL.

sudo mkdir conf.d

Crea un nuovo ssl.conffile.

sudo nano conf.d/ssl.conf

Copia e incolla il testo seguente nel ssl.conffile.

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

Crea una directory per archiviare il dhparam_2048.pemfile che verrà rigenerato quotidianamente tramite un cronjob.

sudo mkdir /etc/ssl/h2o/

Crea un nuovo regenerate_dhparamfile.

sudo nano /etc/cron.daily/regenerate_dhparam

Copia e incolla il seguente testo all'interno del regenerate_dhparamfile.

#!/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

Rendi eseguibile il file bash appena creato.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Esegui lo script bash per una prima esecuzione poiché H2O non si avvierà correttamente se non viene generato. Questo richiederà circa un minuto o due per generare al primo avvio.

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

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

Copia e incolla il seguente testo nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /opt/remi/php56/root/var/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/www.example.com.

sudo mkdir /var/www/www.example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?php
phpinfo();
?>

Ora apri il browser e inserisci il nome di dominio del server ( example.com or www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai la pagina standard di informazioni PHP.


Reindirizzare http://example.com, http://www.example.come https://www.example.comsu https://example.com(Pagina dinamica, PHP-FPM 7.1.x) Configurazione

Passare alla /etc/h2o/directory.

cd /etc/h2o/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Creare una directory personalizzata per archiviare le opzioni SSL predefinite per tutti i siti Web che utilizzano SSL.

sudo mkdir conf.d

Crea un nuovo ssl.conffile.

sudo nano conf.d/ssl.conf

Copia e incolla il testo seguente nel ssl.conffile.

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

Crea una directory per archiviare il dhparam_2048.pemfile che verrà rigenerato quotidianamente tramite un cronjob.

sudo mkdir /etc/ssl/h2o/

Crea un nuovo regenerate_dhparamfile.

sudo nano /etc/cron.daily/regenerate_dhparam

Copia e incolla il seguente testo all'interno del regenerate_dhparamfile.

#!/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

Rendi eseguibile il file bash appena creato.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Esegui lo script bash per una prima esecuzione poiché H2O non si avvierà correttamente se non viene generato. Questo richiederà circa un minuto o due per generare al primo avvio.

sudo /etc/cron.daily/regenerate_dhparam

Per elaborare PHP, il demone PHP-FPM 7.1 deve essere installato e configurato. Per installare una versione di PHP-FPM più recente della 5.4.x predefinita, è necessario installare il repository REMI che contiene le versioni PHP 5.6.x, 7.0.xe 7.1.x. Digita i seguenti comandi per installare PHP versione 7.1.x.

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

Passare alla /etc/opt/remi/php71/directory.

cd /etc/opt/remi/php71/

Rinomina il valore predefinito php-fpm.confin php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Crea un nuovo php-fpm.conffile.

sudo nano php-fpm.conf

Copia e incolla il testo seguente nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il seguente testo nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza VPS.

[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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il seguente testo sotto nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /var/opt/remi/php71/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Abilitare e avviare il server 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/

Rinomina il valore predefinito h2o.confin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Crea un nuovo h2o.conffile.

sudo nano h2o.conf

Copia e incolla il testo seguente nel h2o.conffile.

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

Creare una directory personalizzata per archiviare le opzioni SSL predefinite per tutti i siti Web che utilizzano SSL.

sudo mkdir conf.d

Crea un nuovo ssl.conffile.

sudo nano conf.d/ssl.conf

Copia e incolla il testo seguente nel ssl.conffile.

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

Crea una directory per archiviare il dhparam_2048.pemfile che verrà rigenerato quotidianamente tramite un cronjob.

sudo mkdir /etc/ssl/h2o/

Crea un nuovo regenerate_dhparamfile.

sudo nano /etc/cron.daily/regenerate_dhparam

Copia e incolla il seguente testo all'interno del regenerate_dhparamfile.

#!/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

Rendi eseguibile il file bash appena creato.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Esegui lo script bash per una prima esecuzione poiché H2O non si avvierà correttamente se non viene generato. Questo richiederà circa un minuto o due per generare al primo avvio.

sudo /etc/cron.daily/regenerate_dhparam

Per elaborare PHP, il demone PHP-FPM 7.1 deve essere installato e configurato. Per installare una versione di PHP-FPM più recente della 5.4.x predefinita, è necessario installare il repository REMI che contiene le versioni PHP 5.6.x, 7.0.xe 7.1.x. Digita i seguenti comandi per installare PHP versione 7.1.x.

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

Passare alla /etc/opt/remi/php71/directory.

cd /etc/opt/remi/php71/

Rinomina il valore predefinito php-fpm.confin php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Crea un nuovo php-fpm.conffile.

sudo nano php-fpm.conf

Copia e incolla il seguente testo nel php-fpm.conffile.

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

Rinomina il www.conffile predefinito nella php-fpm.ddirectory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Crea un nuovo www.conffile.

sudo nano php-fpm.d/www.conf

Copia e incolla il testo seguente nel www.conffile. Modifica il tuo pm.max\_childrenin modo che corrisponda al numero di CPU in base all'istanza VPS.

[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

Rinomina il php.inifile predefinito .

sudo mv php.ini php.ini.original

Crea un nuovo php.inifile.

sudo nano php.ini

Copia e incolla il seguente testo sotto nel nuovo php.ini file. Modificare il memory\_limit, post\_max\_size, upload\_max\_filesizee date.timezonein accordo con l'istanza 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"

Modificare la proprietà del gruppo per la /var/opt/remi/php71/lib/php/session/directory dal apachegruppo al h2ogruppo.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Creare una directory in cui risiederanno i log del server PHP-FPM.

sudo mkdir /var/log/php-fpm/

Abilita e avvia il server PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Abilitare e avviare il server H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creare una directory in cui index.phprisiederà l'impostazione predefinita elencata dall'opzione di directory file.dirsopra in /var/www/example.com.

sudo mkdir /var/www/www.example.com

Crea un valore predefinito index.phpusando il phpinfocomando per testare PHP.

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

Copia e incolla il testo seguente nel nuovo index.phpfile.

<?php
phpinfo();
?>

Ora, apri il tuo browser e inserisci il nome di dominio del server ( example.como www.example.com) per la tua istanza. Stai ricevendo un Unable to connecto un This site can’t be reachedmessaggio? L'impostazione del firewall predefinita di CentOS non consente le connessioni in entrata alla porta http. Procedi come segue per aprirlo.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Aggiorna la pagina nel tuo browser ( F5) e otterrai la pagina standard di informazioni PHP.


Questo conclude il mio tutorial. Grazie per aver letto.



Leave a Comment

Come installare e configurare CyberPanel sul server CentOS 7

Come installare e configurare CyberPanel sul server CentOS 7

Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa

Come installare e configurare Sensu Monitoring su CentOS 7

Come installare e configurare Sensu Monitoring su CentOS 7

Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i

Come installare OpenMeetings su CentOS 7

Come installare OpenMeetings su CentOS 7

Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io

Come usare Sudo su Debian, CentOS e FreeBSD

Come usare Sudo su Debian, CentOS e FreeBSD

Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud

Come installare RabbitMQ su CentOS 7

Come installare RabbitMQ su CentOS 7

Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi

Installazione di Nginx-RTMP su CentOS 7

Installazione di Nginx-RTMP su CentOS 7

Usi un sistema diverso? RTMP è ottimo per pubblicare contenuti live. Quando RTMP è associato a FFmpeg, i flussi possono essere convertiti in varie qualità. Vultr i

Come installare TaskBoard 0.3.1 su CentOS 7

Come installare TaskBoard 0.3.1 su CentOS 7

TaskBoard è unapp Web di gestione del tempo gratuita e open source. Ispirato da Kanban, TaskBoard può aiutarti a tenere traccia delle cose che devono essere fatte in a

Come installare Gradle su CentOS 7

Come installare Gradle su CentOS 7

Usi un sistema diverso? Gradle è un set di strumenti di automazione di build gratuito e open source basato sui concetti di Apache Ant e Apache Maven. Gradle fornisce

Installa un server FTP con ProFTPd su CentOS 6 o CentOS 7

Installa un server FTP con ProFTPd su CentOS 6 o CentOS 7

Usi un sistema diverso? In questa guida, vedremo come configurare un server FTP (ProFTPd) per trasferire file tra il tuo PC e il tuo server.

Installazione di Netdata su CentOS 7

Installazione di Netdata su CentOS 7

Usando un sistema diverso? Netdata è una stella nascente nel campo del monitoraggio delle metriche di sistema in tempo reale. Rispetto ad altri strumenti dello stesso tipo, Netdata:

Come installare Apache Cassandra 3.11.x su CentOS 7

Come installare Apache Cassandra 3.11.x su CentOS 7

Usi un sistema diverso? Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per fornire scalabilità, alta

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

Come installare Just Cause 2 (JC2-MP) Server su CentOS 7

In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare

Come installare Starbound Server su CentOS 7

Come installare Starbound Server su CentOS 7

Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te

Installazione e configurazione di ZNC su CentOS 7

Installazione e configurazione di ZNC su CentOS 7

ZNC è un buttafuori IRC gratuito e open source che rimane permanentemente connesso a una rete in modo che i client possano ricevere messaggi inviati mentre sono offline. Thi

Come installare Django su CentOS 7

Come installare Django su CentOS 7

Django è un popolare framework Python per la scrittura di applicazioni Web. Con Django, puoi creare applicazioni più velocemente, senza reinventare la ruota. Se vuoi

Come impostare lautenticazione a due fattori (2FA) per SSH su CentOS 6 utilizzando Google Authenticator

Come impostare lautenticazione a due fattori (2FA) per SSH su CentOS 6 utilizzando Google Authenticator

Dopo aver modificato la porta SSH, configurato il port knocking e apportato altre modifiche per la sicurezza SSH, cè forse un altro modo per proteggerti

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Come installare Directus 6.4 CMS su un VPS CentOS 7 LAMP

Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord

Come installare MaraDNS su CentOS 6

Come installare MaraDNS su CentOS 6

MaraDNS è un programma server DNS open source leggero ma robusto. Rispetto ad altre applicazioni dello stesso tipo, come ISC BIND, PowerDNS e djbdns

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.