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

উবুন্টুতে কীভাবে ড্রুপাল ইনস্টল করবেন 18.04

উবুন্টু 18.04 তে Drupal এর ইনস্টল করার জন্য কিভাবে

উবুন্টু 18.04 তে Drupal এর ইনস্টল করার জন্য কিভাবে

সুচিপত্র:

Anonim

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

এই টিউটোরিয়ালে, আমরা আপনাকে একটি উবুন্টু 18.04 মেশিনে ড্রুপাল 8.6 ইনস্টল করতে দেখাব। দ্রুপাল ইনস্টল করার একাধিক উপায় রয়েছে। এই টিউটোরিয়ালে ড্রুপাল প্রকল্পের জন্য একটি রচয়িতা টেম্পলেট ব্যবহার করে দ্রুপাল 8.6 ইনস্টল করার জন্য প্রয়োজনীয় পদক্ষেপগুলি অন্তর্ভুক্ত করা হয়েছে।

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

পূর্বশর্ত

এই টিউটোরিয়ালটি চালিয়ে যাওয়ার আগে আপনি নিম্নলিখিত শর্তগুলি পূরণ করেছেন তা নিশ্চিত করুন:

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

তুমি শুরু করার আগে

সর্বশেষ সংস্করণে প্যাকেজ সূচক এবং সিস্টেম প্যাকেজ আপডেট করুন:

sudo apt update && sudo apt upgrade

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

sudo apt install mysql-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';

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

PHP 7.2 যা উবুন্টু 18.04 এ ডিফল্ট পিএইচপি সংস্করণটি সম্পূর্ণরূপে সমর্থিত এবং ড্রুপাল 8.6 এর জন্য প্রস্তাবিত। যেহেতু আমরা এনগিনেক্সকে একটি ওয়েব সার্ভার হিসাবে ব্যবহার করব আমরা পিএইচপি-এফপিএমও ইনস্টল করব।

সমস্ত প্রয়োজনীয় পিএইচপি মডিউল ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

PHP-FPM পরিষেবা ইনস্টলেশন প্রক্রিয়া শেষ হওয়ার পরে স্বয়ংক্রিয়ভাবে শুরু হবে, আপনি পরিষেবার স্থিতি মুদ্রণ করে এটি যাচাই করতে পারবেন:

systemctl status php7.2-fpm

আউটপুটটি এফএমপি পরিষেবাটি সক্রিয় এবং চলমান নির্দেশ করে।

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www

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

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

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

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

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

composer --version

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

Composer version 1.6.5 2018-05-04 11:44:59

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

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

sudo 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

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

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. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

অবশেষে, আমাদের সঠিক অনুমতিগুলি সেট করতে হবে যাতে ওয়েব সার্ভারটি সাইটের ফাইল এবং ডিরেক্টরিগুলিতে সম্পূর্ণ অ্যাক্সেস পেতে পারে। এনগিনেক্স এবং পিএইচপি উভয়ই www- www-data ব্যবহারকারী এবং www-data গ্রুপ হিসাবে চলছে, সুতরাং আমাদের নিম্নলিখিত কমান্ডটি জারি করতে হবে:

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

5. এনগিনেক্স কনফিগার করুন

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

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

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

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/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' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # 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 এ পুনঃনির্দেশিত হবে। এই কনফিগারেশনে ব্যবহৃত স্নিপেটগুলি এই গাইডটিতে তৈরি করা হয়েছে।

sites-enabled ডিরেক্টরিতে একটি প্রতীকী লিঙ্ক তৈরি করে সার্ভার ব্লক সক্ষম করুন:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

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

sudo nginx -t

যদি কোনও ত্রুটি না থাকে তবে আউটপুটটি দেখতে দেখতে এটির মতো হওয়া উচিত:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

শেষ অবধি, টাইপ করে Nginx পরিষেবাটি পুনরায় আরম্ভ করুন:

sudo systemctl restart nginx

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

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

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

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

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

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

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto sudo -u www-data প্রিপেন্ড sudo -u www-data আমরা ব্যবহারকারী www-data হিসাবে কমান্ডটি চালাচ্ছি

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 www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

উপসংহার

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

উবুন্টু দ্রুপাল মাইএসকিএল মারিয়াডবি সেমি এনজিএনক্স সুরকার