php - एक स्थानीय xampp/apache सर्वर पर एसएसएल सेट अप करना




ssl https (4)

अपाचे भाग - आपको https://localhost/xyz खोलने में सक्षम बनाता है

कॉन्फ़िगरेशन फ़ाइल xampp / apache / conf / extra / httpd-ssl.conf है जिसमें सभी एसएसएल विशिष्ट कॉन्फ़िगरेशन शामिल हैं। यह काफी अच्छी तरह से प्रलेखित है, इसलिए टिप्पणियों को पढ़ लें और http://httpd.apache.org/docs/2.2/ssl/ । फ़ाइलें <IfModule ssl_module> शुरू होती हैं, इसलिए इसका प्रभाव केवल तभी होता है जब अपाचे को अपने mod_ssl मॉड्यूल के साथ शुरू किया गया हो।

एक संपादक में फ़ाइल xampp / apache / conf / httpd.conf खोलें और लाइन के लिए खोजें

#LoadModule ssl_module modules/mod_ssl.so

हैशमार्क हटाएं, फ़ाइल को सहेजें और अपाचे को दोबारा शुरू करें। वेबसर्वर अब xampp के मूल / डिफ़ॉल्ट एसएसएल confguration के साथ शुरू करना चाहिए; परीक्षण के लिए काफी अच्छा है लेकिन आप apache दस्तावेज़ में mod_ssl के बारे में कुछ और पढ़ना चाहेंगे।

PHP भाग - एसएसएल पर ldap का उपयोग करने के लिए adldap सक्षम

"ldap over ssl" कनेक्शन का उपयोग करने के लिए adldap को php के openssl एक्सटेंशन की आवश्यकता होती है। Openssl एक्सटेंशन xampp के साथ एक डीएल के रूप में जहाजों। आपको इस डीएलएल को लोड करने के लिए php "बताएं", उदाहरण के लिए अपने php.ini में extension=nameofmodule.dll
रन

echo 'ini: ', get_cfg_var('cfg_file_path');

यह आपको दिखाएगा कि कौन सी आईएनआई आपके PHP इंस्टॉलेशन का उपयोग करता है (php-apache-module और php-cli संस्करण के बीच भिन्न हो सकता है)।
इस फ़ाइल को एक संपादक में खोलें और खोजें

;extension=php_openssl.dll

अर्धविराम को हटाएं, फ़ाइल को सहेजें और अपाचे को दोबारा शुरू करें।

यह भी देखें: http://docs.php.net/install.windows.extensions

मैं अपने स्थानीय वेबसर्वर से सक्रिय निर्देशिका तक पहुंचने का प्रयास कर रहा हूं। ऐसा करने के लिए मैं xampp का नवीनतम संस्करण और adLDAP नामक एक PHP स्क्रिप्ट का उपयोग कर रहा हूं। अगर मैं सही चीजों को समझता हूं, तो मुझे एसएसएल को https यूआरएल तक पहुंचने में सक्षम होना चाहिए। मैंने इसे Google पर करने की कोशिश की है लेकिन बिना किसी किस्मत के :( क्या कोई भी ट्यूटोरियल को लिंक कर सकता है या मुझे बता सकता है कि विंडोज 7 64 बिट के लिए xampp / apache पर एसएसएल कैसे स्थापित करें? किसी भी मदद की सराहना की जाएगी :)


आप स्वयं हस्ताक्षरित प्रमाणपत्र बनाकर और फिर उन प्रमाणपत्रों को स्थापित करके XAMPP पर SSL सक्षम कर सकते हैं। एसएसएल फ़ोल्डरों को प्रमाण पत्र जेनरेट करने और स्थानांतरित करने के लिए नीचे दिए गए आदेश टाइप करें।

openssl genrsa -des3 -out server.key 1024

openssl req -new -key server.key -out server.csr

सीपी server.key server.key.org

openssl rsa -in server.key.org -out server.key

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

सीपी सर्वर.crt /opt/lampp/etc/ssl.crt/domainname.crt

सीपी server.key /opt/lampp/etc/ssl.key/domainname.key

(यदि आप सुपर उपयोगकर्ता नहीं हैं तो प्रत्येक कमांड के साथ सुडो का उपयोग करें)

अब, जांचें कि mod_ssl [XAMPP_HOME] /etc/httpd.conf में सक्षम है:

LoadModule ssl_module मॉड्यूल / mod_ssl.so

इस उदाहरण में "localhost.domainname.com" को [xAMPP_HOME] /etc/extra/httpd-ssl.conf संपादन करके वर्चुअल होस्ट जोड़ें:

<virtualhost 127.0.1.4:443>
    ServerName localhost.domainname.com
    ServerAlias localhost.domainname.com *.localhost.domainname.com
    ServerAdmin [email protected]

    DocumentRoot "/opt/lampp/htdocs/"

    DirectoryIndex index.php

    ErrorLog /opt/lampp/logs/domainname.local.error.log
    CustomLog /opt/lampp/logs/domainname.local.access.log combined

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /opt/lampp/etc/ssl.crt/domainname.crt
    SSLCertificateKeyFile /opt/lampp/etc/ssl.key/domainname.key

    <directory /opt/lampp/htdocs/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
    </directory>
    BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</virtualhost>

/ Etc / hosts में निम्न प्रविष्टि जोड़ें:

127.0.1.4 localhost.domainname.com

अब, प्रमाण पत्र स्थापित करने का प्रयास करें / ब्राउज़र में प्रमाण पत्र आयात करने का प्रयास करें। मैंने यह जांच की है और यह उबंटू पर काम किया है।


मैंने यहां सुझाई गई सभी चीजें की हैं और मेरा कोड अभी भी काम नहीं कर रहा है क्योंकि मैं curl का उपयोग कर रहा था

यदि आप php फ़ाइल में curl का उपयोग कर रहे हैं, तो कर्ल डिफ़ॉल्ट रूप से सभी एसएसएल यातायात को अस्वीकार कर रहा है। एक त्वरित फिक्स जो मेरे लिए काम करता था वह जोड़ना था:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

कॉल करने से पहले:

 curl_exec():

PHP फ़ाइल में।

मेरा मानना ​​है कि यह एसएसएल प्रमाणपत्रों के सभी सत्यापन को अक्षम करता है।


मैंने यहां सुझाए गए सामानों में से अधिकांश किया है, अभी भी काम नहीं किया है। कोशिश की और यह काम किया: अपना एक्सएएमपीपी नियंत्रण कक्ष खोलें , अपाचे मॉड्यूल के लिए कॉन्फ़िगर बटन का पता लगाएं। कॉन्फ़िगर बटन पर क्लिक करें और PHP (php.ini) का चयन करें। किसी भी टेक्स्ट एडिटर के साथ खोलें और php_openssl से पहले सेमी-कॉलम को हटा दें। सहेजें और अपाचे को पुनरारंभ करें। ऐसा करना चाहिए!





xampp