یکی از بهترین 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
الان کافی است به صفحه مرورگر بروید و ای پی سرور را وارد کنید تا به صفحه زیر برسید
پس از انتخاب زبان به مرحله زیر می رسیم
که ما حالت استاندارد را انتخاب می کنیم و سپس به مرحله زیر می رسیم
در اینجا یوزر نیم و پسورد دیتابیس و همچنین اسم دیتابیس را که قبلا ساخته ایم را وارد می کنیم و به مرحله زیر می رسیم
در اینجا مشخصات سایت و همچنین یوزر نیم و پسوردی که می تواند به کنترل پنل دروپال وارد گردد را وارد می کنیم
و سپس به صفحه زیر می رویم و دروپال آماده به کار می باشد