சென்டோஸ் 9 இல் Drupal 8 உடன் VPS டெம்ப்ளேட்டை உருவாக்குதல்

நாங்கள் எங்கள் சந்தையை விரிவுபடுத்துகிறோம். எப்படி என்பதை நாங்கள் சமீபத்தில் உங்களுக்குச் சொன்னோம் Gitlab படத்தை உருவாக்கியது, இந்த வாரம் Drupal எங்கள் சந்தையில் தோன்றியது.

நாங்கள் ஏன் அவரைத் தேர்ந்தெடுத்தோம், படம் எவ்வாறு உருவாக்கப்பட்டது என்பதை நாங்கள் உங்களுக்குச் சொல்கிறோம்.

சென்டோஸ் 9 இல் Drupal 8 உடன் VPS டெம்ப்ளேட்டை உருவாக்குதல்

Drupal — எந்தவொரு வலைத்தளத்தையும் உருவாக்குவதற்கான வசதியான மற்றும் சக்திவாய்ந்த தளம்: மைக்ரோசைட்டுகள் மற்றும் வலைப்பதிவுகள் முதல் பெரிய சமூக திட்டங்கள் வரை, வலை பயன்பாடுகளுக்கான அடிப்படையாகவும் பயன்படுத்தப்படுகிறது, PHP இல் எழுதப்பட்டு தொடர்புடைய தரவுத்தளங்களை தரவு சேமிப்பகமாகப் பயன்படுத்துகிறது.

பதிப்பு 9 இல் அறிமுகப்படுத்தப்பட்ட அனைத்து அம்சங்களையும் Drupal 8.9 கொண்டுள்ளது. பதிப்பு 9 மற்றும் பதிப்பு 8 ஆகியவற்றுக்கு இடையேயான முக்கிய வேறுபாடு என்னவென்றால், நவம்பர் 2021க்குப் பிறகு இயங்குதளம் புதுப்பிப்புகளையும் பாதுகாப்புத் திருத்தங்களையும் தொடர்ந்து பெறும். பதிப்பு 9 புதுப்பிப்பு செயல்முறையை எளிதாக்குகிறது, பதிப்பு 8 இலிருந்து மேம்படுத்தும் செயல்முறையை இன்னும் எளிதாக்குகிறது.

சேவையக தேவைகள்

Drupal ஐப் பயன்படுத்த, 2 GB RAM மற்றும் 2 CPU கோர்களைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது.

முக்கிய Drupal கோப்புகள் சுமார் 100 MB வரை எடுக்கும், கூடுதலாக படங்கள், தரவுத்தளம், தீம்கள், கூடுதல் தொகுதிகள் மற்றும் காப்புப்பிரதிகளைச் சேமிக்க உங்களுக்கு இடம் தேவைப்படும், இது உங்கள் தளத்தின் அளவைப் பொறுத்தது.

Drupal 9 க்கு குறைந்தபட்ச வரம்புடன் PHP 7.4 அல்லது அதற்கு மேற்பட்டது தேவைப்படுகிறது (memory_limit) 64 MB நினைவகத்திற்கு; கூடுதல் தொகுதிகள் பயன்படுத்தப்பட்டால், 128 MB ஐ நிறுவ பரிந்துரைக்கப்படுகிறது.

Drupal Apache அல்லது Nginx ஐ இணைய சேவையகமாகவும், MySQL, PostgreSQL அல்லது SQLite ஆகியவற்றை தரவுத்தளமாகவும் பயன்படுத்தலாம்.

நாங்கள் Nginx மற்றும் MySQL ஐப் பயன்படுத்தி Drupal ஐ நிறுவுவோம்.

நிறுவல்

நிறுவப்பட்ட தொகுப்புகளை சமீபத்திய பதிப்பிற்கு புதுப்பிப்போம்:

sudo dnf update -y

http/80 மற்றும் https/443 போர்ட்களுக்கு உள்வரும் போக்குவரத்திற்கான நிரந்தர அனுமதியைச் சேர்ப்போம்:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

புதிய ஃபயர்வால் விதிகளைப் பயன்படுத்துவோம்:

sudo systemctl reload firewalld

Nginx ஐ நிறுவுவோம்:

sudo dnf install nginx -y

Nginx சேவையகத்தைத் தொடங்கி இயக்குவோம்:

sudo systemctl start nginx
sudo systemctl enable nginx

பிரதான சென்டோஸ் களஞ்சியம் தற்போது PHP 7.2 ஐப் பயன்படுத்துவதால், PHP 7.4 உடன் REMI களஞ்சியத்தைச் சேர்ப்போம் (Drupal 9 க்கான குறைந்தபட்ச பதிப்பு).
இதைச் செய்ய, EPEL களஞ்சியத்தைச் சேர்க்கவும் (REMI களஞ்சியத்திற்குத் தேவை):

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

REMI களஞ்சியத்தைச் சேர்ப்போம்:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

php 7.4 ஐ நிறுவ php:remi-7.4 தொகுதியை இயக்குவோம்:

sudo dnf module enable php:remi-7.4 -y

php-fpm மற்றும் php-cli ஐ நிறுவவும்:

sudo dnf install -y php-fpm php-cli

Drupal வேலை செய்ய தேவையான PHP தொகுதிகளை நிறுவுவோம்:

sudo dnf install -y php-mysqlnd php-date php-dom php-filter php-gd php-hash php-json php-pcre php-pdo php-session php-simplexml php-spl php-tokenizer php-xml

பரிந்துரைக்கப்பட்ட PHP mbstring opcache தொகுதிகளையும் நிறுவுவோம்:

sudo dnf install -y php-mbstring php-opcache

MySQL சேவையகத்தை நிறுவுவோம்:

sudo dnf install mysql-server -y

MySQL சேவையகத்தை இயக்கி தொடங்கலாம்:

sudo systemctl start mysqld
sudo systemctl enable mysqld

நாங்கள் VDS க்காக ஒரு டெம்ப்ளேட்டை உருவாக்குவதால், அவை மெதுவாக இருக்கலாம், 30 வினாடிகள் mysqld தொடக்க தாமதத்தைச் சேர்ப்போம், இல்லையெனில் ஆரம்ப கணினி துவக்கத்தின் போது சேவையகம் தொடங்குவதில் சிக்கல்கள் இருக்கலாம்:

sudo sed -i '/Group=mysql/a 
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service

/etc/php-fpm.d/www.conf இல் மாற்றங்களைச் செய்வதன் மூலம் nginx இயங்கும் குழு மற்றும் பயனரை மாற்றுவோம்:

sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf

அதன்படி PHP அமர்வுகள் கோப்பகத்தின் உரிமையாளரை nginx க்கு மாற்றுவோம்:

sudo chown -R nginx. /var/lib/php/session

/etc/nginx/nginx.conf உள்ளமைவு கோப்பிலிருந்து கருத்துகளுடன் வரிகளை அகற்றுவோம் (இதனால் sed க்கு இரட்டை தூண்டுதல்கள் இல்லை):

sudo sed -i -e '/^[ t]*#/d'  /etc/nginx/nginx.conf

gzip சுருக்க அமைப்புகளை /etc/nginx/nginx.conf இல் சேர்க்கவும்

sudo sed -i '/types_hash_max_size 2048;/a 

    gzip on;
    gzip_static on;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;
    gzip_comp_level 9;
    gzip_proxied any;
    gzip_min_length 1000;
    gzip_disable "msie6";
    gzip_vary on; 
' /etc/nginx/nginx.conf

index.php இன் இன்டெக்ஸ் கோப்பின் அமைப்புகளை /etc/nginx/nginx.conf இல் சேர்ப்போம்:

sudo sed -i '/        root         /usr/share/nginx/html;/a 
        index index.php index.html index.htm;
' /etc/nginx/nginx.conf

இயல்புநிலை சேவையகத்திற்கான அமைப்புகளைச் சேர்ப்போம்: PHP-fpm சாக்கெட் வழியாக PHP செயலாக்கம், நிலையான கோப்புகளுக்கான பதிவை முடக்குதல், காலாவதியாகும் நேரத்தை அதிகரிக்கவும், favicon.ico மற்றும் robots.txtக்கான அணுகல் மற்றும் பிழை பதிவை முடக்கவும், மேலும் .ht க்கான அணுகலை மறுக்கவும் அனைவருக்கும் கோப்புகள்:

sudo sed -i '/        location / {/a 
		try_files $uri $uri/ /index.php?q=$uri&$args;
        }
    
        location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
        access_log off;
        expires max;
        }
    
        location ~ .php$ {
        try_files  $uri =404;
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_ignore_client_abort off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        }
    
        location = /favicon.ico {
        log_not_found off;
        access_log off;
        }
    
        location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
        }
    
        location ~ /.ht {
        deny all;' /etc/nginx/nginx.conf

certbot ஐ நிறுவுவதற்கு தேவையான wget ஐ நிறுவவும்:

sudo dnf install wget -y

ஆஃப்சைட்டில் இருந்து certbot இயங்கக்கூடிய கோப்பைப் பதிவிறக்கவும்:

cd ~
wget https://dl.eff.org/certbot-auto

certbot ஐ /usr/local/bin/ க்கு நகர்த்தவும்:

mv certbot-auto /usr/local/bin/certbot-auto

ரூட் செய்ய உரிமையாளராக உரிமைகளை வழங்குவோம்:

chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

certbot சார்புகளை நிறுவி, இந்த கட்டத்தில் அதன் வேலையில் குறுக்கீடு செய்வோம் (பதில்கள்: Y, c):

certbot-auto

ஆஃப்சைட்டில் இருந்து Drupal 9 இன் சமீபத்திய பதிப்புடன் காப்பகத்தைப் பதிவிறக்குவோம்:

cd ~
wget https://www.drupal.org/download-latest/tar.gz

காப்பகத்தைத் திறக்க தார் நிறுவவும்:

sudo dnf install tar -y

/usr/share/nginx/html/ கோப்பகத்தில் உள்ள இயல்புநிலை கோப்புகளை நீக்குவோம்:

rm -rf /usr/share/nginx/html/*

இணைய சேவையக கோப்பகத்தில் கோப்புகளைத் திறக்கலாம்:

tar xf tar.gz -C /usr/share/nginx/html/

கோப்புகளை துணை அடைவில் இருந்து வலை சேவையகத்தின் ரூட் கோப்பகத்திற்கு நகர்த்துவோம்:

mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/

துணை அடைவை நீக்குவோம்:

rm -rf /usr/share/nginx/html/drupal-9.0.7

நிறுவல் கோப்புகளுடன் காப்பகத்தை நீக்குவோம்:

rm -f ./tar.gz

nginx கோப்புகளின் உரிமையாளரை நியமிப்போம்:

chown -R nginx. /usr/share/nginx/html

இந்த கட்டத்தில் நாங்கள் சேவையகத்தை அணைத்து ஒரு ஸ்னாப்ஷாட்டை எடுப்போம்:

shutdown -h now

ஸ்னாப்ஷாட்டில் இருந்து VDS ஐ துவக்கிய பிறகு, ஸ்கிரிப்டை இயக்குவதன் மூலம் MySQL சேவையகத்தின் ஆரம்ப அமைப்பைச் செய்வோம்:

mysql_secure_installation

கடவுச்சொல் வேலிடேட்டரை இயக்குவோம்:

Would you like to setup VALIDATE PASSWORD component? : y

MySQL ரூட் பயனருக்கான கடவுச்சொல்லை அமைப்போம்:

New password:
Re-enter new password:

அநாமதேய பயனர்களை அகற்றுவோம்:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

ரூட் தொலைவில் இணைப்பதைத் தடுப்போம்:

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

சோதனை தரவுத்தளத்தை நீக்குவோம்:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

சலுகை அட்டவணைகளை மீண்டும் ஏற்றுவோம்:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

இதற்குப் பிறகு, நிறுவலை முடிக்க, நாம் செல்லலாம் vps_ip_address
இந்த முகவரியில் Drupal நிறுவல் பக்கத்தைப் பார்ப்போம்.

பயன்படுத்த வேண்டிய மொழியைத் தேர்ந்தெடுப்போம். உதாரணமாக: ரஷ்யன். "சேமி மற்றும் தொடரவும்" என்பதைக் கிளிக் செய்யவும்

நிறுவல் சுயவிவரத்தைத் தேர்ந்தெடுப்போம் (டெமோ கணினியுடன் உங்களைப் பற்றி அறிந்துகொள்ள மட்டுமே பயன்படுத்தப்படுகிறது). எங்கள் விஷயத்தில், அது "நிலையானதாக" இருக்கட்டும்.

அடுத்த பக்கத்தில் நாம் தரவுத்தளத்திற்கு ஒரு பெயரைக் கொடுப்போம், எடுத்துக்காட்டாக "Drupal". mysql_secure_installation ஐ இயக்கும்போது தரவுத்தள பயனர் பெயர் ரூட் மற்றும் அவருக்கு வழங்கப்பட்ட கடவுச்சொல்லைக் குறிப்பிடுவோம். "சேமி மற்றும் தொடரவும்" என்பதைக் கிளிக் செய்யவும்.

மொழிபெயர்ப்புகளின் நிறுவல் மற்றும் புதுப்பித்தல் முடிவடையும் வரை காத்திருப்போம் (செயல்முறைக்கு பல நிமிடங்கள் ஆகலாம்).

தளத்தின் பெயரைக் குறிப்பிடுவோம், தள மின்னஞ்சலை அமைப்போம் (எந்த தள அறிவிப்புகள் அனுப்பப்படும்), உள்நுழைவு, கடவுச்சொல் மற்றும் Drupal நிர்வாகி கணக்கின் மின்னஞ்சல். பிராந்திய அமைப்புகளில் நாடு மற்றும் நேர மண்டலத்தையும் அமைப்போம். "சேமி மற்றும் தொடரவும்" என்பதைக் கிளிக் செய்வதன் மூலம் நிறுவலை முடிக்கவும்.

இதற்குப் பிறகு, உருவாக்கப்பட்ட Drupal நிர்வாகி உள்நுழைவு மற்றும் கடவுச்சொல்லுடன் நீங்கள் கட்டுப்பாட்டுப் பலகத்திற்குச் செல்லலாம்.

HTTPS ஐ அமைத்தல் (விரும்பினால்)

HTTPS ஐ உள்ளமைக்க, VDS ஆனது சரியான DNS பெயரைக் கொண்டிருக்க வேண்டும், அதில் குறிப்பிடவும்

/etc/nginx/nginx.conf

சர்வர் பிரிவில் சர்வர் பெயர் (உதாரணமாக):

server_name  domainname.ru;

nginx ஐ மறுதொடக்கம் செய்வோம்:

service nginx restart

certbot ஐ துவக்குவோம்:

sudo /usr/local/bin/certbot-auto --nginx

உங்கள் மின்னஞ்சலை உள்ளிடவும், சேவை விதிமுறைகளை (A), செய்திமடலுக்கு குழுசேரவும் (விரும்பினால்) (N), நீங்கள் ஒரு சான்றிதழை வழங்க விரும்பும் டொமைன் பெயர்களைத் தேர்ந்தெடுக்கவும் (அனைவருக்கும் உள்ளிடவும்).

எல்லாமே பிழைகள் இல்லாமல் நடந்தால், சான்றிதழ்கள் மற்றும் சர்வர் உள்ளமைவுகளை வெற்றிகரமாக வழங்குவது பற்றிய செய்தியைக் காண்போம்:

Congratulations! You have successfully enabled ...

இதற்குப் பிறகு, போர்ட் 80க்கான இணைப்புகள் 443 (https) க்கு திருப்பி விடப்படும்.

சான்றிதழ்களை தானாக புதுப்பிக்க /etc/crontab இல் சேர்க்கவும்:

# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"

நம்பகமான ஹோஸ்ட் பாதுகாப்பை அமைத்தல் (பரிந்துரைக்கப்படுகிறது)

இந்த அமைப்பு டைனமிக் base_url தீர்மானத்துடன் தொடர்புடைய பிரச்சனைக்கு தீர்வாகும், மேலும் HTTP HOST தலைப்பு தாக்குதல்களைத் தடுக்க வடிவமைக்கப்பட்டுள்ளது (இது வேறு யாரோ என்று உங்கள் தளம் நினைக்கும் போது).

இதைச் செய்ய, அமைப்புகள் கோப்பில் தளத்திற்கான நம்பகமான டொமைன் பெயர்களை நீங்கள் குறிப்பிட வேண்டும்.

கோப்பில்

/usr/share/nginx/html/sites/default/settings.php உண்மையான தளப் பெயர்களின் வடிவங்களைக் கொண்ட ஒரு அமைப்பைக் கருத்துத் தெரிவிப்போம் அல்லது சேர்ப்போம், எடுத்துக்காட்டாக:

$settings['trusted_host_patterns'] = [
  '^www.mydomain.ru$',
];

PHP APCu ஐ நிறுவுகிறது (பரிந்துரைக்கப்பட்டது)

Drupal ஆனது APCu - மாற்று PHP பயனர் தற்காலிக சேமிப்பை ஆதரிக்கிறது, பதிப்புகள் 8 மற்றும் 9 முந்தைய பதிப்புகளை விட APCu ஐ குறுகிய கால உள்ளூர் தற்காலிக சேமிப்பாக பயன்படுத்துகிறது. இயல்புநிலை கேச் அளவு (32 MB) பெரும்பாலான தளங்களுக்கு ஏற்றது, மேலும் 512 MB ஐ விட அதிகமாக இருக்கக்கூடாது.

செயல்படுத்த, PHP APCu தொகுதியை நிறுவவும்:

dnf -y install php-pecl-apcu

nginx மற்றும் php-fpm ஐ மறுதொடக்கம் செய்யுங்கள்:

service nginx restart
service php-fpm restart

தற்காலிக சேமிப்பிற்கான பரிந்துரைக்கப்பட்ட நினைவக அளவுடன் நீங்கள் ரஷ்ய மொழி மற்றும் APCu ஐப் பயன்படுத்தினால், தற்காலிக சேமிப்பிற்கான ஒதுக்கப்பட்ட நினைவகத்தின் அளவு பரிந்துரைக்கப்பட்டதை விட வேறுபட்டது என்ற எச்சரிக்கையை கட்டுப்பாட்டுப் பலகத்தில் நீங்கள் காணலாம், ஆனால் உண்மையில் எல்லாம் சரியாக வேலை செய்கிறது, மேலும் தவறான எச்சரிக்கை அடுத்த புதுப்பிப்புகளில் பெரும்பாலும் சரி செய்யப்படும்.

அல்லது எச்சரிக்கை உங்கள் கண்களை காயப்படுத்தினால், நீங்கள் பயன்படுத்தலாம் ஆஃப்சைட்டில் இருந்து தொடர்புடைய இணைப்பு.

நீங்கள் எங்களுக்காக ஒரு படத்தை உருவாக்கலாம் என்பதை உங்களுக்கு நினைவூட்ட விரும்புகிறோம்

எப்படி பங்கேற்பது என்பதற்கு மூன்று விருப்பங்கள் உள்ளன.

படத்தை நீங்களே தயார் செய்து, உங்கள் இருப்புக்கு 3000 ரூபிள் பெறுங்கள்

நீங்கள் உடனடியாக போருக்கு விரைந்து சென்று நீங்கள் காணாமல் போன படத்தை உருவாக்க நீங்கள் தயாராக இருந்தால், உங்கள் உள் இருப்புக்கு 3000 ரூபிள் வரவு வைப்போம், அதை நீங்கள் சேவையகங்களில் செலவிடலாம்.

உங்கள் சொந்த படத்தை எவ்வாறு உருவாக்குவது:

  1. எங்களுடன் ஒரு கணக்கை உருவாக்கவும் வலைத்தளத்தில்
  2. நீங்கள் படங்களை உருவாக்கி சோதிக்கப் போகிறீர்கள் என்பதை ஆதரவிற்குத் தெரியப்படுத்துங்கள்
  3. நாங்கள் உங்களுக்கு 3000 ரூபிள் வரவு வைப்போம் மற்றும் ஸ்னாப்ஷாட்களை உருவாக்கும் திறனை இயக்குவோம்
  4. சுத்தமான இயக்க முறைமையுடன் ஒரு மெய்நிகர் சேவையகத்தை ஆர்டர் செய்யவும்
  5. இந்த VPS இல் மென்பொருளை நிறுவி அதை உள்ளமைக்கவும்
  6. மென்பொருள் வரிசைப்படுத்தலுக்கான வழிமுறைகள் அல்லது ஸ்கிரிப்டை எழுதவும்
  7. கட்டமைக்கப்பட்ட சேவையகத்திற்கான ஸ்னாப்ஷாட்டை உருவாக்கவும்
  8. "சர்வர் டெம்ப்ளேட்" கீழ்தோன்றும் பட்டியலில் முன்பு உருவாக்கப்பட்ட ஸ்னாப்ஷாட்டைத் தேர்ந்தெடுத்து புதிய மெய்நிகர் சேவையகத்தை ஆர்டர் செய்யவும்
  9. சேவையகம் வெற்றிகரமாக உருவாக்கப்பட்டால், நிலை 6 இல் பெறப்பட்ட பொருட்களை தொழில்நுட்ப ஆதரவுக்கு மாற்றவும்
  10. பிழை இருந்தால், காரணத்திற்கான ஆதரவுடன் சரிபார்த்து, அமைப்பை மீண்டும் செய்யலாம்

வணிக உரிமையாளர்களுக்கு: உங்கள் மென்பொருளை வழங்குங்கள்

நீங்கள் VPS இல் பயன்படுத்தப்படும் மென்பொருள் உருவாக்குநராக இருந்தால், நாங்கள் உங்களை சந்தையில் சேர்க்கலாம். புதிய வாடிக்கையாளர்களையும், போக்குவரத்தையும், விழிப்புணர்வையும் கொண்டு வர நாங்கள் உங்களுக்கு இப்படித்தான் உதவ முடியும். எங்களுக்கு எழுதுங்கள்

எந்தப் படத்தை நீங்கள் காணவில்லை என்பதை கருத்துகளில் சொல்லுங்கள்?

மேலும் அதை நாமே தயார் செய்வோம்

சென்டோஸ் 9 இல் Drupal 8 உடன் VPS டெம்ப்ளேட்டை உருவாக்குதல்

சென்டோஸ் 9 இல் Drupal 8 உடன் VPS டெம்ப்ளேட்டை உருவாக்குதல்

ஆதாரம்: www.habr.com