ចំណាំ (Note)៖ មុនពេលអ្នកចាប់ផ្តើម ត្រូវប្រាកដថាអ្នកបានកំណត់រួចរាល់ហើយ តម្រូវការជាមុន. |
ជំហានដំឡើង
FURTHER READING: |
1. ការដំឡើងវិញ្ញាបនបត្រ SSL នៅលើ httpd (CentOS) |
2. ការដំឡើងវិញ្ញាបនបត្រ Apache SSL |
3. ការដំឡើងវិញ្ញាបនប័ត្រ SSL នៅលើ Plesk Onyx |
1) ការត្រួតពិនិត្យការដំឡើង
ដំបូង យើងនឹងពិនិត្យមើលទីតាំងពិតប្រាកដនៃឯកសារកំណត់រចនាសម្ព័ន្ធបច្ចុប្បន្នសម្រាប់គេហទំព័រ HTTP។ សម្រាប់វា រត់ពាក្យបញ្ជាខាងក្រោម៖
sudo apachectl -S

យើងអាចមើលឃើញឯកសារកំណត់រចនាសម្ព័ន្ធគេហទំព័រ (មួយសម្រាប់ការតភ្ជាប់ HTTP ដែលមិនមានសុវត្ថិភាពតាមរយៈច្រក 80) នៅក្នុងលទ្ធផល។ ជាធម្មតាវាត្រូវបានគេហៅថា "000-default.conf" ។
ថតលំនាំដើមសម្រាប់ទីតាំងឯកសារបែបនេះគឺ /etc/apache2/sites-enabled ។
នៅក្នុងការណែនាំនេះ យើងនឹងបង្ហាញលម្អិតអំពីរបៀបបន្ថែមការកំណត់សម្រាប់ច្រក HTTPS 443 ទៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធដូចគ្នា។ ទោះជាយ៉ាងណាក៏ដោយ យើងក៏សូមផ្តល់អនុសាសន៍ឱ្យពិនិត្យមើលវិធីដែលអាចធ្វើបានទាំងអស់ដើម្បីបន្ត - ដូចជាការបង្កើតឯកសារកំណត់រចនាសម្ព័ន្ធដាច់ដោយឡែកនៅក្នុង /etc/apache2/sites-available ឬ /etc/apache2/sites-enabled folder - នៅទីនេះក្នុងផ្នែក 'គន្លឹះ និងការដោះស្រាយបញ្ហា' នៃការណែនាំនេះ។
2) បើកដំណើរការការគាំទ្រ SSL/TLS នៅលើ Apache
មុនពេលយើងបន្តទៅមុខទៀត យើងនឹងត្រូវប្រាកដថា ការគាំទ្រ SSL/TLS ត្រូវបានបើកនៅលើ Server ។ សម្រាប់វា យើងនឹងត្រូវរត់ពាក្យបញ្ជាដូចខាងក្រោម៖
sudo a2enmod ssl

ប្រសិនបើពាក្យបញ្ជាឆ្លើយតបជាមួយ "Module ssl already enabled" នោះម៉ូឌុលត្រូវបានបើករួចហើយ
ប្រសិនបើម៉ូឌុលមិនទាន់ត្រូវបានបើកទេ នោះពាក្យបញ្ជានឹងឆ្លើយតបជាមួយនឹង 'Enabling module ssl' ហើយនឹងបញ្ចប់ការបើកម៉ូឌុល។
បន្ទាប់ពីនោះ សូមចាប់ផ្ដើម webserver ឡើងវិញ ដើម្បីឱ្យម៉ូឌុលអាចត្រូវបានអនុវត្តទៅ Apache ។ សេវាកម្មអាចត្រូវបានចាប់ផ្តើមឡើងវិញដោយបញ្ចូលពាក្យបញ្ជាខាងក្រោម៖
sudo service apache2 restart
3) កំណត់រចនាសម្ព័ន្ធ webserver
ឥឡូវនេះ កំណត់រចនាសម្ព័ន្ធគេហទំព័រដើម្បីធ្វើការជាមួយវិញ្ញាបនបត្រ SSL ។
ប្រសិនបើមិនមាន SSLs ដែលបានដំឡើងនៅលើ webserver ពីមុនទេ សូមពិនិត្យមើលឈ្មោះឯកសារកំណត់រចនាសម្ព័ន្ធសម្រាប់ច្រក HTTP 80 ហើយបើកវានៅក្នុងជម្រើសកម្មវិធីនិពន្ធអត្ថបទរបស់អ្នក (nano, vi ។ល។)។
ឈ្មោះឯកសារកំណត់រចនាសម្ព័ន្ធអាចត្រូវបានពិនិត្យដោយប្រើពាក្យបញ្ជា: apachectl -S
ជាធម្មតាវាមានទីតាំងនៅក្នុងថត /etc/apache2/sites-enabled ។
ចំណាំ (Note)៖ ប្រសិនបើអ្នកកំពុងធ្វើតាមវិធីផ្សេងទៀតពីទីនេះនៅក្នុង 'គន្លឹះ និងការដោះស្រាយបញ្ហា'ផ្នែកនៃការណែនាំនេះ បន្ទាប់មកសូមចងចាំថាឈ្មោះឯកសាររបស់អ្នកនឹងខុសគ្នា ហើយអ្នកត្រូវបើកឯកសារកំណត់រចនាសម្ព័ន្ធរបស់អ្នកជំនួសឱ្យឯកសារលំនាំដើម។

បន្ទាប់មកបើកឯកសារកំណត់រចនាសម្ព័ន្ធ ហើយបិទភ្ជាប់កូដខាងក្រោមនៅខាងក្រោមរបស់វា៖
ឈ្មោះម៉ាស៊ីនមេ (DOMAIN ឈ្មោះគេហទំព័រ)
DocumentRoot (ថតឫសនៃគេហទំព័រ)
SSLEngine បើក
SSLCertificateFile (ផ្លូវវិញ្ញាបនប័ត្រ)
SSLCertificateKeyFile (ផ្លូវសោឯកជន)
SSLCertificateChainFile (CA Bundle PATH)
ត្រូវប្រាកដថាជំនួសតម្លៃពាក្យបញ្ជានៅក្នុងតង្កៀបជាមួយនឹងព័ត៌មានត្រឹមត្រូវសម្រាប់ឈ្មោះដែន ឬគេហទំព័ររបស់អ្នក។
ក្នុងករណីរបស់យើងវាមានដូចខាងក្រោម:
ServerName example.com
DocumentRoot /var/www/html
SSLEngine បើក
SSLCertificateFile /etc/ssl/1.crt
SSLCertificateKeyFile /etc/ssl/1.key
SSLCertificateChainFile /etc/ssl/1.ca-bundle

បន្ទាប់ពីនោះរក្សាទុកឯកសារ។
ប្រសិនបើវិញ្ញាបនបត្រ SSL ត្រូវបានដំឡើងរួចហើយនៅលើ webserver សូមពិនិត្យមើលឈ្មោះឯកសារកំណត់រចនាសម្ព័ន្ធសម្រាប់ច្រក 443 ហើយបើកវានៅក្នុងកម្មវិធីកែប្រែអត្ថបទ។
ឈ្មោះឯកសារកំណត់រចនាសម្ព័ន្ធអាចត្រូវបានពិនិត្យដោយប្រើពាក្យបញ្ជា: apachectl -S

បន្ទាប់មក ត្រូវប្រាកដថាជំនួសផ្លូវនៃឯកសារវិញ្ញាបនបត្រនៅក្នុងផ្នែកខាងក្រោម៖
SSLCertificateFile
SSLCertificateKeyFile
SSLCertificateChainFile
បញ្ចូលផ្លូវពេញលេញទៅកាន់វិញ្ញាបនបត្រ SSL Private Key និងឯកសារបណ្តុំ CA រៀងៗខ្លួនដែលបានបង្ហោះ ឬមានទីតាំងនៅលើ Server ។ បន្ទាប់ពីនោះត្រូវប្រាកដថារក្សាទុកឯកសារកំណត់រចនាសម្ព័ន្ធ។
4) ពិនិត្យឯកសារកំណត់រចនាសម្ព័ន្ធ និងចាប់ផ្តើម webserver ឡើងវិញ
ឥឡូវនេះ ត្រូវប្រាកដថាពិនិត្យមើលវាក្យសម្ព័ន្ធឯកសារដោយដំណើរការពាក្យបញ្ជានេះ៖
apachectl -t

ប្រសិនបើពាក្យបញ្ជាឆ្លើយតបជាមួយ "Syntax OK" អ្នកអាចចាប់ផ្ដើម webserver ឡើងវិញ។ ដើម្បីធ្វើដូចនេះដំណើរការពាក្យបញ្ជា:
sudo service apache2 restart
ឯកសារកំណត់រចនាសម្ព័ន្ធគួរតែត្រូវបានរាយក្នុងបញ្ជីឯកសារកំណត់រចនាសម្ព័ន្ធ Apache (វាអាចត្រូវបានពិនិត្យដោយដំណើរការ apachectl -S ម្តងទៀត)៖

រួចរាល់! គេហទំព័រនេះត្រូវបានធានា។ ការដំឡើងអាចជា ស្ថិតនៅទីនេះ.
មិនមានសកម្មភាពជាកាតព្វកិច្ចបន្ថែមទៀតសម្រាប់ការធានាឈ្មោះដែនរបស់អ្នកទេ ទោះជាយ៉ាងណាក៏ដោយ អ្នកប្រហែលជាចង់រៀបចំការបញ្ជូនបន្ត HTTPS សម្រាប់គេហទំព័រដើម្បីប្តូរទៅកំណែដែលមានសុវត្ថិភាពដោយស្វ័យប្រវត្តិដោយមិនចាំបាច់បញ្ចូល https:// ដោយដៃទៅក្នុងរបារអាសយដ្ឋានកម្មវិធីរុករក។
ប្រសិនបើមានបញ្ហាជាមួយការដំឡើង ត្រូវប្រាកដថាពិនិត្យមើលការណែនាំនេះម្តងមួយជំហាន ដើម្បីជៀសវាងកំហុស។ អ្នកក៏អាចពិនិត្យមើលផ្នែកបន្ទាប់នៃការណែនាំនេះផងដែរ។
គន្លឹះ និងដំណោះស្រាយបញ្ហា
ប្រសិនបើអ្នកប្រឈមមុខនឹងបញ្ហាដែលទាក់ទងនឹង SSL ជាមួយគេហទំព័រដែលមានមូលដ្ឋានលើ Apache របស់អ្នក នេះជាវិធីដោះស្រាយបញ្ហាកំហុសដែលគេស្គាល់ច្រើនបំផុតដែលអាចកើតឡើងក្នុងអំឡុងពេលចាប់ផ្តើមឡើងវិញ៖
Tip 1
ឧទាហរណ៍ ប្រសិនបើ nano ssl.conf បង្ហាញលទ្ធផលក្នុង Permission ត្រូវបានបដិសេធ អ្នកអាចសាកល្បងដំណើរការ sudo nano ssl.conf ជំនួសវិញ។
ការបន្ថែម sudo នឹងផ្តល់ឱ្យអ្នកនូវការអនុញ្ញាត 'superuser' និងសមត្ថភាពក្នុងការអនុវត្តសកម្មភាពមួយចំនួនដែលតម្រូវឱ្យអ្នកប្រើប្រាស់ root ដោយគ្មានការចូលប្រើជា root ពិតប្រាកដ។
សូមចងចាំថា អ្នកប្រហែលជាត្រូវបញ្ចូលពាក្យសម្ងាត់សម្រាប់អ្នកប្រើប្រាស់ sudo ក្នុងអំឡុងពេលប្រតិបត្តិការនេះ។ និមិត្តសញ្ញារបស់វាប្រហែលជាមិនត្រូវបានបង្ហាញនៅពេលចូលទេ (សម្រាប់ហេតុផលសុវត្ថិភាព) ទោះជាយ៉ាងណាក៏ដោយ ពាក្យសម្ងាត់នឹងត្រូវបានទទួលយកប្រសិនបើបញ្ចូលត្រឹមត្រូវ។ ពាក្យសម្ងាត់នេះអាចនឹងត្រូវបានផ្តល់ឱ្យអ្នកដោយអ្នកគ្រប់គ្រង Server របស់អ្នក ឬក្រុមគាំទ្រអ្នកផ្តល់សេវាបង្ហោះ ដូច្នេះប្រសិនបើអ្នកមិនដឹងពាក្យសម្ងាត់ទេ យើងស្នើឱ្យទាក់ទងពួកគេសម្រាប់ជំនួយបន្ថែម។
Tip 2
ប្រសិនបើអ្នកឃើញថា SSL ត្រូវបានដំឡើងដោយគ្មានកញ្ចប់ CA អ្នកអាចបន្ថែមកញ្ចប់ CA ដោយគ្មានការផ្លាស់ប្តូរសំខាន់ណាមួយចំពោះការកំណត់រចនាសម្ព័ន្ធ។
ក្នុងករណីនេះ សូមស្វែងរកឯកសារកំណត់រចនាសម្ព័ន្ធ SSL នៅលើ Server របស់អ្នកដោយធ្វើតាមជំហានក្នុងការណែនាំសម្រាប់ apache2 ឬ httpd ។ កំណត់ទីតាំងផ្លូវទៅកាន់ SSLCertificateFile នៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធ ហើយបើកឯកសារតាមរយៈផ្លូវនោះសម្រាប់កែសម្រួល។ អ្នកនឹងឃើញប្លុកកូដមួយនៅទីនោះ (ដែលជា SSL ខ្លួនឯង)។ អ្នកអាចទាញយកឯកសារកញ្ចប់ CA ពីគណនី 1Byte របស់អ្នក (វាត្រូវបានទាញយកនៅក្នុងបណ្ណសារតែមួយជាមួយនឹងវិញ្ញាបនបត្រ SSL) ហើយចម្លងមាតិកាឯកសារ .ca-bundle ទាំងមូលទៅ SSLCertificateFile ដែលបានបើក។
លេខកូដកញ្ចប់ CA ថ្មីគួរតែត្រូវបានបញ្ចូលពីបន្ទាត់ថ្មីបន្ទាប់ពីលេខកូដ SSL ដែលមានវត្តមាននៅទីនោះ ដោយមិនបន្ថែមបន្ទាត់ថ្មីណាមួយរវាងពួកវាដូចនេះ៖

Tip 3
សម្រាប់ apache2 មានវិធីជាច្រើនដើម្បីគ្រប់គ្រងការកំណត់រចនាសម្ព័ន្ធសម្រាប់ច្រក 443 HTTPS ។
វាអាចទៅរួចក្នុងការបន្ថែមប្លុកការកំណត់ HTTPS ទៅឯកសារកំណត់រចនាសម្ព័ន្ធដូចគ្នាដែលកំណត់ការតភ្ជាប់ច្រក HTTP 80 (ជាធម្មតាវាត្រូវបានគេហៅថា 000-default.conf) ។ វិធីសាស្រ្តនេះត្រូវបានរៀបរាប់នៅក្នុងការណែនាំពីមុន។ គុណសម្បត្តិនៃវិធីសាស្រ្តនេះគឺថាការកំណត់ទាំងអស់សម្រាប់គេហទំព័រត្រូវបានគ្រប់គ្រងក្នុងឯកសារតែមួយ ហើយអាចកំណត់ទីតាំង និងកែប្រែបានយ៉ាងឆាប់រហ័ស។ គុណវិបត្តិគឺថាឯកសារ SSL អាចបាត់បង់ក្នុងចំណោមកូដផ្សេងទៀតនៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធធំ ហើយអាចពិបាកក្នុងការកំណត់ទីតាំងសម្រាប់ការកែប្រែ ឬដកចេញ។
វិធីសាស្ត្រជំនួសគឺបង្កើតឯកសារកំណត់រចនាសម្ព័ន្ធដាច់ដោយឡែកមួយនៅក្នុងថតដូចគ្នានឹងឯកសារលំនាំដើមសម្រាប់ការតភ្ជាប់ HTTP ។ ប្រសិនបើថតឯកសារត្រូវបានបើក /etc/apache2/sites-enabled មិនចាំបាច់មានសកម្មភាពពិសេសបន្ថែមទៀតដើម្បីទទួលយក និងប្រើប្រាស់ឯកសារកំណត់រចនាសម្ព័ន្ធទេ។ គ្រាន់តែធ្វើតាមជំហានពីការណែនាំទាក់ទងនឹងការបន្ថែមប្លុកនៃកូដ ការត្រួតពិនិត្យវាក្យសម្ព័ន្ធ និងការចាប់ផ្តើមសេវាកម្ម Apache ឡើងវិញ។
ហើយប្រសិនបើឯកសារថ្មីត្រូវបានបង្កើតនៅក្នុង /etc/apache2/sites-available folder អ្នកនឹងត្រូវដំណើរការពាក្យបញ្ជាខាងក្រោមបន្ទាប់ពីឯកសារត្រូវបានបង្កើត ហើយលេខកូដចាំបាច់ត្រូវបានរក្សាទុកនៅក្នុងវា៖
sudo a2ensite your_ssl_config_name
បន្ទាប់ពីនោះ សូមបន្តពិនិត្យ Syntax ហើយសេវាកម្ម Apache ចាប់ផ្តើមឡើងវិញ ដើម្បីបញ្ចប់ដំណើរការដំឡើង។