خيرات لاء بادل: لڏپلاڻ گائيڊ

خيرات لاء بادل: لڏپلاڻ گائيڊ

گهڻو وقت اڳ، Mail.Ru Cloud Solutions (MCS) ۽ Dobro Mail.Ru سروس شروع ڪيو پروجيڪٽ “خيرات لاء بادل"، جنهن جي مهرباني، غير منافع بخش تنظيمون حاصل ڪري سگهن ٿيون وسيلن کي MCS ڪلائوڊ پليٽ فارم مفت ۾. خيراتي فائونڊيشن"چڱائي جو رياضي» منصوبي ۾ حصو ورتو ۽ ڪاميابيءَ سان ان جي بنيادي ڍانچي جو حصو MCS جي بنياد تي لڳايو.

تصديق پاس ڪرڻ کان پوء، هڪ NPO MCS کان مجازي صلاحيت حاصل ڪري سگهي ٿو، پر وڌيڪ ترتيب ڏيڻ لاء ڪجهه قابليت جي ضرورت آهي. هن مواد ۾، اسان هڪ Ubuntu Linux-based سرور قائم ڪرڻ لاءِ خاص هدايتون شيئر ڪرڻ چاهيون ٿا بنيادي بنيادن جي ويب سائيٽ ۽ ڪيترن ئي ذيلي ڊومينز کي هلائڻ لاءِ مفت SSL سرٽيفڪيٽ استعمال ڪندي. ڪيترن ئي لاء، هي هڪ سادي گائيڊ هوندو، پر اسان کي اميد آهي ته اسان جو تجربو ٻين غير منافع بخش تنظيمن لاء مفيد ثابت ٿيندو، ۽ نه رڳو.

ايف آء: توهان MCS مان ڇا حاصل ڪري سگهو ٿا؟ 4 سي پي يوز، 32 GB ريم، 1 TB HDD، Ubuntu Linux OS، 500 GB اعتراض اسٽوريج.

قدم 1: ورچوئل سرور لانچ ڪريو

اچو ته سڌو سنئون نقطي تي وڃو ۽ پنهنجو مجازي سرور ٺاهيو (اڪا "مثال") توهان جي MCS ذاتي اڪائونٽ ۾. ايپ اسٽور ۾، توهان کي هڪ تيار ٿيل LAMP اسٽيڪ چونڊڻ ۽ انسٽال ڪرڻ جي ضرورت آهي، جيڪو سرور سافٽ ويئر جو هڪ سيٽ آهي (LAMP = Linux، Apache، MySQL، PHP) اڪثر ويب سائيٽن کي هلائڻ لاءِ ضروري آهي.

خيرات لاء بادل: لڏپلاڻ گائيڊ
خيرات لاء بادل: لڏپلاڻ گائيڊ
خيرات لاء بادل: لڏپلاڻ گائيڊ
مناسب سرور جي ٺاھ جوڙ کي چونڊيو ۽ نئين SSH ڪيچ ٺاھيو. "انسٽال" بٽڻ تي ڪلڪ ڪرڻ کان پوء، سرور ۽ LAMP اسٽيڪ جي تنصيب شروع ٿيندي، اهو ڪجهه وقت وٺندو. سسٽم پڻ پيش ڪندو توهان جي ڪمپيوٽر تي هڪ خانگي ڪيچ ڊائون لوڊ ڪرڻ لاءِ ڪنسول ذريعي ورچوئل مشين کي منظم ڪرڻ لاءِ، ان کي محفوظ ڪريو.

ايپليڪيشن کي انسٽال ڪرڻ کان پوء، اچو ته فوري طور تي فائر وال کي سيٽ ڪريو، اهو پڻ توهان جي ذاتي اڪائونٽ ۾ ڪيو ويندو آهي: "Cloud computing -> Virtual machines" سيڪشن ڏانهن وڃو ۽ "فائر وال سيٽ ڪرڻ" کي چونڊيو:

خيرات لاء بادل: لڏپلاڻ گائيڊ
توهان کي پورٽ 80 ۽ 9997 ذريعي اچڻ واري ٽرئفڪ لاءِ اجازت شامل ڪرڻ جي ضرورت آهي. اهو ضروري آهي مستقبل ۾ SSL سرٽيفڪيٽن کي انسٽال ڪرڻ ۽ phpMyAdmin سان ڪم ڪرڻ لاءِ. نتيجي طور، ضابطن جو سيٽ هن طرح ڏسڻ گهرجي:

خيرات لاء بادل: لڏپلاڻ گائيڊ
هاڻي توهان SSH پروٽوڪول استعمال ڪندي ڪمانڊ لائن ذريعي پنهنجي سرور سان ڳنڍي سگهو ٿا. ائين ڪرڻ لاءِ، ھيٺ ڏنل حڪم ٽائيپ ڪريو، توھان جي ڪمپيوٽر تي SSH ڪيچ ڏانھن اشارو ڪندي ۽ توھان جي سرور جي خارجي IP پتي (توھان ان کي "ورچوئل مشين" سيڪشن ۾ ڳولي سگھو ٿا):

$ ssh -i /путь/к/ключу/key.pem ubuntu@<ip_сервера>

جڏهن پهريون ڀيرو سرور سان ڳنڍڻ، ان تي سڀني موجوده تازه ڪارين کي انسٽال ڪرڻ ۽ ان کي ريبوٽ ڪرڻ جي صلاح ڏني وئي آهي. هن کي ڪرڻ لاء، هيٺين حڪمن کي هلائڻ:

$ sudo apt-get update

سسٽم تازه ڪارين جي هڪ فهرست حاصل ڪندو، انهن کي هن حڪم کي استعمال ڪندي انسٽال ڪريو ۽ هدايتن تي عمل ڪريو:

$ sudo apt-get upgrade

تازه ڪاريون انسٽال ڪرڻ کان پوء، سرور کي ٻيهر شروع ڪريو:

$ sudo reboot

مرحلا 2: ورچوئل هوسٽ سيٽ اپ ڪريو

ڪيترن ئي غير منافع بخش ادارن کي ساڳئي وقت ڪيترن ئي ڊومينز يا ذيلي ڊومينز کي برقرار رکڻ جي ضرورت آهي (مثال طور، هڪ مکيه ويب سائيٽ ۽ پروموشنل مهمن لاءِ ڪيترائي لينڊنگ صفحا وغيره). اهو سڀ ڪجهه آساني سان هڪ سرور تي رکي سگهجي ٿو ڪيترن ئي ورچوئل هوسٽ ٺاهي.

پهرين اسان کي انهن سائيٽن لاءِ ڊاريڪٽري ڍانچي ٺاهڻ جي ضرورت آهي جيڪا سنڌين کي ڏيکاري ويندي. اچو ته ڪجهه ڊاريڪٽريون ٺاهيون:

$ sudo mkdir -p /var/www/a-dobra.ru/public_html

$ sudo mkdir -p /var/www/promo.a-dobra.ru/public_html

۽ موجوده استعمال ڪندڙ جي مالڪ جي وضاحت ڪريو:

$ sudo chown -R $USER:$USER /var/www/a-dobra.ru/public_html

$ sudo chown -R $USER:$USER /var/www/promo.a-dobra.ru/public_html

متغير $USER استعمال ڪندڙ جو نالو شامل آھي جنھن جي ھيٺان توھان في الحال لاگ اِن آھيو (ڊفالٽ طور ھي استعمال ڪندڙ آھي ubuntu). ھاڻي موجوده صارف عوامي_html ڊاريڪٽريز جو مالڪ آھي جتي اسان مواد ذخيرو ڪنداسين.

اسان کي اجازتن ۾ ٿوري ترميم ڪرڻ جي به ضرورت آهي انهي کي يقيني بڻائڻ لاءِ ته پڙهڻ جي رسائي شيئر ڪيل ويب ڊاريڪٽري ۽ ان ۾ شامل سڀني فائلن ۽ فولڊرن تائين آهي. اهو ضروري آهي ته سائيٽ جي صفحن کي صحيح طور تي ظاهر ڪرڻ لاء:

$ sudo chmod -R 755 /var/www

توھان جي ويب سرور کي ھاڻي اجازت ھجڻ گھرجي ان کي مواد ڏيکارڻ جي ضرورت آھي. اضافي طور تي، توهان جي صارف کي هاڻي گهربل ڊائريڪٽرن ۾ مواد ٺاهڻ جي صلاحيت آهي.

هتي اڳ ۾ ئي هڪ index.php فائل آهي /var/www/html ڊاريڪٽري ۾، اچو ته ان کي نقل ڪريون اسان جي نئين ڊاريڪٽري ۾ - اهو ئي هوندو اسان جو مواد في الحال:

$ cp /var/www/html/index.php /var/www/a-dobra.ru/public_html/index.php

$ cp /var/www/html/index.php /var/www/promo.a-dobra.ru/public_html/index.php

هاڻي توهان کي پڪ ڪرڻ جي ضرورت آهي ته صارف توهان جي سائيٽ تائين رسائي ڪري سگهي ٿو. هن کي ڪرڻ لاءِ، اسان پهريون ڀيرو ورچوئل هوسٽ فائلن کي ترتيب ڏينداسين، جيڪي اهو طئي ڪندا ته Apache ويب سرور ڪيئن مختلف ڊومينز جي درخواستن جو جواب ڏيندو.

ڊفالٽ طور، Apache وٽ هڪ ورچوئل ميزبان فائل آهي 000-default.conf جنهن کي اسين شروعاتي نقطي طور استعمال ڪري سگهون ٿا. اسان هن کي نقل ڪرڻ وارا آهيون مجازي ميزبان فائلون ٺاهڻ لاءِ اسان جي هر ڊومين لاءِ. اسان هڪ ڊومين سان شروع ڪنداسين، ان کي ترتيب ڏينداسين، ان کي ٻئي ڊومين ۾ نقل ڪنداسين، ۽ پوء ضروري تبديليون ٻيهر ڪنداسين.

Ubuntu جي ڊفالٽ ترتيب جي ضرورت آهي ته هر ورچوئل ميزبان فائل ۾ *.conf ايڪسٽينشن هجي.

اچو ته پهرين ڊومين لاءِ فائل کي نقل ڪندي شروع ڪريون:

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/a-dobra.ru.conf

روٽ حقن سان ايڊيٽر ۾ نئين فائل کوليو:

$ sudo nano /etc/apache2/sites-available/a-dobra.ru.conf

ھيٺ ڏنل ڊيٽا کي تبديل ڪريو، پورٽ 80 جي وضاحت ڪندي، توھان جي ڊيٽا لاء ServerAdmin, ServerName, ServerAlias، انهي سان گڏ توهان جي سائيٽ جي روٽ ڊاريڪٽري ڏانهن رستو، فائل کي محفوظ ڪريو (Ctrl+X، پوء Y):

<VirtualHost *:80>
 
    ServerAdmin [email protected]
    ServerName a-dobra.ru
    ServerAlias www.a-dobra.ru
 
    DocumentRoot /var/www/a-dobra.ru/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 
    <Directory /var/www/a-dobra.ru/public_html>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
 
    <FilesMatch .php$>
        SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>
 
</VirtualHost>

ServerName پرائمري ڊومين کي سيٽ ڪري ٿو، جيڪو لازمي طور تي ورچوئل ميزبان نالي سان ملندو. اهو توهان جو ڊومين نالو هجڻ گهرجي. ٻيون، ServerAlias, ٻين نالن جي وضاحت ڪري ٿو جن کي تشريح ڪرڻ گهرجي ڄڻ ته اهو بنيادي ڊومين هو. هي اضافي ڊومين جا نالا استعمال ڪرڻ لاءِ آسان آهي، مثال طور www استعمال ڪندي.

اچو ته هن ترتيب کي ڪنهن ٻئي ميزبان لاءِ نقل ڪريون ۽ ان کي ساڳئي طريقي سان تبديل ڪريون:

$ sudo cp /etc/apache2/sites-available/a-dobra.ru.conf /etc/apache2/sites-available/promo.a-dobra.ru.conf

توهان ٺاهي سگهو ٿا ڪيتريون ئي ڊائريڪٽريون ۽ مجازي ميزبان پنهنجي ويب سائيٽن لاءِ جيئن توهان چاهيو! هاڻي ته اسان پنهنجون ورچوئل هوسٽ فائلون ٺاهيون آهن، اسان کي انهن کي فعال ڪرڻ جي ضرورت آهي. اسان استعمال ڪري سگھون ٿا a2ensite افاديت اسان جي هر سائيٽ کي فعال ڪرڻ لاءِ هن طرح:

$ sudo a2ensite a-dobra.ru.conf

$ sudo a2ensite promo.a-dobra.ru.conf 

ڊفالٽ طور، بندرگاهه 80 LAMP ۾ بند ٿيل آهي، ۽ اسان کي ان جي ضرورت پوندي بعد ۾ هڪ SSL سرٽيفڪيٽ نصب ڪرڻ لاءِ. تنهن ڪري اچو ته فوري طور تي ports.conf فائل کي تبديل ڪريو ۽ پوء Apache کي ٻيهر شروع ڪريو:

$ sudo nano /etc/apache2/ports.conf

نئين لائين شامل ڪريو ۽ فائل کي محفوظ ڪريو پوء اھو ھن طرح نظر اچي ٿو:

Listen 80
Listen 443
Listen 9997

سيٽنگون مڪمل ڪرڻ کان پوء، توهان کي اپاچي کي ٻيهر شروع ڪرڻ جي ضرورت آهي سڀني تبديلين کي اثر انداز ڪرڻ لاء:

$ sudo systemctl reload apache2

قدم 3: سيٽ اپ ڊومين جا نالا

اڳيون، توهان کي DNS رڪارڊ شامل ڪرڻ جي ضرورت آهي جيڪا توهان جي نئين سرور ڏانهن اشارو ڪندي. ڊومينز کي منظم ڪرڻ لاء، اسان جي رياضيات جو سٺو فائونڊيشن dns-master.ru سروس استعمال ڪري ٿو، اسان ان کي هڪ مثال سان ڏيکارينداسين.

مکيه ڊومين لاءِ هڪ رڪارڊ قائم ڪرڻ عام طور تي هن ريت ظاهر ڪيو ويندو آهي (سائن @):

خيرات لاء بادل: لڏپلاڻ گائيڊ
ذيلي ڊومينز لاءِ رڪارڊ عام طور تي ھن طرح بيان ڪيو ويندو آھي:

خيرات لاء بادل: لڏپلاڻ گائيڊ
IP پتو لينڪس سرور جو پتو آھي جيڪو اسان ٺاھيو آھي. توھان وضاحت ڪري سگھو ٿا TTL = 3600.

ڪجهه وقت کان پوء، اهو ممڪن ٿيندو ته توهان جي سائيٽ جو دورو ڪرڻ، پر هاڻي لاء صرف ذريعي http://. ايندڙ قدم ۾ اسان سپورٽ شامل ڪنداسين https://.

قدم 4: مفت SSL سرٽيفڪيٽ سيٽ اپ ڪريو

توهان مفت حاصل ڪري سگهو ٿا اچو ته انڪرپٽ SSL سرٽيفڪيٽ توهان جي مکيه سائيٽ ۽ سڀني ذيلي ڊومينز لاءِ. توھان پڻ انھن جي خودڪار تجديد کي ترتيب ڏئي سگھو ٿا، جيڪو تمام آسان آھي. SSL سرٽيفڪيٽ حاصل ڪرڻ لاء، توهان جي سرور تي Certbot انسٽال ڪريو:

$ sudo add-apt-repository ppa:certbot/certbot

انسٽال ڪريو Certbot پيڪيج Apache استعمال ڪرڻ لاءِ apt:

$ sudo apt install python-certbot-apache 

هاڻي Certbot استعمال ڪرڻ لاء تيار آهي، حڪم هلائي:

$ sudo certbot --apache -d a-dobra.ru -d www.a-dobra.ru -d promo.a-dobra.ru

هي حڪم هلائي ٿو certbot، ڪيز -d ڊومين جا نالا بيان ڪريو جن لاءِ سرٽيفڪيٽ جاري ڪيو وڃي.

جيڪڏهن اهو پهريون ڀيرو آهي ته توهان شروع ڪيو certbot، توهان کي چيو ويندو توهان جو اي ميل پتو داخل ڪرڻ ۽ خدمت جي استعمال جي شرطن سان متفق. certbot پوءِ Let's Encrypt سرور سان رابطو ڪندو ۽ پوءِ تصديق ڪندو ته توھان اصل ۾ ڊومين تي ڪنٽرول ڪيو آھي جنھن لاءِ توھان سرٽيفڪيٽ جي درخواست ڪئي آھي.

جيڪڏهن سڀ ڪجهه ٺيڪ ٿي ويو، certbot پڇندو ته توهان HTTPS جي ترتيب کي ڪيئن ترتيب ڏيڻ چاهيو ٿا:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

اسان اختيار 2 کي چونڊڻ ۽ ENTER کي دٻائڻ جي صلاح ڏيو ٿا. ٺاھ جوڙ کي اپڊيٽ ڪيو ويندو ۽ اپاچي کي ٻيهر شروع ڪيو ويندو تبديلين کي لاڳو ڪرڻ لاءِ.

توهان جا سرٽيفڪيٽ هاڻي ڊائون لوڊ، نصب ۽ ڪم ڪري رهيا آهن. ڪوشش ڪريو پنھنجي سائيٽ https:// سان ٻيهر لوڊ ڪريو ۽ توھان ڏسندؤ سيڪيورٽي آئڪن توھان جي برائوزر ۾. جيڪڏھن توھان پنھنجي سرور کي جانچيو SSL ليبز سرور ٽيسٽ، هن کي اي گريڊ ملندو.

اچو ته انڪريپٽ سرٽيفڪيٽ صرف 90 ڏينهن لاءِ صحيح آهن، پر اسان صرف نصب ڪيل سرٽيفڪيٽ پيڪيج پاڻمرادو تجديد ٿي ويندا. تازه ڪاري جي عمل کي جانچڻ لاءِ، اسان ڪري سگھون ٿا سڪي رن آف certbot:

$ sudo certbot renew --dry-run 

جيڪڏهن توهان هن حڪم کي هلائڻ جي نتيجي ۾ ڪا به غلطي نه ٿا ڏسو، پوء سڀ ڪجهه ڪم ڪري رهيو آهي!

قدم 5: رسائي MySQL ۽ phpMyAdmin

ڪيتريون ئي ويب سائيٽون ڊيٽابيس استعمال ڪن ٿيون. ڊيٽابيس مينيجمينٽ لاءِ phpMyAdmin ٽول اڳ ۾ ئي اسان جي سرور تي انسٽال ٿيل آهي. ان تائين رسائي حاصل ڪرڻ لاءِ، لنڪ استعمال ڪندي پنھنجي برائوزر ڏانھن وڃو جھڙوڪ:

https://<ip-адрес сервера>:9997

روٽ رسائي لاءِ پاسورڊ حاصل ڪري سگھجي ٿو توھان جي MCS ذاتي اڪائونٽ ۾ (https://mcs.mail.ru/app/services/marketplace/apps/). پهريون ڀيرو لاگ ان ٿيڻ تي پنهنجو روٽ پاسورڊ تبديل ڪرڻ نه وساريو!

قدم 6: SFTP ذريعي فائل اپلوڊ سيٽ اپ ڪريو

ڊولپرز توهان جي ويب سائيٽ لاءِ SFTP ذريعي فائلون اپلوڊ ڪرڻ ۾ آسان هوندا. هن کي ڪرڻ لاء، اسان هڪ نئون صارف ٺاهينداسين، ان کي سڏين ٿا ويب ماسٽر:

$ sudo adduser webmaster

سسٽم توهان کي پاسورڊ سيٽ ڪرڻ ۽ ڪجهه ٻيو ڊيٽا داخل ڪرڻ لاءِ پڇندو.

توھان جي ويب سائيٽ سان ڊاريڪٽري جي مالڪ کي تبديل ڪرڻ:

$ sudo chown -R webmaster:webmaster /var/www/a-dobra.ru/public_html

هاڻي اچو ته SSH ترتيب کي تبديل ڪريو ته جيئن نئين صارف کي صرف SFTP تائين رسائي حاصل ٿئي ۽ SSH ٽرمينل نه:

$ sudo nano /etc/ssh/sshd_config

ٺاھ جوڙ واري فائل جي بلڪل آخر تائين سکرول ڪريو ۽ ھيٺ ڏنل بلاڪ شامل ڪريو:

Match User webmaster
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/a-dobra.ru
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

فائل محفوظ ڪريو ۽ سروس ٻيهر شروع ڪريو:

$ sudo systemctl restart sshd

هاڻي توهان ڪنهن به SFTP ڪلائنٽ ذريعي سرور سان ڳنڍي سگهو ٿا، مثال طور، FileZilla ذريعي.

نتيجو

  1. ھاڻي توھان ڄاڻو ٿا ته نئين ڊاريڪٽري ڪيئن ٺاھيو ۽ ھڪڙي سرور ۾ توھان جي ويب سائيٽن لاءِ ورچوئل ھوسٽ کي ترتيب ڏيو.
  2. توهان آساني سان گهربل SSL سرٽيفڪيٽ ٺاهي سگهو ٿا - اهو مفت آهي، ۽ اهي خودڪار طور تي اپڊيٽ ڪيا ويندا.
  3. توهان آساني سان ڪم ڪري سگهو ٿا MySQL ڊيٽابيس سان واقف phpMyAdmin ذريعي.
  4. نوان SFTP اڪائونٽ ٺاهڻ ۽ رسائي جي حقن کي قائم ڪرڻ لاءِ گهڻي ڪوشش جي ضرورت ناهي. اهڙا اڪائونٽ ٽين پارٽي ويب ڊولپرز ۽ سائيٽ ايڊمنسٽريٽرن ڏانهن منتقل ڪري سگھجن ٿا.
  5. وقتي طور تي سسٽم کي اپڊيٽ ڪرڻ نه وساريو، ۽ اسان پڻ بيڪ اپ ڪرڻ جي صلاح ڏيو ٿا - MCS ۾ توهان هڪ ڪلڪ سان سڄي سسٽم جا "سنيپ شاٽ" وٺي سگهو ٿا، ۽ پوء، جيڪڏهن ضروري هجي ته، سموريون تصويرون لانچ ڪريو.

استعمال ٿيل وسيلا جيڪي مفيد ٿي سگھن ٿا:

https://www.digitalocean.com/community/tutorials/apache-ubuntu-14-04-lts-ru
https://www.digitalocean.com/community/tutorials/apache-let-s-encrypt-ubuntu-18-04-ru
https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-ubuntu-18-04

رستي ۾، هتي توهان VC تي پڙهي سگهو ٿا ته ڪيئن اسان جي فائونڊيشن MCS ڪلائوڊ جي بنياد تي يتيم ٻارن لاءِ آن لائن تعليم لاءِ پليٽ فارم تيار ڪيو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو