انڈروئد

سینٹوس 7 پر ڈروپل کیسے لگائیں

سوا - غابة المعمورة تواجه خطر الاندثار

سوا - غابة المعمورة تواجه خطر الاندثار

فہرست کا خانہ:

Anonim

ڈروپل دنیا بھر میں نمایاں اوپن سورس CMS پلیٹ فارمز میں سے ایک ہے۔ یہ لچکدار ، توسیع پزیر ہے اور چھوٹے ذاتی بلاگ سے لے کر بڑے کارپوریٹ ، سیاسی اور سرکاری سائٹوں تک مختلف قسم کی ویب سائٹ بنانے میں استعمال کیا جاسکتا ہے۔

اس ٹیوٹوریل میں ، ہم اس کی وضاحت کریں گے کہ ڈروپل 8.6 کو سینٹوس 7 پر کیسے انسٹال کریں۔

ڈروپل انسٹال کرنے کے متعدد طریقے ہیں۔ اس گائیڈ میں ڈروپل پراجیکٹ نامی ڈروپل پروجیکٹس کے لئے کمپوزر ٹیمپلیٹ کا استعمال کرتے ہوئے ڈروپل انسٹال کرنے کے لئے ضروری اقدامات کا احاطہ کیا ہے۔

ہم Nginx کو بطور ویب سرور ، تازہ ترین پی ایچ پی 7.2 اور MySQL / MariaDB بطور ڈیٹا بیس سرور استعمال کریں گے۔

شرطیں

انسٹالیشن شروع کرنے سے پہلے ، یقینی بنائیں کہ آپ نے درج ذیل شرائط کو پورا کرلیا ہے۔

  • اپنے عوامی سرور IP کی طرف اشارہ کرنے والا ایک ڈومین نام رکھیں۔ ہم example.com ڈاٹ کام کا استعمال کریں گے۔ نینگیکس انسٹال ہوا ہے۔ آپ کے ڈومین کے لئے ایک SSL سرٹیفکیٹ نصب ہے۔ آپ ان ہدایات پر عمل کرکے ایک چلیں اینکرپٹ ایس ایس ایل کا ایک مفت سرٹیفکیٹ انسٹال کرسکتے ہیں۔ سوڈو مراعات کے ساتھ بطور صارف لاگ ان ہوں۔

ایک ایس کیو ایل ڈیٹا بیس بنائیں

پہلا قدم ایک نیا ڈیٹا بیس اور صارف اکاؤنٹ بنانا اور صارف کو مناسب اجازت دینا ہے۔

اگر مائی ایس کیو ایل یا ماریا ڈی بی پہلے سے ہی آپ کے سرور پر انسٹال ہے تو آپ اس قدم کو چھوڑ سکتے ہیں ، اگر نہیں تو آپ ٹائپ کرکے سینٹوس کے ڈیفالٹ ذخیروں سے ماریا ڈی بی 5.5 سرور پیکیج انسٹال نہیں کرسکتے ہیں۔

sudo yum install mariadb-server مارییاڈی بی / ایس کیو ایل کی تازہ ترین تنصیبات کے mysql_secure_installation ، آپ کے ڈیٹا بیس سرور کی سیکیورٹی کو بہتر بنانے کے mysql_secure_installation ، mysql_secure_installation کمانڈ چلانے کی سفارش کی گئی ہے۔

ایس کیو ایل شیل میں درج ذیل کمانڈ کو ٹائپ کرکے لاگ ان کریں اور اشارہ کرنے پر پاس ورڈ درج کریں:

mysql -u root -p

drupal نامی ڈیٹا بیس بنانے کے 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 ہے۔

پہلے پی ایچ پی 7.2 کو سینٹوس 7 پر انسٹال کرنے کے لئے ہمیں ای پی ای ایل اور ریمی ذخیروں کو چالو کرنے کی ضرورت ہے۔

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 حیثیت سے چلائے گی۔ ہم صارف کو 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

یہ یقینی بنائیں کہ /var/lib/php ڈائرکٹری میں مندرجہ ذیل chown کمانڈ کا استعمال کرتے ہوئے صحیح ملکیت ہے:

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

آخر میں ، پی ایچ پی ایف پی ایم سروس کو فعال اور شروع کریں:

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

کمپوزر انسٹال کریں

کمپوزر پی ایچ پی کے لئے انحصار منیجر ہے۔ ہم ڈروپل ٹیمپلیٹ کو ڈاؤن لوڈ کریں گے اور کمپوزر کے ساتھ تمام ضروری ڈروپل اجزاء انسٹال کریں گے۔

درج ذیل کمانڈ کمپوزر انسٹالر کو curl کے ساتھ ڈاؤن لوڈ کرکے اور فائل کو /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

مندرجہ بالا کمانڈ ٹیمپلیٹ کو ڈاؤن لوڈ کرے گا ، تمام مطلوبہ پی ایچ پی پیکیجوں کو بازیافت کرے گا اور اسکرپٹ کو انسٹالیشن کے ل prepare تیار کرنے کے لئے چلائے گا۔ عمل میں چند منٹ لگ سکتے ہیں اور اگر یہ کامیاب ہے تو آؤٹ پٹ کا اختتام اس طرح ہوگا:

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 تشکیل دیں

ابھی تک ، آپ کے پاس پہلے سے ہی Nginx اپنے SSL سسٹم پر نصب ہونا چاہئے ، اگر اس ٹیوٹوریل کے لئے لازمی شرائط کی جانچ نہیں کی جاتی ہے۔

ہمارے نئے ڈروپل پراجیکٹ کے لئے ایک نیا سرور بلاک بنانے کے لئے ، ہم سرکاری Nginx سائٹ سے 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 پر ری ڈائریکٹ کیا جائے گا۔ اس ترتیب میں استعمال شدہ ٹکڑوں کو اس گائیڈ میں بنایا گیا ہے۔

Nginx سروس کو دوبارہ شروع کرنے سے پہلے اس بات کا یقین کرنے کے لئے جانچ کریں کہ کوئی نحو غلطی موجود ہے:

sudo nginx -t

ٹائپنگ کے ذریعہ تبدیلیوں کے اثر انداز ہونے کے لئے نگنکس سروس کو دوبارہ شروع کریں:

sudo systemctl restart nginx

تنصیب کی جانچ کریں

اپنا براؤزر کھولیں ، اپنا ڈومین ٹائپ کریں اور فرض کریں کہ انسٹالیشن کامیاب ہے ، مندرجہ ذیل کی طرح کی ایک اسکرین نمودار ہوگی۔

آپ منتظم کی حیثیت سے لاگ ان ہوسکتے ہیں اور اپنی نئی ڈروپل انسٹالیشن کو حسب ضرورت بنانا شروع کرسکتے ہیں۔

ڈروپل ماڈیول اور تھیمز انسٹال کریں

اب جب کہ آپ نے اپنے ڈروپل پراجیکٹ کو انسٹال کیا ہے ، آپ کو کچھ ماڈیول اور تھیمز انسٹال کرنا چاہیں گے۔ ڈروپل ماڈیولز اور تھیمز کو ایک کسٹم کمپوزر ذخیرے کی میزبانی کی جاتی ہے ، جو ڈروپل پروجیکٹ کو ہمارے لئے خانے سے باہر تشکیل دیتا ہے۔

کسی ماڈیول یا تھیم کو انسٹال کرنے کے لئے ، آپ سبھی کو پروجیکٹ ڈائرکٹری کی cd کرنے کی composer require drupal/module_or_theme_name اور 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 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

جیسا کہ آپ اوپر آؤٹ پٹ سے دیکھ سکتے ہیں کہ کمپوزر ہمارے لئے بھی تمام پیکیج انحصار انسٹال کرتا ہے۔

ڈروپل کور کو اپ ڈیٹ کریں

اپ گریڈ کرنے سے پہلے اپنی فائلوں اور ڈیٹا بیس کا بیک اپ لینا ہمیشہ اچھا خیال ہے۔ آپ یا تو بیک اپ اور مائیگریٹ ماڈیول کا استعمال کرسکتے ہیں یا دستی طور پر اپنے ڈیٹا بیس اور فائلوں کا بیک اپ لے سکتے ہیں۔

انسٹالیشن فائلوں کا بیک اپ لینے کے ل you ، آپ مندرجہ ذیل rsync کمانڈ استعمال کرسکتے ہیں ، یقینا ، آپ کو انسٹالیشن ڈائرکٹری کا صحیح راستہ استعمال کرنے کی ضرورت ہوگی۔

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

ڈیٹا بیس کا بیک اپ لینے کے mysqldump ہم یا تو معیاری 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 یوزر گائیڈ آپ کی ڈروپل انسٹالیشن کا انتظام کرنے کے طریقہ کے بارے میں مزید معلومات کے ل starting ایک اچھی شروعات کی جگہ ہے۔ نیز ، گیتوب پر ڈروپل کمپوزر ٹیمپلیٹ پروجیکٹ کا دورہ کرنا نہ بھولیں۔

سینٹوس ڈروپل ایس کیو ایل ماریاڈب سیمس نجنیکس کمپوزر