مراحل تنظیم ssl در لینوکس
اولین نکته ای که برای تنظیم نمودن ssl باید مورد توجه قرار بگیرد، وجود دامنه بر روی ip مورد نظر است. ssl باید بر روی دامنه تنظیم گردد.
۱ . به سرور مورد نظر لاگین نموده و دستور زیر را به منظور بررسی فعال بودن ماژول ssl وارد می کنیم:
apache2ctl -M | grep -i ssl
telnet IPAdress 443
در صورت فعال نبودن بایستی ماژول SSL را توسط دستور زیر فعال نمایید:
a2enmod ssl
سپس دستور زیر را به منظور بررسی listen شدن پورت ۴۴۳ وارد می کنیم:
netstat -lntp
۲ . فایل های مربوط به اطلاعات کلیدها را توسط دستورات scp – rsync و یا نرم افزار winscp به سرور انتقال می دهیم.
حال به مسیر زیر می رویم:
cd /etc/ssl/
در اینجا برای مرتب تر شدن بهتر است فایل های ssl را که در مرحله قبل به سرور انتقال دادیم در یک folder جداگانه قرار دهیم (در اینجا نام folder ما office است)
- private-key
- SSLCertificate
در برخی موارد مشتری فایل bundle را نیز ارسال می کند که بهتر است تنظیم شود.
خب تا اینجا فایل هایی را که لازم داشتید، در مسیر مربوطه قرار دادید.
۳ . حال باید به مسیر زیر رفته و این فایل ها را فراخوانی کنید:
cd /etc/apache2/sites-available
در اینجا یک فایل جدید می سازید و بسته به مسیر فایل های کلید و نام دامنه خود، خطوط زیر را در آن قرار داده و ذخیره می کنید.(در اینجا نام دامنه office.ugsr.ir بوده است.)
vim office-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName office.ugsr.ir
ServerAlias www.office.ugsr.ir
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error-office-ssl.log //اختیاری- در صورتی که تنظیم نشود در error.log قرار می گیرد
CustomLog ${APACHE_LOG_DIR}/access-office-ssl.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/office/star.ugsr.irSSLCertificate.cer //SSLCertificate مسیر فایل
SSLCertificateKeyFile /etc/ssl/office/private-key.txt //private-key مسیر فایل کلید
SSLCACertificateFile /etc/ssl/office/bundle.txt //bundle مسیر فایل
</VirtualHost>
</IfModule>
حال دستور زیر را به منظور فعال شدن فایل مربوطه در site-enabled وارد می کنیم (دستور زیر یک لینک از فایل مربوطه در site_enabled ایجاد می کند)
a2ensite office-ssl.conf
حال برای اعمال تغییرات بایستی سرویس apache را reload کنیم:
service apache2 reload
تا اینجا سرویس ssl فعال شد. برای اطمینان به سایت sslshopper.com رفته و آدرس دامنه را وارد می کنیم، بایستی در خروجی همه ی موارد تیک سبز خورده باشد.
برای redirect شدن http به https نیز مراحل زیر را انجام می دهیم:
۱ . یک فایل دیگر در مسیر cd /etc/apache2/sites-available ایجاد کنید:
vim office.conf
۲ . خطوط زیر را بسته به نام دامنه خودتان در آن قرار دهید:(در اینجا نام دامنه office.ugsr.ir بوده است.)
<VirtualHost *:80>
ServerName office.ugsr.ir
ServerAlias www.office.ugsr.ir
Redirect permanent / https://office.ugsr.ir
</VirtualHost>
۳ . دستورات زیر را به منظور فعال نمودن آن در فایل site-enabled اجرا کنید:
a2ensite office.conf
service apache2 reload
۴ . حال درصورتی که سرویس rewrite فعال بوده باشد بایستی redirect به درستی انجام شود. به منظور تست فعال بودن آن بایستی دستور زیر را اجرا کنید:
apache2ctl -M|grep -i rewrite
در صورت فعال نبودن دستورات زیر باید اجرا گردد:
a2enmod rewrite
service apache2 restart