অ্যান্ড্রয়েড

সেন্টোস 7 এ কীভাবে ড্রুপাল ইনস্টল করবেন

101 Great Answers to the Toughest Interview Questions

101 Great Answers to the Toughest Interview Questions

সুচিপত্র:

Anonim

দ্রুপাল বিশ্বব্যাপী শীর্ষস্থানীয় ওপেন সোর্স সিএমএস প্ল্যাটফর্মগুলির মধ্যে একটি। এটি নমনীয়, স্কেলযোগ্য এবং ছোট ব্যক্তিগত ব্লগ থেকে শুরু করে বড় বড় কর্পোরেট, রাজনৈতিক এবং সরকারী সাইটগুলি পর্যন্ত বিভিন্ন ধরণের ওয়েবসাইট তৈরিতে ব্যবহার করা যেতে পারে।

এই টিউটোরিয়ালে, আমরা কীভাবে CentOS 7 এ ড্রুপাল 8.6 ইনস্টল করবেন তা ব্যাখ্যা করব।

দ্রুপাল ইনস্টল করার একাধিক উপায় রয়েছে। এই গাইডটিতে দ্রুপাল-প্রকল্প নামে পরিচিত দ্রুপাল প্রকল্পগুলির জন্য সুরকার টেম্পলেট ব্যবহার করে দ্রুপাল ইনস্টল করার প্রয়োজনীয় পদক্ষেপগুলি আবরণ করা হয়েছে।

আমরা এনগিনেক্সকে একটি ওয়েব সার্ভার হিসাবে ব্যবহার করব, সর্বশেষ পিএইচপি 7.2 এবং মাইএসকিউএল / মারিয়াডিবি একটি ডাটাবেস সার্ভার হিসাবে ব্যবহার করব।

পূর্বশর্ত

ইনস্টলেশন শুরু করার আগে, আপনি নিম্নলিখিত শর্তগুলি পূরণ করেছেন তা নিশ্চিত করুন:

  • আপনার সার্বজনীন সার্ভার আইপি-তে ইঙ্গিত করে একটি ডোমেন নাম রাখুন। আমরা example.com ডটকম ব্যবহার করব Nনিগজিন ইনস্টল হয়েছে। আপনার ডোমেনের জন্য একটি এসএসএল শংসাপত্র ইনস্টল করুন। আপনি এই নির্দেশাবলী অনুসরণ করে একটি বিনামূল্যে চলুন এনক্রিপ্ট এসএসএল শংসাপত্র ইনস্টল করতে পারেন su সুডোর সুবিধাগুলি সহ ব্যবহারকারী হিসাবে লগ ইন করুন।

একটি মাইএসকিউএল ডাটাবেস তৈরি করুন

প্রথম পদক্ষেপটি একটি নতুন ডাটাবেস এবং ব্যবহারকারীর অ্যাকাউন্ট তৈরি করা এবং ব্যবহারকারীকে উপযুক্ত অনুমতি প্রদান করা।

যদি মাইএসকিউএল বা মারিয়াডিবি ইতিমধ্যে আপনার সার্ভারে ইনস্টল করা থাকে তবে আপনি এই পদক্ষেপটি এড়িয়ে যেতে পারেন, না হলে আপনি সেন্টোসের ডিফল্ট সংগ্রহস্থল থেকে মারিয়াডবি 5.5 সার্ভার প্যাকেজটি ইনস্টল করতে পারেন:

sudo yum install mariadb-server টাটকা মারিয়াডিবি / মাইএসকিউএল ইনস্টলেশনের জন্য, আপনার ডাটাবেস সার্ভারের সুরক্ষা উন্নত করতে mysql_secure_installation কমান্ড চালানোর পরামর্শ দেওয়া হচ্ছে।

নিম্নলিখিত কমান্ডটি লিখে মাইএসকিউএল শেলটিতে লগইন করুন এবং অনুরোধ জানানো হলে পাসওয়ার্ডটি প্রবেশ করুন:

mysql -u root -p

drupaluser নামের একটি ডেটাবেস তৈরি করতে, ব্যবহারকারী নামটি drupaluser এবং ব্যবহারকারীকে নিম্নলিখিত অনুমতিগুলি চালানোর জন্য প্রয়োজনীয় অনুমতি প্রদান করতে:

CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';

পিএইচপি ইনস্টল করুন

সেন্টোস 7 জাহাজ পিএইচপি সংস্করণ 5.4 সহ, যা পুরানো এবং আর সমর্থিত নয়। দ্রুপালের জন্য প্রস্তাবিত পিএইচপি সংস্করণটি পিএইচপি 7.2।

CentOS 7 এ পিএইচপি 7.2 ইনস্টল করতে প্রথমে আমাদের ইপিল এবং রেমি সংগ্রহস্থলগুলি সক্ষম করতে হবে:

sudo yum install epel-release yum-utils

একবার সংগ্রহস্থলগুলি পিএইচপি 7.2 ইনস্টল করতে সক্ষম হয়ে গেলে এবং সমস্ত প্রয়োজনীয় পিএইচপি এক্সটেনশানগুলি নিম্নলিখিত কমান্ডগুলি চালায়:

sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git

আমরা পিএইচপি এফপিএম ইনস্টল করেছি কারণ আমরা এনগিনেক্সকে একটি ওয়েব সার্ভার হিসাবে ব্যবহার করব।

ডিফল্টরূপে পিএইচপি এফপিএম 9000 পোর্টে ব্যবহারকারী apache হিসাবে চলবে We আমরা ব্যবহারকারীকে nginx পরিবর্তন করব এবং টিসিপি সকেট থেকে ইউনিক্স সকেটে স্যুইচ করব। এটি করতে /etc/php-fpm.d/www.conf ফাইলটি খুলুন এবং হলুদ বর্ণিত লাইনগুলি সম্পাদনা করুন:

/etc/php-fpm.d/www.conf

… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx

নিম্নলিখিত chown কমান্ডটি ব্যবহার করে /var/lib/php ডিরেক্টরিটির সঠিক মালিকানা রয়েছে তা নিশ্চিত করুন:

sudo chown -R root:nginx /var/lib/php

শেষ পর্যন্ত, পিএইচপি এফপিএম পরিষেবা সক্ষম এবং শুরু করুন:

sudo systemctl enable php-fpm sudo systemctl start php-fpm

সুরকার ইনস্টল করুন

সুরকার পিএইচপি জন্য নির্ভরতা পরিচালক। আমরা ড্রুপাল টেম্পলেট ডাউনলোড করব এবং সুরকারের সাথে প্রয়োজনীয় সমস্ত দ্রুপাল উপাদান ইনস্টল করব।

নিম্নলিখিত কমান্ডটি কার্ল সহ রচয়িতা ইনস্টলারটি ডাউনলোড করে এবং ফাইলটি /usr/local/bin ডিরেক্টরিতে সরিয়ে বিশ্বব্যাপী সুরকারকে ইনস্টল করবে:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

নিম্নলিখিত কমান্ডটি চালিয়ে ইনস্টলেশনটি যাচাই করুন যা সুরকার সংস্করণটি মুদ্রণ করবে:

composer --version

আউটপুটটি দেখতে কিছুটা দেখতে পাওয়া উচিত:

Composer version 1.8.4 2019-02-11 10:52:10

ড্রুপাল ইনস্টল করুন

এখন যে সুরকারটি ইনস্টল হয়ে গেছে, /var/www/my_drupal ডিরেক্টরিতে ড্রুপাল টেম্পলেট ব্যবহার করে একটি নতুন দ্রুপাল প্রকল্প তৈরি করুন:

sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction

উপরের কমান্ডটি টেমপ্লেটটি ডাউনলোড করবে, সমস্ত প্রয়োজনীয় পিএইচপি প্যাকেজ আনবে এবং ইনস্টলেশনটির জন্য প্রকল্পটি প্রস্তুত করার জন্য প্রয়োজনীয় স্ক্রিপ্টগুলি চালাবে। প্রক্রিয়াটি কয়েক মিনিট সময় নিতে পারে এবং এটি সফল হলে আউটপুটটির শেষটি এর মতো দেখতে পাবেন:

Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777

পরবর্তী পদক্ষেপটি ড্রশ ব্যবহার করে দ্রুপাল ইনস্টল করা। নীচের কমান্ডটিতে আমরা মাইএসকিউএল ডাটাবেস এবং ব্যবহারকারীর তথ্যগুলি প্রথম বিভাগে তৈরি করছি:

cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal

ইনস্টলারটি আপনাকে নিম্নলিখিত বার্তাগুলির সাথে অনুরোধ জানাবে, চালিয়ে যাওয়ার জন্য কেবল এন্টার টিপুন।

You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):

ইনস্টলেশন শেষ হয়ে গেলে স্ক্রিপ্ট প্রশাসনিক ব্যবহারকারীর নাম এবং পাসওয়ার্ড মুদ্রণ করবে। আউটপুট নীচের মত কিছু দেখতে হবে:

Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v

অবশেষে, সঠিক অনুমতিগুলি সেট করুন যাতে ওয়েব সার্ভারটি সাইটের ফাইল এবং ডিরেক্টরিগুলিতে সম্পূর্ণ অ্যাক্সেস পেতে পারে:

sudo chown -R nginx: /var/www/my_drupal

Nginx কনফিগার করুন

এই মুহুর্তে আপনার সিস্টেমে এসএসএল শংসাপত্র সহ এনগিনেক্স থাকা উচিত, যদি এই টিউটোরিয়ালটির পূর্বশর্তগুলি পরীক্ষা না করা হয়।

আমাদের নতুন দ্রুপাল প্রকল্পের জন্য একটি নতুন সার্ভার ব্লক তৈরি করতে আমরা অফিসিয়াল এনগিনেক্স সাইট থেকে এনগিনেক্স রেসিপিটি ব্যবহার করব।

আপনার পাঠ্য সম্পাদকটি খুলুন এবং নিম্নলিখিত ফাইলটি তৈরি করুন:

sudo nano /etc/nginx/conf.d/example.com /etc/nginx/conf.d/example.com

# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' fastcgi_split_path_info ^(.+?\.php)(# Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } } উদাহরণস্বরূপ.টাকে আপনার ড্রুপাল ডোমেনের সাথে প্রতিস্থাপন করতে এবং এসএসএল শংসাপত্র ফাইলগুলিতে সঠিক পথ নির্ধারণ করতে ভুলবেন না। সমস্ত HTTP অনুরোধগুলি HTTPS এ পুনঃনির্দেশিত হবে। এই কনফিগারেশনে ব্যবহৃত স্নিপেটগুলি এই গাইডটিতে তৈরি করা হয়েছে।

এনগিনেক্স পরিষেবাটি পুনঃসূচনা করার আগে পরীক্ষা করে নিন যে কোনও সিনট্যাক্স ত্রুটি নেই:

sudo nginx -t

পরিবর্তনগুলি টাইপ করে কার্যকর হওয়ার জন্য পুনরায় চালু করুন:

sudo systemctl restart nginx

ইনস্টলেশন পরীক্ষা করুন

আপনার ব্রাউজারটি খুলুন, আপনার ডোমেনটি টাইপ করুন এবং ধরে নেওয়া যায় যে ইনস্টলেশনটি সফল হয়েছে, নিম্নলিখিতগুলির মতো একটি স্ক্রিন আসবে:

আপনি প্রশাসক হিসাবে লগ ইন করতে পারেন এবং আপনার নতুন দ্রুপাল ইনস্টলেশনটি কাস্টমাইজ করতে শুরু করতে পারেন।

ড্রুপাল মডিউল এবং থিম ইনস্টল করুন

এখন আপনি আপনার ড্রুপাল প্রকল্প ইনস্টল করেছেন, আপনি কিছু মডিউল এবং থিম ইনস্টল করতে চাইবেন। ড্রুপাল মডিউল এবং থিমগুলি একটি কাস্টম সুরকার সংগ্রহস্থলে হোস্ট করা হয়, যা ড্রুপাল-প্রকল্পটি বক্সের বাইরে আমাদের জন্য কনফিগার করে।

মডিউল বা থিম ইনস্টল করতে আপনার যা করতে হবে তা হল প্রকল্প ডিরেক্টরিতে cd করা এবং composer require drupal/module_or_theme_name টাইপ করার জন্য composer require drupal/module_or_theme_name । উদাহরণস্বরূপ, যদি আমরা পাঠাটো মডিউলটি ইনস্টল করতে চান তবে আমাদের নিম্নলিখিত কমান্ডটি চালাতে হবে:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto sudo -u nginx ইউ এনজিনেক্স প্রিপেন্ড করে আমরা ইউজার nginx হিসাবে কমান্ডটি চালাচ্ছি

Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles

যেমন আপনি উপরের আউটপুট থেকে দেখতে পারেন সুরকার আমাদের জন্য প্যাকেজ নির্ভরতা সমস্ত ইনস্টল করে।

ড্রুপাল কোর আপডেট করুন

আপগ্রেড করার আগে সর্বদা আপনার ফাইল এবং ডাটাবেসের ব্যাকআপ নেওয়া ভাল ধারণা। আপনি হয় ব্যাকআপ এবং মাইগ্রেট মডিউল ব্যবহার করতে পারেন বা ম্যানুয়ালি আপনার ডাটাবেস এবং ফাইলগুলি ব্যাকআপ করতে পারেন।

ইনস্টলেশন ফাইলগুলি ব্যাক আপ করার জন্য আপনি নিম্নলিখিত rsync কমান্ডটি ব্যবহার করতে পারেন, অবশ্যই আপনাকে ইনস্টলেশন ডিরেক্টরিতে সঠিক পথটি ব্যবহার করতে হবে:

sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)

ডাটাবেসটি ব্যাক আপ করতে আমরা হয় স্ট্যান্ডার্ড mysqldump কমান্ডটি ব্যবহার করতে পারি:

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

বা drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

এখন যেহেতু আমরা একটি ব্যাকআপ তৈরি করেছি আমরা নিম্নলিখিত কমান্ডটি চালিয়ে সমস্ত দ্রুপাল কোর ফাইলগুলি চালিয়ে যেতে এবং আপডেট করতে পারি:

sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

উপসংহার

অভিনন্দন, আপনি সুরকার ব্যবহার করে ড্রুপাল 8 সফলভাবে ইনস্টল করেছেন এবং মডিউল এবং থিমগুলি কীভাবে ইনস্টল করবেন তা শিখেছেন। আপনি এখন আপনার সাইটটি কাস্টমাইজ করা শুরু করতে পারেন। আপনার ড্রুপাল ইনস্টলেশনটি কীভাবে পরিচালনা করবেন সে সম্পর্কে আরও শিখার জন্য ড্রুপাল 8 ইউজার গাইড একটি ভাল শুরু করার জায়গা। এছাড়াও, গিথুবে ড্রুপাল সুরকার টেম্পলেট প্রকল্পটি দেখতে ভুলবেন না।

সেন্টোস ড্রুপাল মাইএসকিএল মারিয়াডবি সেন্টিমিন এনগিনেক্স সুরকার