نصب Drupal بر روی لینوکس های دبیان base

یکی از بهترین CMS ها Drupal می باشد و سایت های بزرگی با Drupal ساخنه شده اند

برای نصب در لینوکس های دبیان بیس باید مراحل زیر را طی کنیم تا بتوانیم از این CMS استفاده  کنیم

اولین کار آپدیت پکیج های نصب شده است با استفاده از این کامند می  توانیم سیستم را آپدیت کنیم

 

sudo apt update

بعد از آپدیت نمودن پکیج های نصب شده برروی سیستم

پکیج هایی را  که برای دروپال لازم داریم را نصب می کنیم

با اسنفاده از کامند زیر معمولا اکثر CMS به یک دیتا بیس احتیاج دارند که ما در اینجا از MariaDB استفاده می کنیم

sudo apt install -y mariadb-server mariadb-client unzip

بعد از نصب ماریا دی بی احتیاج داریم که با استفاده از کامند زیر آن را فرایند نصب را کامل کنیم

sudo mysql_secure_installation

بعد از اجرای کامند بالا اولین چیزی که می بینیم

Enter current password for root (enter for none):

اینجا از ما پسورد روت را می خواهد پس از وارد کردن پسورد روت  چیزی  که می بینیم

Switch to unix_socket authentication [Y/n]

من چون از اوبونتو اسنفاده می کنم و یوزر روت به ظور پیشفرض غیر فعال می یاشد گزینه No را انتخاب می کنم
سپس پرسش زیر را می بینیم

Change the root password? [Y/n]

من در اینجا نمی خواهم پسورد روت را تغییر بدهم پس دوباره گزینه No را انتخاب می کنم

سپس پرسش زیررا می بینیم

Remove anonymous users? [Y/n]

من می خواهم یوزر ناشناس را پاک کنم پس گزینه Yes را انتخاب می کنم

سپس پرسش زیر را می بینیم

Disallow root login remotely? [Y/n]

به طور پیش فرض یوزر روت می نواند به صورت ریموت به دیتابس وصل گردد که ممکن است ریسک امنیتی داشته باشد پس من گزبنه No را انتخاب می کنم

سپس به پرسش زیر می رسیم

Remove test database and access to it? [Y/n]

به طور پیش فرض یک دیتابیس تست ایجاد گردیده است که من با استفاده از گزینه No این دیتا بیس را نیز پاک می کنم

[سپس به پرسش زیر می رسیم

Reload privilege tables now? [Y/n]

که می خواهد سطح دسترسی ها را تغییر دهد که من معمولا با Yes اجازه این کار را می دهم

سپس متن زیر را می بینیم

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB

که نشان می دهد فرآیند نصب تکمیل شده است

سپس با کامند زیر به دیتابیس سرور لاگین می کنیم

sudo mysql -u root

وسپس دیتابیس مربوط به Drupal را می سازیم

CREATE DATABASE drupal;

سپس برای این دیتابیس یوزر نیم و پسورد تعریف  می کنیم

GRANT ALL ON drupal.* TO 'drupal'@'localhost' IDENTIFIED BY 'mypassword';

که د راینجا ما یوزی برای دیتابس Drupal به نام druapl با پسورد mypassword ساخته ایم برای امنیت بیشتر بهتر است از یک پسورد قوی استفاده کنیم

سپس با کامند زیر دسترسی های لازم را برای این دیتابیس می سازیم

FLUSH PRIVILEGES;

و با  کامند

\q

از دیتابیس سرور خارج می شویم

مرحله بعدی نصب php می باشد من چون از اوبونتو21.04  استفاده می کنم و این توزیع به طور پیش فرض از PHP 8  استفاده می کند ممکن است با نسخه Drupal که من استفاده می کنم سازگار نباشد با استفاده از کامندهای زیر PHP-7.4 را نصب می کنم


apt -y install software-properties-common

add-apt-repository ppa:ondrej/php

بعد از اینکه رپو های مورد احتیاج برای PHP-7.4 را اضافه کردم با استفاده از کامند زیر PHP و ماژول های مورد نیاز را نصب می کنم

sudo apt install -y php7.4-{cli,fpm,json,common,mysql,zip,gd,intl,mbstring,curl,xml,tidy,soap,bcmath,xmlrpc}

الان ما بر روی این سرور دو نسخه از PHP را داریم و چون می خواهیم از PHP7.4 استفاده کنیم با استفاده از کامند زیر PHP دیفالت را تغییر می دهیم

sudo update-alternatives –set php /usr/bin/php7.4

برای وب سرور می خواهیم از آپاجی استفاده کنیم پس با کامند زیر آن را نصب می کنیم

sudo apt install -y apache2 libapache2-mod-php

بعد از نصب آپاجی لازم است که یکسری تغییرات را برروی PHP انجام دهیم پس با ادیتور مورد علاقه خود فایل php.ini را که در مسیر زیر وجود دارد

/etc/php/7.4/apache2/php.ini

و میزان رم مورد استفاده PHP و لوکیشنی که در آن زندگی می کنیم به مقادیر زیر تغییر می دهیم

memory_limit = 512M
date.timezone = Asia/Tehran

برای استفاده از Drupal در آپاجی ما از Virtualhost استفاده می کنیم پس فایل زیر را با  استفاده از ادیتور باز می کنیم

/etc/apache2/sites-available/drupal.conf

و محتویات زیر را در آن قرار می دهیم

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/drupal/web

CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log

<Directory /var/www/html/drupal/web>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)user@computer$ index.php?q=$1 [L,QSA]
</Directory>
</VirtualHost>

برای نصب دروپال ما در اینجا ازcomposer استقاده می کنیم برای نصب کامند زیر را اجرا می کنیم

php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”

php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer

اکنون برای فایل های Drupal فولدری ایجاد می کنیم و پرمیشن های لازم برای دسترسی آپاجی را ست می کنیم

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

حالا با استفاده از composer  دروپال را نصب می کنیم و می خواهیم این کار حتما با یوزر آپاجی انجام گردد پس کامند زیر را اجرا می کنیم

 sudo su -l www-data -s /bin/bash

پس از لاگین به یوزر آپاجی با استفاده از کامند زیر دروپال را نصب می کنیم

 composer create-project drupal/recommended-project /var/www/html/drupal

خروجی چیزی به این می باشد که دروپال دانلود شده و نصب می گردد

– Downloading psr/http-factory (1.0.1)
– Downloading psr/cache (1.0.1)
– Downloading pear/pear_exception (v1.0.2)
– Downloading pear/console_getopt (v1.4.3)
– Downloading pear/pear-core-minimal (v1.10.11)
– Downloading pear/archive_tar (1.4.14)
– Downloading masterminds/html5 (2.7.5)
– Downloading laminas/laminas-stdlib (3.6.1)
– Downloading laminas/laminas-escaper (2.9.0)
– Downloading laminas/laminas-feed (2.15.0)
– Downloading laminas/laminas-diactoros (2.8.0)
– Downloading guzzlehttp/psr7 (1.8.3)
– Downloading guzzlehttp/promises (1.5.1)
– Downloading guzzlehttp/guzzle (6.5.5)
– Downloading doctrine/lexer (1.2.1)
– Downloading egulias/email-validator (3.1.2)
– Downloading doctrine/annotations (1.13.2)
– Downloading doctrine/reflection (1.2.2)
– Downloading composer/semver (3.2.6)
– Downloading asm89/stack-cors (1.3.0)

– Installing laminas/laminas-feed (2.15.0): Extracting archive
– Installing laminas/laminas-diactoros (2.8.0): Extracting archive
– Installing guzzlehttp/psr7 (1.8.3): Extracting archive
– Installing guzzlehttp/promises (1.5.1): Extracting archive
– Installing guzzlehttp/guzzle (6.5.5): Extracting archive
– Installing doctrine/lexer (1.2.1): Extracting archive
– Installing egulias/email-validator (3.1.2): Extracting archive
– Installing doctrine/annotations (1.13.2): Extracting archive
– Installing doctrine/reflection (1.2.2): Extracting archive
– Installing composer/semver (3.2.6): Extracting archive
– Installing asm89/stack-cors (1.3.0): Extracting archive
– Installing drupal/core (9.3.5): Extracting archive

– Copy [web-root]/sites/default/default.settings.php from assets/scaffold/files/default.settings.php
– Copy [web-root]/modules/README.txt from assets/scaffold/files/modules.README.txt
– Copy [web-root]/profiles/README.txt from assets/scaffold/files/profiles.README.txt
– Copy [web-root]/themes/README.txt from assets/scaffold/files/themes.README.txt
* Homepage: https://www.drupal.org/project/drupal
* Support:
* docs: https://www.drupal.org/docs/user_guide/en/index.html
* chat: https://www.drupal.org/node/314178

Congratulations, you’ve installed the Drupal codebase
from the drupal/recommended-project template!

Next steps:
* Install the site: https://www.drupal.org/docs/8/install
* Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html
* Get support: https://www.drupal.org/support
* Get involved with the Drupal community:
https://www.drupal.org/getting-involved
* Remove the plugin that prints this message:
composer remove drupal/core-project-message
* Homepage: https://www.drupal.org/project/drupal
* Support:
* docs: https://www.drupal.org/docs/user_guide/en/index.html
* chat: https://www.drupal.org/node/314178

خوب الان دروپال نصب شده و ما از یوزر آپاچی خارج می شویم

با استفاده از کامندهای زیر آپاچی را جوری تنظیم می کنیم که تا به طور پیش فرض دروپال را لود کند

sudo a2enmod rewrite
sudo a2ensite drupal.conf
sudo a2dissite 000-default.conf
sudo systemctl restart apache2

الان کافی است به صفحه مرورگر بروید و ای پی سرور را وارد کنید تا به صفحه زیر برسید

پس از انتخاب زبان به مرحله زیر می رسیم

که ما حالت استاندارد را انتخاب می کنیم و سپس به مرحله زیر می رسیم

در اینجا یوزر نیم و پسورد دیتابیس و همچنین اسم دیتابیس را که قبلا ساخته ایم را وارد می کنیم و به مرحله زیر می رسیم

در اینجا مشخصات سایت و همچنین یوزر نیم و پسوردی که می تواند به کنترل پنل دروپال وارد گردد را وارد می کنیم

و سپس به صفحه زیر می رویم و دروپال آماده به کار می باشد