CentOS 8 இல் மெய்நிகர் ஹோஸ்டுடன் அப்பாச்சியை எவ்வாறு நிறுவுவது
அப்பாச்சி வெப்சர்வர் என்பது ஒரு திறந்த மூல மற்றும் பிரபலமான HTTP வலை சேவையகமாகும், இது ஹோஸ்டிங் துறையில் ஒரு பெரிய சந்தை பங்கை தொடர்ந்து அனுபவித்து வருகிறது. தொகுதி மேம்பாடுகள், மல்டி-புரோட்டோகால் ஆதரவு, எளிமைப்படுத்தப்பட்ட உள்ளமைவு மற்றும் பல மொழி ஆதரவு உள்ளிட்ட பல அம்சங்களுடன் இது அனுப்பப்படுகிறது.
இந்த வழிகாட்டியில், சென்டோஸ் 8 மற்றும் ஆர்ஹெல் 8 இல் அப்பாச்சி வெப்சர்வரை நிறுவுவதன் மூலம் மெய்நிகர் ஹோஸ்ட் சூழலுடன் நாங்கள் உங்களை அழைத்துச் செல்வோம். இந்த டுடோரியலை எழுதும் நேரத்தில், அப்பாச்சியின் சமீபத்திய பதிப்பு அப்பாச்சி 2.2.43 ஆகும்.
அப்பாச்சி வலை சேவையகத்தை நிறுவுகிறது
தொடங்குவதற்கு, பின்வரும் dnf கட்டளையைப் பயன்படுத்தி முதலில் உங்கள் CentOS 8 அல்லது RHEL 8 கணினி தொகுப்பு பட்டியலைப் புதுப்பிக்கவும்.
$ sudo dnf update
புதுப்பிப்பு முடிந்ததும், பின்வரும் கட்டளையை செயல்படுத்துவதன் மூலம் அப்பாச்சி வெப்சர்வரை நிறுவவும்.
$ sudo dnf install httpd
நிறுவப்பட்டதும், நீங்கள் rpm கட்டளையை இயக்குவதன் மூலம் அப்பாச்சியின் பதிப்பை சரிபார்க்கலாம்.
$ rpm -qi httpd
கட்டளை பதிப்பின் பதிப்பு, வெளியீட்டு தேதி, உருவாக்க மற்றும் கட்டமைப்பு போன்ற தகவல்களின் வரிசையை அச்சிடுகிறது.
அப்பாச்சி HTTP வலை சேவையைத் தொடங்க, systemctl கட்டளையை இயக்கவும்.
$ sudo systemctl start httpd
சேவை இயங்குகிறதா என்பதை உறுதிப்படுத்த, இயக்கவும்.
$ sudo systemctl status httpd
வெளியீட்டில் இருந்து, பச்சை நிறத்தில் உள்ள ‘செயலில்’ நிலை அப்பாச்சி வெப்சர்வர் இயங்குவதைக் குறிக்கிறது.
வெப்சர்வர் இயங்குகிறது என்பதில் ஏதேனும் சந்தேகங்கள் இருந்தால், உங்கள் சேவையகத்தின் ஐபி முகவரி அல்லது டொமைன் பெயரைக் காட்டியபடி உலாவுவதன் மூலம் அப்பாச்சியிலிருந்து ஒரு சோதனை பக்கத்தைக் கோருங்கள்.
http://server-ip
சுருட்டை கட்டளையை இயக்குவதன் மூலம் உங்கள் சேவையக ஐபி பெறலாம்.
$ curl ifconfig.me OR $ curl -4 icanhazip.com
சேவையகத்தின் ஐபி முகவரியை உலாவும்போது, பின்வரும் வலைப்பக்கத்தைக் காண்பிக்க வேண்டும்.
வெப்சர்வர் இயங்குகிறது என்பதற்கான உறுதியான உறுதிப்படுத்தல் இது.
அப்பாச்சி வெப்சர்வரை நிர்வகித்தல்
அப்பாச்சி நிறுவப்பட்டு இயங்கும்போது, அப்பாச்சியை நிர்வகிக்க systemctl ஆய்வு கருவியைப் பயன்படுத்தலாம்.
எடுத்துக்காட்டாக, அப்பாச்சியை நிறுத்த, கட்டளையை இயக்கவும்:
$ sudo systemctl stop httpd
சேவையை மீண்டும் தொடங்க, இயக்கவும்:
$ sudo systemctl start httpd
அதன் உள்ளமைவு கோப்புகளில் ஏதேனும் மாற்றங்களைச் செய்திருந்தால், மாற்றங்களைப் பயன்படுத்த நீங்கள் மறுதொடக்கம் செய்ய வேண்டும் என்றால், கட்டளையை இயக்கவும்:
$ sudo systemctl restart httpd
சேவையை மறுதொடக்கம் செய்வது பொதுவாக சேவைக்கு இடையூறு விளைவிக்கும். இணைப்பில் எந்த இடையூறும் இல்லாமல் வெறுமனே மீண்டும் ஏற்றுவது ஒரு சிறந்த மாற்று.
$ sudo systemctl reload httpd
அப்பாச்சி வலை சேவையகத்தை துவக்க அல்லது மறுதொடக்கம் செய்தவுடன் தானாகவே தொடங்க கீழேயுள்ள கட்டளையை இயக்கவும். இது உங்கள் தலையீடு இல்லாமல் அப்பாச்சி தானாகவே தொடங்குகிறது என்பதை உறுதி செய்யும்.
$ sudo systemctl enable httpd
துவக்கத்தில் சேவையை தானாகவே தொடங்க வேண்டாம் என்று நீங்கள் தேர்வுசெய்தால், இயக்கவும்:
$ sudo systemctl disable httpd
அப்பாச்சி மெய்நிகர் ஹோஸ்ட்களை அமைத்தல்
இயல்பாக, அப்பாச்சி வலை சேவையகம் ஒரு வலைத்தளத்திற்கு மட்டுமே சேவை செய்ய அல்லது ஹோஸ்ட் செய்ய கட்டமைக்கப்பட்டுள்ளது. நீங்கள் ஒரு வலைத்தளத்தை மட்டுமே ஹோஸ்ட் செய்ய விரும்பினால், இந்த படி தேவையில்லை. உங்கள் சேவையகத்தில் பல களங்களை ஹோஸ்ட் செய்ய நீங்கள் திட்டமிட்டால், நீங்கள் அப்பாச்சி மெய்நிகர் ஹோஸ்ட்களை உள்ளமைக்க வேண்டும்.
மெய்நிகர் ஹோஸ்ட் என்பது ஒரு தனி கோப்பு, இது இயல்புநிலையிலிருந்து ஒரு தனி டொமைனை அமைக்க உங்களை அனுமதிக்கும் உள்ளமைவுகளைக் கொண்டுள்ளது. இந்த வழிகாட்டிக்காக, madtechgeek.info டொமைனுக்கான மெய்நிகர் ஹோஸ்டை அமைப்போம்.
இயல்புநிலை மெய்நிகர் ஹோஸ்ட் /var/www/html
கோப்பகத்தில் அமைந்துள்ளது. இது ஒரு தளத்திற்கு மட்டுமே வேலை செய்யும். எங்கள் டொமைனுக்காக ஒரு தனி மெய்நிகர் ஹோஸ்டை உருவாக்க, /var/www
கோப்பகத்தில் காட்டப்பட்டுள்ளபடி மற்றொரு அடைவு கட்டமைப்பை உருவாக்குவோம்.
$ sudo mkdir -p /var/www/crazytechgeek.info/html
கூடுதலாக, பதிவு கோப்புகளை சேமிப்பதற்கான கோப்பகத்தையும் உருவாக்கலாம்.
$ sudo mkdir -p /var/www/crazytechgeek.info/log
அடுத்து, கோப்பு அனுமதிகளைத் திருத்தவும் $USER
சூழல் மாறியைப் பயன்படுத்தி காட்டப்பட்டுள்ளது.
$ sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html
மேலும், வெப்ரூட் கோப்பகத்தின் அனுமதிகளை காட்டப்பட்டுள்ளபடி சரிசெய்யவும்.
$ sudo chmod -R 755 /var/www
அடுத்து, காட்டப்பட்டுள்ளபடி மாதிரி index.html
கோப்பை உருவாக்கவும்.
$ sudo vim /var/www/crazytechgeek.info/html/index.html
விசைப்பலகையில் i
என்ற எழுத்தை அழுத்தி, மெய்நிகர் ஹோஸ்டை சோதிக்கும் போது வலை உலாவியில் காண்பிக்கப்படும் சில மாதிரி உள்ளடக்கங்களை ஒட்டவும்.
<html> <head> <title>Welcome to crazytechgeek.info!</title> </head> <body> <h1>Success! The crazytechgeek.info virtual host is up and perfectly working!</h1> </body> </html>
உள்ளமைவு கோப்பை சேமித்து வெளியேறவும்.
மாதிரி குறியீட்டு கோப்பு மற்றும் தள அடைவு உருவாக்கப்பட்டவுடன், நீங்கள் இப்போது தொடரலாம் மற்றும் மெய்நிகர் ஹோஸ்ட் கோப்பை உருவாக்கலாம். மெய்நிகர் ஹோஸ்ட் கோப்பில் உங்கள் டொமைனின் தள உள்ளமைவு இருக்கும், மேலும் வாடிக்கையாளர்களின் கோரிக்கைகளுக்கு அது எவ்வாறு பதிலளிக்கும் என்பதை அப்பாச்சிக்கு அறிவுறுத்துகிறது.
மெய்நிகர் ஹோஸ்ட் கோப்பில் உங்கள் டொமைனின் தள உள்ளமைவு இருக்கும், மேலும் வாடிக்கையாளர்களின் கோரிக்கைகளுக்கு அது எவ்வாறு பதிலளிக்கும் என்பதை அப்பாச்சிக்கு அறிவுறுத்துகிறது. ஆனால் தொடர்ந்தால், நீங்கள் 2 கோப்பகங்களை உருவாக்க வேண்டும்: தளங்கள்-கிடைக்கக்கூடிய குறியீடு> மற்றும்
தளங்கள்-இயக்கப்பட்ட குறியீடு> கோப்பகங்கள்.
மெய்நிகர் ஹோஸ்ட் கோப்பு தளங்கள்-கிடைக்கக்கூடிய குறியீடு> கோப்பகத்தில் சேமிக்கப்படும், அதே நேரத்தில்
தளங்கள் இயக்கப்பட்ட குறியீடு> அடைவில் மெய்நிகர் ஹோஸ்டுக்கான குறியீட்டு இணைப்பைக் கொண்டிருக்கும்.
காட்டப்பட்டுள்ளபடி இரண்டு கோப்பகங்களையும் உருவாக்கவும்.
$ sudo mkdir /etc/httpd/sites-available $ sudo mkdir /etc/httpd/sites-enabled
அடுத்து, அப்பாச்சி வலை சேவையகத்தின் முக்கிய உள்ளமைவு கோப்பை மாற்றியமைத்து, தளங்கள் இயக்கப்பட்ட கோப்பகத்திற்குள் மெய்நிகர் ஹோஸ்டை எங்கே கண்டுபிடிக்க வேண்டும் என்று அப்பாச்சிக்கு அறிவுறுத்தவும்.
$ sudo vim /etc/httpd/conf/httpd.conf
உள்ளமைவு கோப்பின் முடிவில் காட்டப்பட்டுள்ளபடி வரியைச் சேர்க்கவும்.
IncludeOptional sites-enabled/*.conf
சேமிக்க மற்றும் வெளியேறும்.
இப்போது காட்டப்பட்டுள்ளபடி ஒரு மெய்நிகர் ஹோஸ்ட் கோப்பை உருவாக்கவும்:
$ sudo vim /etc/httpd/sites-available/crazytechgeek.info
கீழே உள்ள உள்ளடக்கத்தை ஒட்டவும், madtechgeek.info
ஐ உங்கள் சொந்த டொமைன் பெயருடன் மாற்றவும்.
<VirtualHost *:80> ServerName www.crazytechgeek.info ServerAlias crazytechgeek.info DocumentRoot /var/www/crazytechgeek.info/html ErrorLog /var/www/crazytechgeek.info/log/error.log CustomLog /var/www/crazytechgeek.info/log/requests.log combined </VirtualHost>
கோப்பை சேமித்து வெளியேறவும்.
இப்போது தளங்கள் இயக்கப்பட்ட குறியீடு> கோப்பகத்தில் ஒரு குறியீட்டு இணைப்பை உருவாக்குவதன் மூலம் மெய்நிகர் ஹோஸ்ட் கோப்பை இயக்கவும்.
$ sudo ln -s /etc/httpd/sites-available/crazytechgeek.info.conf /etc/httpd/sites-enabled/crazytechgeek.info.conf
மெய்நிகர் ஹோஸ்ட்களுக்கான SELinux அனுமதிகளை சரிசெய்தல்
லினக்ஸ் அமைப்பின் பாதுகாப்பை பலப்படுத்துவதற்கான பாதுகாப்பு தொகுதியான SELinux உடன் CentOS 8 மற்றும் RHEL 8 கப்பல்கள். முந்தைய கட்டத்தில் தனிப்பயன் பதிவு கோப்பகத்தை நீங்கள் கட்டமைத்திருப்பதால், அப்பாச்சி வலை சேவையகத்தை கோப்பகத்திற்கு எழுத அறிவுறுத்த சில SELinux கொள்கைகளை நீங்கள் புதுப்பிக்க வேண்டும்.
SELinux Apache கொள்கைகளை சரிசெய்வதில் 2 அணுகுமுறைகள் உள்ளன: கொள்கைகளை உலகளவில் சரிசெய்தல் மற்றும் ஒரு கோப்பகத்தில் கொள்கைகள். பிந்தையது விரும்பப்படுவதால் அது விரும்பப்படுகிறது.
பதிவு கோப்பகத்திற்கான SELinux அனுமதிகளைத் திருத்துவது அப்பாச்சியின் வெப்சர்வரின் கொள்கைகளின் மீது முழுமையான கட்டுப்பாட்டை உங்களுக்கு வழங்குகிறது. இந்த முறை மிகவும் நீளமானது மற்றும் மெய்நிகர் ஹோஸ்ட் உள்ளமைவு கோப்பில் குறிப்பிடப்பட்டுள்ள கூடுதல் கோப்பகங்களுக்கான சூழல் வகையை கைமுறையாக கட்டமைக்க வேண்டும்.
தொடங்குவதற்கு முன், முதலில் SELinux ஆல் பதிவு கோப்பகத்திற்கு ஒதுக்கப்பட்ட சூழல் வகையை உறுதிப்படுத்தவும்:
$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
வெளியீடு நாம் கீழே உள்ளதைப் போலவே இருக்க வேண்டும்.
வெளியீட்டிலிருந்து, தொகுப்பு சூழல் httpd_sys_content_t. வலை சேவையகம் பதிவு கோப்பகத்தில் உள்ள கோப்புகளை மட்டுமே படிக்க முடியும் என்பதை இது குறிக்கிறது. அடைவில் பதிவு உள்ளீடுகளை உருவாக்க மற்றும் சேர்க்க அப்பாச்சியை இயக்க இந்த சூழலை httpd_log_t என மாற்ற வேண்டும்.
எனவே, கட்டளையை இயக்கவும்:
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"
கீழேயுள்ள பிழையைப் பெற நேர்ந்தால் se "semanage: கட்டளை கிடைக்கவில்லை".
சீமானேஜ் கட்டளைக்கு வழங்கும் தொகுப்புகள் நிறுவப்படவில்லை என்பதை இது குறிக்கிறது. இந்த பிழையை சரிசெய்ய, நீங்கள் அந்த தொகுப்புகளை நிறுவ வேண்டும். ஆனால் முதலில், எந்த தொகுப்புகள் இயங்குவதன் மூலம் semanage கட்டளைக்கு வழங்குகின்றன என்பதை சரிபார்க்கவும்:
$ sudo dnf whatprovides /usr/sbin/semanage
வெளியீடு சீமானேஜுக்கு வழங்கும் தொகுப்பை நமக்கு வழங்குகிறது, இது பாலிசிகோரேட்டில்ஸ்-பைதான்-யூடில்ஸ் ஆகும்.
இப்போது டி.என்.எஃப் தொகுப்பு நிர்வாகியைப் பயன்படுத்தி காட்டப்பட்டுள்ளபடி தொகுப்பை நிறுவவும்.
$ sudo dnf install policycoreutils-python-utils
சூழலை மாற்றுவதற்கான கட்டளை இப்போது செயல்பட வேண்டும்.
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/crazytechgeek.info/log(/.*)?"
மாற்றங்களைச் சேமிக்கவும், தொடர்ந்து நிலைத்திருக்கவும், காட்டப்பட்டுள்ளபடி மீட்டெடுப்பு கட்டளையை வழங்கவும்:
$ sudo restorecon -R -v /var/www/crazytechgeek.info/log
கட்டளையை மீண்டும் இயக்குவதன் மூலம் மாற்றங்களை உறுதிப்படுத்தலாம்:
$ sudo ls -dlZ /var/www/crazytechgeek.info/log/
வெளியீட்டில் காணப்படுவது போல் சூழல் வகை httpd_log_t
ஆக மாறியுள்ளது என்பதை நினைவில் கொள்க.
பயன்படுத்தப்பட வேண்டிய மாற்றங்களுக்கு அப்பாச்சியை மறுதொடக்கம் செய்யுங்கள்.
$ sudo systemctl restart httpd
அப்பாச்சி பதிவு கோப்பகத்தில் பதிவு கோப்புகளை சேமிக்கிறதா என்பதை இப்போது உறுதிப்படுத்தலாம்.
$ ls -l /var/www/crazytechgeek.info/log/
காட்டப்பட்டுள்ளபடி நீங்கள் இரண்டு பதிவு கோப்புகளைக் காண முடியும்: பிழை பதிவு மற்றும் கோரிக்கை பதிவு கோப்புகள்.
அப்பாச்சி மெய்நிகர் ஹோஸ்டை சோதிக்கிறது
கடைசியாக, அப்பாச்சி வெப்சர்வர் உங்கள் மெய்நிகர் ஹோஸ்ட் கோப்பில் சேவை செய்கிறது என்பதை உறுதிப்படுத்த வேண்டும். இதைச் செய்ய, உங்கள் உலாவியைத் திறந்து உங்கள் சேவையகத்தின் ஐபி முகவரி அல்லது டொமைன் பெயருக்குச் செல்லவும்:
http://domain-name
சரியானது! இது அனைத்தும் சரியாக நடந்ததையும், எங்கள் மெய்நிகர் ஹோஸ்ட் எதிர்பார்த்தபடி வழங்கப்படுவதையும் இது குறிக்கிறது.
இந்த வழிகாட்டியில், CentOS 8 மற்றும் RHEL 8 இல் அப்பாச்சி வெப்சர்வரை எவ்வாறு நிறுவுவது என்பதையும் கூடுதல் டொமைனுக்கான உள்ளடக்கத்தை வழங்க மெய்நிகர் ஹோஸ்ட் கோப்பை எவ்வாறு கட்டமைப்பது என்பதையும் கற்றுக்கொண்டோம். கூடுதல் களங்களுக்கு இடமளிப்பதாக நீங்கள் கருதுவதால் பல மெய்நிகர் ஹோஸ்ட் கோப்புகளை கட்டமைக்க தயங்க.
நீங்கள் ஒரு முழுமையான ஹோஸ்டிங் அடுக்கை அமைக்க விரும்பினால், CentOS 8 இல் ஒரு LAMP அடுக்கை நிறுவ பரிந்துரைக்கிறேன்.