انڈروئد

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

سورة الكافرون المنشاوي المعلم مكررة 7 مرات1

سورة الكافرون المنشاوي المعلم مكررة 7 مرات1

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

Anonim

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

اس ٹیوٹوریل میں ، ہم آپ کو دکھائیں گے کہ اوبنٹو 18.04 مشین پر ڈروپل 8.6 کیسے انسٹال کریں۔ ڈروپل انسٹال کرنے کے متعدد طریقے ہیں۔ اس ٹیوٹوریل میں ڈروپل پروجیکٹ کے لئے کمپوزر ٹیمپلیٹ کا استعمال کرتے ہوئے ڈروپل 8.6 کو انسٹال کرنے کے لئے ضروری اقدامات کا احاطہ کیا گیا ہے۔

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

شرطیں

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

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

شروع کرنے سے پہلے

پیکیج انڈیکس اور سسٹم پیکجوں کو تازہ ترین ورژن میں تازہ کریں۔

sudo apt update && sudo apt upgrade

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

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

2. پی ایچ پی انسٹال کریں

پی ایچ پی 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

پی ایچ پی-ایف پی ایم سروس تنصیب کا عمل مکمل ہونے کے بعد خود بخود شروع ہوجائے گی ، آپ سروس کی حیثیت کو پرنٹ کرکے اس کی تصدیق کرسکتے ہیں:

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

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

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

کمپوزر انسٹال کرنے کے لئے عالمی سطح پر کمپوزر انسٹالر کو کرل کے ساتھ ڈاؤن لوڈ کریں اور فائل کو /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

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

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

آخر میں ، ہمیں صحیح اجازتیں ترتیب دینے کی ضرورت ہے تاکہ ویب سرور کو سائٹ کی فائلوں اور ڈائریکٹریوں تک مکمل رسائی حاصل ہوسکے۔ Nginx اور پی ایچ پی دونوں www- www-data صارف اور www-data گروپ کی حیثیت سے چل رہے ہیں ، لہذا ہمیں درج ذیل کمانڈ جاری کرنے کی ضرورت ہے۔

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

5. Nginx تشکیل دیں

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

ہمارے نئے ڈروپل پراجیکٹ کے لئے ایک نیا سرور بلاک بنانے کے لئے ، ہم سرکاری Nginx سائٹ سے Nginx ہدایت کا استعمال کریں گے۔

اپنا ٹیکسٹ ایڈیٹر کھولیں اور درج ذیل فائل بنائیں۔

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-aval/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/

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

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 کو ٹائپ کرنے کے لئے composer require drupal/module_or_theme_name ۔ مثال کے طور پر ، اگر ہم پٹھاٹو ماڈیول انسٹال کرنا چاہتے ہیں تو ہمیں مندرجہ ذیل کمانڈ کو چلانے کی ضرورت ہے۔

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto 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

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

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

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

انسٹالیشن فائلوں کا بیک اپ لینے کے ل 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 www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

نتیجہ اخذ کرنا

مبارک ہو ، آپ نے کمپوزر کا استعمال کرتے ہوئے ڈروپل 8 کو کامیابی کے ساتھ انسٹال کیا ہے اور ماڈیول اور تھیمز انسٹال کرنے کا طریقہ سیکھا ہے۔ اب آپ اپنی سائٹ کو بہتر بنانا شروع کرسکتے ہیں۔ ڈروپل 8 یوزر گائیڈ آپ کی ڈروپل انسٹالیشن کا انتظام کرنے کے طریقہ کار کے بارے میں مزید معلومات کے ل a ایک اچھی شروعات کی جگہ ہے۔ آپ کو گیتوب پر ڈروپل کمپوزر ٹیمپلیٹ پروجیکٹ بھی دیکھنا چاہئے۔

اوبنٹو ڈروپل mysql mariadb cms nginx کمپوزر