Centos Web Panel SSL Hatası

Centos Web Panel SSL sertifikası hatası alıyorsanız çözüm için aşağıdakileri sırasıyla yapınız.

Öncelikli olarak aşağıdaki komut ile host ismini öğreniyoruz.
hostname server.bozdemir.com (Örnek)
cat /etc/redhat-release (CentOS Linux release 7.6.1810 (Core) Sistemi)

yum install epel-release (sistemde yüklü bilgisi alabilirsiniz)
yum update (sistemi güncelliyoruz)
yum install certbot (Yüklüyoruz)
yum info mod_ssl openssl (kurulu olup olmadığını kontrol ediyoruz)

letsencrypt.conf dosyasına aşağıdaki gibi açıp içini düzenliyoruz.

nano /usr/local/apache/conf.d/letsencrypt.conf

Alias /.well-known/acme-challenge/ “/usr/local/apache/autossl_tmp/.well-known/acme-challenge/”
<Directory “/usr/local/apache/autossl_tmp/”>
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>

certbot certonly –agree-tos –email a h m e t @ bozdemir.com –webroot -w /usr/local/apache/autossl_tmp/ -d server.bozdemir.com

cp /usr/local/apache/conf.d/ssl.conf /usr/local/apache/conf.d/bak.ssl.conf.orig

nano /usr/local/apache/conf.d/ssl.conf

<IfModule !ssl_module>
LoadModule ssl_module modules/mod_ssl.so
</IfModule>
Listen 443
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off

# OCSP Stapling, only in httpd 2.3.3 and later
SSLUseStapling on
SSLStaplingCache “shmcb:logs/stapling-cache(150000)”
# Requires Apache >= 2.4.11
SSLSessionTickets Off

SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache shmcb:/var/run/ocsp(128000)

Aşağıdaki komut ile mod_ssl ve shmcb modülleri açıyoruz.

nano /usr/local/apache/conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

hostname-ssl.conf dosyasını açıyoruz ve aşağıdak kodu ekliyoruz.

nano /usr/local/apache/conf.d/hostname-ssl.conf

<VirtualHost *:443>
ServerName server.bozdemir.com
ServerAdmin a h m e [email protected]
DocumentRoot /usr/local/apache/htdocs/

SSLEngine on
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCertificateFile /etc/letsencrypt/live/server.bozdemir.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/server.bozdemir.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown

<IfModule mod_suexec.c>
SuexecUserGroup nobody nobody
</IfModule>

<IfModule mod_suphp.c>
suPHP_UserGroup nobody nobody
suPHP_ConfigPath /home/nobody
</IfModule>

<Directory “/usr/local/apache/htdocs/”>
AllowOverride All
</Directory>

</VirtualHost>

cwpsrv.conf dosyasını açıyoruz.

nano /usr/local/cwpsrv/conf/cwpsrv.conf

Aşağıdaki satırları bulun :
ssl_certificate /etc/pki/tls/certs/hostname.crt;
ssl_certificate_key /etc/pki/tls/private/hostname.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Yukarıdaki Satırların başına # ekleyin ve aşağıdaki satırları ilave edin

ssl_certificate /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.bozdemir.com/privkey.pem;
ssl_protocols TLSv1.2;
#Apache İçin
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
#NGINX İçin
#ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

users.conf dosyasını editliyoruz.

nano /usr/local/cwpsrv/conf.d/users.conf

Aşağıdakı Satırları bulun:
ssl_certificate /etc/pki/tls/certs/hostname.crt;
ssl_certificate_key /etc/pki/tls/private/hostname.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Aşağıdakileri Yapıştırın:
ssl_certificate /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.bozdemir.com/privkey.pem;
ssl_protocols TLSv1.2;
#Apache İçin
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
#NGINX İçin
#ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

webmail.conf dosyasını editliyoruz.

nano /usr/local/cwpsrv/conf.d/webmail.conf

Aşağıdakı Satırları bulun:
ssl_certificate /etc/pki/tls/certs/hostname.crt;
ssl_certificate_key /etc/pki/tls/private/hostname.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

Aşağıdakileri Yapıştırın:
ssl_certificate /etc/letsencrypt/live/server.bozdemir.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/server.bozdemir.com/privkey.pem;
ssl_protocols TLSv1.2;
#Apache İçin
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
#NGINX İçin
#ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

Ayar işlemlerimiz tamamlandı. Artık servisleri yeniden başlatıyoruz.

/usr/local/cwpsrv/bin/cwpsrv -t
systemctl restart cwpsrv
systemctl restart httpd
systemctl status cwpsrv
systemctl status httpd

CWP Admin Panel Linkleri (by hostname)
CWP Admin Panel Link: http://server.bozdemir.com:2030
CWP Admin Panel Link: http://server.bozdemir.com:2086
CWP Admin Panel SSL Link: https://server.bozdemir.com:2031
CWP Admin Panel SSL Link: https://server.bozdemir.com:2087

CWP User Panel Linkleri (by hostname)
CWP User Panel Link: http://server.bozdemir.com:2082
CWP User Panel SSL Link: https://server.bozdemir.com:2083

Not : Başlatma sırasında emerg hatası alırsanız.
Starting cwpsrv: cwpsrv: [emerg] SL_CTX_use_PrivateKey_file(“/etc/pki/tls/private/hostname.key”) failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

Hostname için SSL oluşturmalısınız.

/usr/local/cwpsrv/htdocs/resources/scripts/generate_hostname_ssl

cwpsrv: [warn] he “ssl” directive is deprecated, use the “listen … ssl” directive instead …i.conf:8
/usr/local/cwpsrv/conf.d/api.conf Uyarı hatası alırsanızda dikkate almaya bilirsiniz.
ssl on; satırından kaynaklıdır.

AutoSSL – Error Code: 77

Centos Web Panel üzerinde yer alan SSL Certificates sekmesinde yer alan AutoSSL Çalışmaması durumunda aşağıdaki hatayı alıyorsanız yapmanız gereken şey ca-certificates sistem yeniden yüklemeniz yeterli olacaktır.

Ancak logları inceleyerek ve yapılması gerekenler sırayla aşağıda yer almaktadır.

tail -f /root/.acme.sh/acme.sh.log

[Wed Jun 5 13:10:30 +03 2019] Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 77
[Wed Jun 5 13:10:30 +03 2019] ret=’77’
[Wed Jun 5 13:10:30 +03 2019] Can not connect to https://acme-v01.api.letsencrypt.org/directory to get nonce.
[Wed Jun 5 13:10:30 +03 2019] Can not get domain new authz.
[Wed Jun 5 13:10:30 +03 2019] pid
[Wed Jun 5 13:10:30 +03 2019] No need to restore nginx, skip.
[Wed Jun 5 13:10:30 +03 2019] _clearupdns
[Wed Jun 5 13:10:30 +03 2019] skip dns.
[Wed Jun 5 13:10:30 +03 2019] _on_issue_err
[Wed Jun 5 13:10:30 +03 2019] Please check log file for more details: /root/.acme.sh/acme.sh.log

dilerseniz bu log dosyasınıda inceleye bilirsiniz. cat /var/log/cwp/cwp_sslmod.log

curl -v https://acme-v01.api.letsencrypt.org/directory

komutunu çalıştırın ve aşağıdaki gibi bağlantı hatasını alıryorsanız yeniden ca-certificates kurulum yapın.

About to connect() to acme-v01.api.letsencrypt.org port 443 (#0)
Trying 104.66.95.37…
Connected to acme-v01.api.letsencrypt.org (104.66.95.37) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
Closing connection 0
curl: (77) Problem with the SSL CA cert (path? access rights?)

yum reinstall ca-certificates

ardından tekrar kontrol için aşağıdaki komut ile kontrol edin. Hata yerine OK aldığınızı göreceksiniz. Ardından artık Centos-WebPanel üzerinden artık AutoSSL sertifikaları üretilebilecektir.

curl -v https://acme-v01.api.letsencrypt.org/directory

Komutu ilede SSL Oluşumu test edilebilir.
sh /root/.acme.sh/acme.sh –home /root/.acme.sh/cwp_certs –issue -d www.alanadi.com -d alanadi.com -w /usr/local/apache/autossl_tmp –debug 2