H2O Web Sunucusunu CentOS 7ye Yükleme

H2O, kullanımda olan tüm mevcut web sunucularının mükemmel, tam özellikli bir HTTP / 2 uygulamalarına sahip yeni nesil bir HTTP sunucusudur. Web sunucunuz olarak H2O ile, nadiren konuşulan modern tarayıcı özelliklerinden yararlanabilecek gecikme optimizasyonu, sunucu push ve sunucu tarafı önceliklendirme gibi HTTP / 2 spesifikasyonunun yeni özelliklerinden yararlanabilirsiniz.

Bu ayrıntılı eğitimde, size CentOS 7 x64 örneğinizde H2O'nun nasıl çalıştırılacağını adım adım göstereceğim.

Ön şartlar

  • Bir CentOS 7 x64 sunucu örneği.
  • Bir sudo kullanıcısı.
  • SSL sertifikası (isteğe bağlı)

1. Adım: Sistemi güncelleyin

Örneğinizin altında bulunan kimlik bilgileriyle SSH üzerinden oturum açın ve sistemi aşağıdaki gibi güncelleyin.

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

Adım 2: H2O'yu yükleyin

CentOS 7 üzerine H2O kurmak için, önceden oluşturulmuş H2O ikili dosyalarını kurmak için Bintray RPM deposunu eklemeniz gerekir. Özel bir repo oluşturmak için Nano düzenleyiciyi kullanın.

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

Aşağıdaki metni kopyalayıp repo dosyasına yapıştırın.

[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

Sonra H2O'yu takın.

sudo yum install h2o -y

Artık H2O yüklendi, ancak hizmeti etkinleştirip başlatmadan önce uygun bir yapılandırma gerekiyor ve H2O'nun altında çalışması için belirli bir kullanıcı ve grup oluşturmamız gerekiyor. H2O'nun adlandırılmış altında çalışması için bir grup ve kullanıcı oluşturun h2o.

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

Adım 3: H2O Web Sunucusunu Yapılandırma

Aşağıdaki adımlar, çeşitli yapılandırma kurulum örneklerini verecektir unencrypted, encrypted, staticve dynamicsunucu kurulumları; ve dördünün bir kombinasyonu.


Yönlendirme http://www.example.comiçin http://example.com(Statik HTML sayfaları, No PHP) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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 sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıda listelenen dizin seçeneğine index.htmlşablonu kullanarak bir varsayılan oluşturun ./var/www/htmlfile.dir/var/www/example.com

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

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yürütün.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve bu mesajı alacaksınız.


Welcome to H2O - an optimized HTTP server

It works!

Yönlendirme http://example.comiçin http://www.example.com(Statik HTML sayfaları, No PHP) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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 sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıda listelenen dizin seçeneğinde index.htmlbulunan şablonu kullanarak varsayılan bir dosya oluşturun ./var/www/htmlfile.dir/var/www/www.example.com

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

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve bu mesajı alacaksınız.


Welcome to H2O - an optimized HTTP server

It works!

Yönlendirme http://www.example.comiçin http://example.com(Dinamik Sayfa PHP-FPM 5.6.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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'yi işlemek için PHP-FPM 5.6 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP 5.6.x sürümünü yükleyin.

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/Dizine gidin .

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

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /opt/remi/php56/root/var/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/example.com

sudo mkdir /var/www/example.com

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Yönlendirme http://example.comiçin http://www.example.com(Dinamik Sayfa PHP-FPM 5.6.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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'yi işlemek için PHP-FPM 5.6 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP sürüm 5.6.x'i yüklemek için aşağıdaki komutları yazın.

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/Dizine gidin .

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

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /opt/remi/php56/root/var/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/www.example.com

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

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Yönlendirme http://www.example.comiçin http://example.com(Dinamik Sayfa PHP-FPM 7.1.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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

PHP'yi işlemek için PHP-FPM 7.1 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP 7.1.x sürümünü kurmak için aşağıdaki komutları yazın.

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

/etc/opt/remi/php71/Dizine gidin .

cd /etc/opt/remi/php71/

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /var/opt/remi/php71/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/example.com

sudo mkdir /var/www/example.com

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Yönlendirme http://example.comiçin http://www.example.com(Dinamik Sayfa PHP-FPM 7.1.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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'yi işlemek için PHP-FPM 7.1 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP 7.1.x sürümünü kurmak için aşağıdaki komutları yazın.

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

/etc/opt/remi/php71/Dizine gidin .

cd /etc/opt/remi/php71/

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Copy and paste the following text 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/www.example.com

Create a default index.php using the phpinfo command to test PHP.

sudo nano /var/www/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, http://www.example.com, and https://www.example.com to https://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:
      "/":
        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

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

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve bu mesajı alacaksınız.


Welcome to H2O - an optimized HTTP server

It works!

Yönlendirme http://example.com, http://www.example.comve https://example.comhiç https://www.example.com(Statik HTML sayfaları, No PHP) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://www.example.com/"
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/www.example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

SSL kullanan tüm web siteleri için varsayılan SSL seçeneklerini depolamak için özel bir dizin oluşturun.

sudo mkdir conf.d

Yeni bir ssl.confdosya oluşturun .

sudo nano conf.d/ssl.conf

Aşağıdaki metni kopyalayıp ssl.confdosyaya yapıştırın .

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.pemBir cronjob yoluyla günlük olarak yeniden oluşturulacak dosyayı saklamak için bir dizin oluşturun .

sudo mkdir /etc/ssl/h2o/

Yeni bir regenerate_dhparamdosya oluşturun .

sudo nano /etc/cron.daily/regenerate_dhparam

Aşağıdaki metni kopyalayıp regenerate_dhparamdosyanın içine yapıştırın .

#!/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 dosyasını yeni oluşturulabilir hale getirin.

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

İlk çalıştırma için bash betiğini çalıştırın, çünkü H2O oluşturulmamışsa düzgün başlamaz. Bu, ilk çalıştırmada oluşturulması yaklaşık bir veya iki dakika sürer.

sudo /etc/cron.daily/regenerate_dhparam

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıda listelenen dizin seçeneğine index.htmlşablonu kullanarak bir varsayılan oluşturun ./var/www/htmlfile.dir/var/www/www.example.com

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

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve bu mesajı alacaksınız.


Welcome to H2O - an optimized HTTP server

It works!

Yönlendirme http://example.com, http://www.example.comve https://www.example.comhiç https://example.com(Dinamik Page, PHP-FPM 5.6.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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 kullanan tüm web siteleri için varsayılan SSL seçeneklerini depolamak için özel bir dizin oluşturun.

sudo mkdir conf.d

Yeni bir ssl.confdosya oluşturun .

sudo nano conf.d/ssl.conf

Aşağıdaki metni kopyalayıp ssl.confdosyaya yapıştırın .

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.pemBir cronjob yoluyla günlük olarak yeniden oluşturulacak dosyayı saklamak için bir dizin oluşturun .

sudo mkdir /etc/ssl/h2o/

Yeni bir regenerate_dhparamdosya oluşturun .

sudo nano /etc/cron.daily/regenerate_dhparam

Aşağıdaki metni kopyalayıp regenerate_dhparamdosyanın içine yapıştırın .

#!/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 dosyasını yeni oluşturulabilir hale getirin.

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

İlk çalıştırma için bash betiğini çalıştırın, çünkü H2O oluşturulmamışsa düzgün başlamaz. Bu, ilk çalıştırmada oluşturulması yaklaşık bir veya iki dakika sürer.

sudo /etc/cron.daily/regenerate_dhparam

PHP'yi işlemek için PHP-FPM 5.6 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP sürüm 5.6.x'i yüklemek için aşağıdaki komutları yazın.

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/Dizine gidin .

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

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /opt/remi/php56/root/var/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/example.com

sudo mkdir /var/www/example.com

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Yönlendirme http://example.com, http://www.example.comve https://example.comhiç https://www.example.com(Dinamik Page, PHP-FPM 5.6.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

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 kullanan tüm web siteleri için varsayılan SSL seçeneklerini depolamak için özel bir dizin oluşturun.

sudo mkdir conf.d

Yeni bir ssl.confdosya oluşturun .

sudo nano conf.d/ssl.conf

Aşağıdaki metni kopyalayıp ssl.confdosyaya yapıştırın .

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.pemBir cronjob yoluyla günlük olarak yeniden oluşturulacak dosyayı saklamak için bir dizin oluşturun .

sudo mkdir /etc/ssl/h2o/

Yeni bir regenerate_dhparamdosya oluşturun .

sudo nano /etc/cron.daily/regenerate_dhparam

Aşağıdaki metni kopyalayıp regenerate_dhparamdosyanın içine yapıştırın .

#!/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 dosyasını yeni oluşturulabilir hale getirin.

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

İlk çalıştırma için bash betiğini çalıştırın, çünkü H2O oluşturulmamışsa düzgün başlamaz. Bu, ilk çalıştırmada oluşturulması yaklaşık bir veya iki dakika sürer.

sudo /etc/cron.daily/regenerate_dhparam

PHP'yi işlemek için PHP-FPM 5.6 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP sürüm 5.6.x'i yüklemek için aşağıdaki komutları yazın.

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/Dizine gidin .

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

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /opt/remi/php56/root/var/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/www.example.com

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

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve example.com or www.example.comörneğiniz için sunucu alan adını ( ) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Yönlendirme http://example.com, http://www.example.comve https://www.example.comhiç https://example.com(Dinamik Page, PHP-FPM 7.1.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          internal: YES
          status: 307
          url: /index.php
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://example.com/"
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-7.1.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

SSL kullanan tüm web siteleri için varsayılan SSL seçeneklerini depolamak için özel bir dizin oluşturun.

sudo mkdir conf.d

Yeni bir ssl.confdosya oluşturun .

sudo nano conf.d/ssl.conf

Aşağıdaki metni kopyalayıp ssl.confdosyaya yapıştırın .

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.pemBir cronjob yoluyla günlük olarak yeniden oluşturulacak dosyayı saklamak için bir dizin oluşturun .

sudo mkdir /etc/ssl/h2o/

Yeni bir regenerate_dhparamdosya oluşturun .

sudo nano /etc/cron.daily/regenerate_dhparam

Aşağıdaki metni kopyalayıp regenerate_dhparamdosyanın içine yapıştırın .

#!/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 dosyasını yeni oluşturulabilir hale getirin.

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

İlk çalıştırma için bash betiğini çalıştırın, çünkü H2O oluşturulmamışsa düzgün başlamaz. Bu, ilk çalıştırmada oluşturulması yaklaşık bir veya iki dakika sürer.

sudo /etc/cron.daily/regenerate_dhparam

PHP'yi işlemek için PHP-FPM 7.1 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP 7.1.x sürümünü kurmak için aşağıdaki komutları yazın.

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

/etc/opt/remi/php71/Dizine gidin .

cd /etc/opt/remi/php71/

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /var/opt/remi/php71/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/example.com

sudo mkdir /var/www/example.com

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Yönlendirme http://example.com, http://www.example.comve https://example.comhiç https://www.example.com(Dinamik Page, PHP-FPM 7.1.x) Yapılandırma

/etc/h2o/Dizine gidin .

cd /etc/h2o/

Varsayılan yeniden adlandırma h2o.confiçin h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Yeni bir h2o.confdosya oluşturun .

sudo nano h2o.conf

Aşağıdaki metni kopyalayıp h2o.confdosyaya yapıştırın .

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://www.example.com/"
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/www.example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          internal: YES
          status: 307
          url: /index.php
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-7.1.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

SSL kullanan tüm web siteleri için varsayılan SSL seçeneklerini depolamak için özel bir dizin oluşturun.

sudo mkdir conf.d

Yeni bir ssl.confdosya oluşturun .

sudo nano conf.d/ssl.conf

Aşağıdaki metni kopyalayıp ssl.confdosyaya yapıştırın .

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.pemBir cronjob yoluyla günlük olarak yeniden oluşturulacak dosyayı saklamak için bir dizin oluşturun .

sudo mkdir /etc/ssl/h2o/

Yeni bir regenerate_dhparamdosya oluşturun .

sudo nano /etc/cron.daily/regenerate_dhparam

Aşağıdaki metni kopyalayıp regenerate_dhparamdosyanın içine yapıştırın .

#!/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 dosyasını yeni oluşturulabilir hale getirin.

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

İlk çalıştırma için bash betiğini çalıştırın, çünkü H2O oluşturulmamışsa düzgün başlamaz. Bu, ilk çalıştırmada oluşturulması yaklaşık bir veya iki dakika sürer.

sudo /etc/cron.daily/regenerate_dhparam

PHP'yi işlemek için PHP-FPM 7.1 arka plan programının yüklenmiş ve yapılandırılmış olması gerekir. Varsayılan 5.4.x sürümünden daha yeni bir PHP-FPM sürümü yüklemek için, PHP 5.6.x, 7.0.x ve 7.1.x sürümlerini içeren REMI deposunun yüklenmesi gerekir. PHP 7.1.x sürümünü kurmak için aşağıdaki komutları yazın.

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

/etc/opt/remi/php71/Dizine gidin .

cd /etc/opt/remi/php71/

Varsayılan yeniden adlandırma php-fpm.confiçin php-fpm.conf.original.

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

Yeni bir php-fpm.confdosya oluşturun .

sudo nano php-fpm.conf

Aşağıdaki metni kopyalayıp php-fpm.confdosyaya yapıştırın .

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

Dizindeki varsayılan www.confdosyayı yeniden adlandırın php-fpm.d.

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

Yeni bir www.confdosya oluşturun .

sudo nano php-fpm.d/www.conf

Aşağıdaki metni kopyalayıp www.confdosyaya yapıştırın . pm.max\_childrenVPS örneğinize göre CPU sayısıyla eşleşecek şekilde değiştirin .

[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

Varsayılan php.inidosyayı yeniden adlandırın .

sudo mv php.ini php.ini.original

Yeni bir php.inidosya oluşturun .

sudo nano php.ini

Aşağıdaki metni kopyalayıp yenisine yapıştırın php.ini file. Değişim memory\_limit, post\_max\_size, upload\_max\_filesizeve date.timezonesenin VPS örneği ile giriş uyumunu.

[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"

Grup sahipliğini değiştirme /var/opt/remi/php71/lib/php/session/dan dizine apachegrubun h2ogrubunda.

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

PHP-FPM sunucusu günlüklerinin yer alacağı bir dizin oluşturun.

sudo mkdir /var/log/php-fpm/

PHP-FPM sunucusunu etkinleştirin ve başlatın.

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

H2O sunucusunu etkinleştirin ve başlatın.

sudo systemctl enable h2o
sudo systemctl start h2o

Yukarıdaki index.phpdizin seçeneği tarafından listelenen varsayılanın yer alacağı bir dizin oluşturun .file.dir/var/www/example.com

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

PHP'yi test etmek index.phpiçin phpinfokomutu kullanarak bir varsayılan oluşturun .

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

Aşağıdaki metni kopyalayıp yeni index.phpdosyaya yapıştırın .

<?php
phpinfo();
?>

Şimdi tarayıcınızı açın ve örneğiniz için sunucu alan adını ( example.comveya www.example.com) girin . Bir alıyorsunuz Unable to connectveya This site can’t be reachedmesaj? CentOS'un varsayılan güvenlik duvarı ayarı, http bağlantı noktasına gelen bağlantıları devre dışı bırakır. Açmak için aşağıdakileri yapın.

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

Tarayıcınızda sayfayı yenileyin ( F5) ve standart PHP bilgi sayfasını alacaksınız.


Bu benim öğretici sonucum. Okuduğunuz için teşekkürler.



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

KubOSM ile Kubernetesi CentOS 7de dağıtın

KubOSM ile Kubernetesi CentOS 7de dağıtın

Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun