لەم بابەتە فێر دەبین کە چۆن درووپاڵ لە سەر ژێر سیستەمی لینوکسی ویندۆز ١١ دامەزرێنین و پەیکەرسازی بۆ ئەنجام بدەین.

درووپاڵ نەرمەکالایێکی سەرچاوەکراوەیە کەبە php بۆ بەرێوەبردنی بنکە دراوەکانی MySQL وە MariaDB لە سەر ڕاژەکان دروستکراوە.تەواو ئەرکەکانی بنکەدراوە و گوزارشەکانی بە چارە دەکرێت.

ئێوە دەتوانن درووپاڵ لە سەر ویندۆز بە شێوازی ڕاستەو خۆ لە ڕومێزی ویندۆز و یا ڕاژە بە یارمەتی ژێرسیستەمی ویندۆزی لینوکسی واتە(Windows Subsystem for Linux :WSL) دامەزرێنن؛ بێ ئەوە کە لە ماشینی خەیاڵێ سوود بگرن.

لە ساڵێ ٢٠١٧ مایکرۆسۆفت WSL خستە بەردەست بەڵام ، پاش ماوەیێکی کەم وشانی WSL2 کە بە گەشەپێدەران ڕێگەی دەدا لە ژینگەی گنو/لینوکس سوود بگرن ، بڵآوی کردەوە.

دامەزراندنی ژێر سیستەمی بۆ لینوکس لە ویندۆز ١١

سەرەتا Command Prompt دەکەینەوە ئەڵبەت بە ئاستی بەڕێوەبەر(administrator)؛ بۆ ئەم مەبەستە لە سەر Start کرتەیێك دەکین و دەنووسین Command Prompt . ئێستا کرتەی ڕاست دەکین لە سەر ئەپی Command Prompt ڕەستەی Run as administrator هەڵدەبژێرین.

ئەم وێنەیە تایبەتمەندی alt بەتاڵی هەیە؛ ناوی فایلەکەی windows-11-command-prompt-administrator.png

کاتێک کە کونسول کرایەوەی، فەرمانی خوارەوە بۆ دامەزراندنی ژێر سیستەم دەنووسین

wsl --install

چاوەڕوانی دامەزراندنی WSL دەبین. پاش دامەزراندن ئێوە ئەم پەیامە دەبینن کە دامەزراندن سەرکەوتوو بوو

Installing: Virtual Machine Platform
Virtual Machine Platform has been installed.
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
Downloading: WSL Kernel
Installing: WSL Kernel
WSL Kernel has been installed.
Downloading: GUI App Support
Installing: GUI App Support
GUI App Support has been installed.
Downloading: Ubuntu
The requested operation is successful. Changes will not be effective until the system is rebooted.

ئێستا دەبێ کۆمپیوترەکەمان نوێ بکەینەوە(Restart)

WSL دامەزراوە و ئامادەی ئیشکردنە بەڵآم ئێوە دەبێ بەڕۆژی بکەنەوە بەم فەرمانە سادەی خوارەوە

wsl --update

دامەزراندنی دابەشکراوەیێکی لینوکسی تایبەت لە سەر ویندۆزی ١١

کاتێک بە سەرکەوتوویی WSL دامەزرا ئێوە دەبێ دابەشکراوەیێکی لینوکس هەڵبژێرن. بۆ ئەمەش کە بزانن چەندە دابەشکراوە ئامادەیە بۆ دامەزراندن و پێرستەکەیان ببینن ئەم فەرمانە سادەیە بنووسن:

wsl --list --online

دەرئەنجامی ئەم فەرمانە ئەوەیە کە، ئێوە پێرستێک لە دابەشکراوەکانی لینوکس بۆ دامەزراندن دەبینن:

NAME            FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS

بۆ دامەزراندنی دابەشکراوەیێکی لینەکس لە پێرستەکەی سەرەوە بە سادەیی ئێمە فەرمانەکەی خواررەوە دەنووسین. بۆ نمونە بۆ دامەزراندنی Ubuntu 20.04 ئەم فەرمانە بەکار دەبەین :

wsl --install -d ubuntu-20.04

پاش دامەزراندن ئێوە، ئەم پەیامە دەبینن:

Downloading: Ubuntu 20.04 LTS
Installing: Ubuntu 20.04 LTS
Ubuntu 20.04 LTS has been installed.
Launching Ubuntu 20.04 LTS...

پاش دامەزراندن، ئێوە دەتوانن کنسولی فەرمانی ئوبونتو ببینن بە وەردە زانیارییەکان

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: Richard
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04 LTS (GNU/Linux 4.4.0-22000-Microsoft x86_64)

کەمێ کێشە لە کاتی دامەزراندن دێنە پێس بەڵآم چارە دەکرێن

wsl --set-default-version 1
bcdedit /set hypervisorlaunchtype auto start

ئوبونتو دامەزرا بەڵام، ئیمە بۆ دامەزراندنی ڕژەکاری LEMP بۆ دروپاڵ سەرەتا دەبێ ڕاژەکاری ئێن جی نێکس(Nginx HTTP Server) دامەزرێنین.

دروپاڵ پێویستی بە ڕاژەیەکی وێب بۆ نەخشە سازی خۆی هەیە، یەکێک لەم ڕاژانە Nginx یەکێک لە چەندین ڕاژەکار بۆ ئەم مەبەستەهەیە.

بۆ دامەزراندنی Nginx لە سەر ئوبونتو فەرمانەکەی خوارەوە جێبەجێدەکەین

sudo apt update
sudo apt install nginx

پاش دامەزراندنی Nginx بۆ ڕاوێستان(stop)، داگرسان(start) سوود لە فەرمانەکانی خوارەوە دەگرن:

sudo service nginx stop
sudo service nginx start

بۆ تاقیکردنەوە دەتوانن ویبگەڕەکەتان بکەنەوە و ناونیشانی خوارەوە لە شریتی ناونیشانی وێبگەر بنووسن

http://localhost

گەر ئەم وێنە ببینن ئەوە مانای ئەمەیە کە Nginx بە باشی ئیش دەکا.

دامەزراندنی ڕاژەی بنکەدراوەی MariaDB

MariaDB ڕاژەکاریکی بنکە دراوەی زۆر خێرایە کە بە شێوازی سەرچاوەکراوە وشیندراوەپاراستن و ڕاژەی سەرەکی بنکە دراوە لە زۆربەی لینوکسەکانی بوونی هەیە.

بۆ دامەزراندنی MariaDB لەم فەرمانە سوود دەگرین:

sudo apt-get install mariadb-server mariadb-client

پاش دامەزراندنی MariaDB، فەرمانەکانی خوارەوە بۆ سوود وەرگرتن لە ڕاوێستێنین(stop)، دایبگرسێنین(start) و توانایبکەنەوە یا چالاکی بکەن(enable) ئەم ڕاژە بەکەڵکەن:

sudo service mysql stop
sudo service mysql start
sudo service mysql restart

فەرمانەکەی خوارەوەش بۆ پاراستنی ڕاژەی بنکەدراوەیە بە تێپەڕ وشەی ڕووت:

sudo mysql_secure_installation

پاش ئەنجامدانی کارەکەی سەرەوە بەم پرسیارانە وڵام بدەنەوە:

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

پاش دامەزراندن و پەیکەرسازی بنکەدراوەی، بچنەژوورەوە بەیارمەتی ئەمفەرمانەی کنسول:

sudo mysql -u root -p
تێپەر وشەکەی بنکەدراوە بنووسە بۆ ئیشکردن

کاتێک کە وێنەکەی سەرەوە ببینن واتە بە سەرکەوتوویی دامەزراوە.

دامەزراندنی PHP و ماژۆڵەکانی

دروپاڵ لە سەر PHP دامەزراوە وە دەبێ PHP بۆ دامەزراندنی چالاک بکەین لە سەر ڕاژەکارەکەمان.بە فەرمانەکەی خوارەوە PHP دادەمەزرێنین

sudo apt install php-fpm php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-xml php-cli php-zip

پاش دامەزراندنی PHP دەبێ کەمێ پەیکەرسازی و رێکخستنەکان کە پێویستن بۆ دامەزراندنی دروپاڵ ئەنجام بدەین

لەم فێرکارییە ئێمە لە وشانی PHP 7.4 سوود دەگرین.بەفەرمانەکەی خوارەوە رێکخستنەکان ئەنجام دەدەین

sudo nano /etc/php/7.4/fpm/php.ini

ریکخستنەکانی خوارەوە بۆ دروپاڵ گونجاوە

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

پاش دامەزراندن ئێوە دەتوانن بەفەرمانەکانی خوارەوە خزمەتگوزارییەکانی PHP ، ڕاوێستێنین(stop) یان دایبگرسێنینەوە(start) :

sudo service php7.4-fpm stop
sudo service php7.4-fpm start

دروستکردنی بنکەدراوە بۆ دروپاڵ

پاش ئەوە کە وەک فەرمانەکانی سەرەوە ڕاژەمان دامەزراند، ئێستا نۆبەی دروپاڵە و دەبێ بنکە دراوەیێکی بۆ دروستبکەین.بە کونسوولی هێڵێ فەرمان دەچینە نێو بنکە دراوەی MariaDB

sudo mysql -u root -p

بنکە دراوەیێک بە ناوی drupaldb دروست دەکەین بە فەرمانەکەی خوارەوە:

CREATE DATABASE drupaldb;

ئێستا بەکارهێنەرێک بۆ بنکەدراوەکەی سەرەوە کە دروستمان کرد دەناسێنین بەم فەرمانە بە ناوی drupaldbuser :

CREATE USER 'drupaldbuser'@'localhost' IDENTIFIED BY 'new_password_here';

ئەم بەکارهێنەرە دەبێ دەستپێگەیشتنی بە تەواو بنکە دراوەکە هەبێت، ئەمەش بەم فەرمانە جیبەجێ دەبێت

GRANT ALL ON drupaldb.* TO 'drupaldbuser'@'localhost' WITH GRANT OPTION;

لە کۆتایی گۆڕانکارییەکان پاشکەوت دەکەین و دینە دەرەوە

FLUSH PRIVILEGES;
EXIT;

داگرتنی دروپاڵ

لەم قۆناغە دەبێ دروپاڵ دابگرین و دایمەزرێنین. بۆ ئەم هەنگاوەس بە فەرمانەکەی خوارەوە دوایین وشانی دروپاڵ دادەگرین. بۆ دوایین وشانی دروپاڵ دەبێ بچین بۆ گیتهاب و لە کانگای دروپاڵ دوایین وشان دابگرین. دەبێ Curl و پێداویستیەکانی فەرمانی خوارەوەش جێبەجێ بکەین.

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

پاس دامەزراندنی curl وە Composer لە هێڵی فەرمانی سەرەوە دەچینی مەسیری ڕووتی Nginx پاکەتی دروپاڵ دەخزێنینە نێو ئەو دایرێکتۆرییە. بۆ دیتنی وشانەکانی دروپاڵ سەردانی ئەم بەستەرە بکەن :

cd /var/www/
sudo git clone --branch 9.1.9 https://git.drupal.org/project/drupal.git
cd /var/www/drupal
sudo composer install

بە فەرمانەکەی خوارەوە رێگە دەدەین کە بەکارهێنەر خاوەنیەتی بوخچەی دروپاڵ لە ئەستۆ بگرێت:

sudo chown -R www-data:www-data /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/

پەیکەر سازی Nginx لە سەر ڕاژەی خەیاڵی

ناونیشانی خوارەوە ئە پەڕگەیەی کە بۆ پەیکەرسازی ڕاژەی خەیاڵێ Nginx هەیە دەستکاری دەکەین. فەرمانەکانی خوارەوە بۆ دروستکردنی ڕاژەیەکی خەیاڵی نوێ بە پەڕگەیێک بە ناوی Drupal لە ناونیشانی /etc/nginx/sites-available/

sudo nano /etc/nginx/sites-available/drupal

باشترین پەیکەرسازی Nginxلە سەر ماڵپەڕەکانی دروپاڵ بە شێوەی خوارەوە دروست بوون و پێسنیار کراوەن

server {
    listen 80;
    listen [::]:80;
    root /var/www/drupal;
    index  index.php index.html index.htm;
    server_name  example.com www.example.com;

    client_max_body_size 100M;
    autoindex 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 snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 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 ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
        try_files $uri /index.php?$query_string;
    }
}

پەڕگەکە پاشکەوت دەکەین و دینە دەرەوە.

پاش پاسکەوتکردنی پەڕگەی سەرەوە دەبێ بە فەرمانەکەی خوارەوە ماڵپەرەکەمان چالاک بکەین و ڕاژەی Nginxنوێ بکەینەوە

sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
sudo service nginx restart

ئێستا دروپاڵ ئامادەیە بۆ دامەزراندن و دەتوانین بە ناونیشانی خوارەوە لە وێبگەر برۆین بۆ دامەزراندنی

http://example.com

ئێستا دەبێ قۆناگەکانی دامەزراندن وەک وێنەکانی خوارەوە تێپەڕێنین

پەیوەندی بە بنکەدراوە دروست دەکەین

هەژمارەی بەرێوەبەری دروپاڵ دروستدەکەین

دەچینە نێو هەژمارەکامان و تەواو