دامەزراندنی درووپاڵ لە سەر ڕاژەی ئوبونتو

پێشەکی :

لەم بابەتە فێر دەبین کە دوایین وشانی درووپاڵ لە سەر ڕاژەی ئوبونتوی ۱۸.۰۴ بە یارمەتی خزمەتگوزاریەکانی وێبی Nginx ،MariaDB وە PHP 7.2 دامەزرێنین.درووپاڵ سیستەمێکی بەڕێوەبردنی ناوەڕۆکە. کە ئێوە دەتوانن بۆ هەر ماڵپەڕێک سوودی لێبگرن. بارکردن و داوای بۆ لای ڕاژەخوازەکان زۆر لە سەرە، تەنانەت بە بەراوەرد لەگەڵ وۆردپرێس و جووملاش.لە قۆناغەکانی خوارەوە فێر دەبین کە چۆن درووپاڵ(درۆپاڵ) دامەزرێنین.
کاتێک کە ئێوە درۆپاڵ بە شێوازی پاکەت لە گیتهاب دادەگرن زۆر بە ئاسانی دەتوانن بەڕۆژ و بەرزی بکەنەوە بۆ وشانی سەرتر.ئەم بەرزکردنەوە تەنها بۆ ناوکی درووپاڵە هێشتا ئامرازی گشتی بۆ بەرزکردنەوە بە هێڵی فەرمانی نییە.بە هەر حاڵ لەم فێرکارییە ئێمە لە ڕێگای گیتهاب پاکەتی درۆپا دەخەینە سەر ڕاژەی ئوبونتو و دایدەمەزرێنین.
درووپاڵ(درۆپاڵ)یش لە لایەن کۆمەڵێک کەسی خۆبەخش تا ڕادەیێک بە کوردی کراوە. دەتوانین بڵێین کە درووپاڵ بە هێزترین و خێراترین سیستەمی بەڕێوەبەری ناوەڕۆکە بۆ پەرەپێدەران و ئاسایشی زۆر زۆر لەسەرە.

.

قۆناغی یەکەم : دامەزراندنی خزمەتگوزاری Nginx HTTP لە سەر ئوبونتو

ئێن جی نێکس(Nginx) شایەت دووەمین ڕاژەکاری وێبی بەرچاوکراوە بێ.بەڵام بۆ دامەزراندنی درووپاڵ لەم بابەتە پێویستمان پێیەتی.بس بۆ دامەزراندنی فەرمانەکەی خوارەوە بنووسن :

sudo apt update
sudo apt install nginx

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

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

بۆ تاقیکردنەوەی دروستی چلاک بوونیngin، وێبگەڕەکەت بکەرەوە ئینجا ئای پی یان ناوی دۆمەینەکەت بنووسە.گەر nginx بە باشی دامەزرابێت ئێوە لە نێو وێبگەڕەکەت ئەم نووسراوە دەبینن.

http://localhost

قۆناغی دووهەم : دامەزراندی بنکەدراوەی MariaDB 

بنکە دراوەی ماریا دی بی (MARIADB) زۆر بە خێرایی لە نێو کۆمەڵگای سەرچاوەکراوە و لینوکس دا MySQLی لادا.ماریا دی بی بنکەدراوەی سەرەکی زۆر یەک لە دابەشکراوەکانی لینوکسە.. ئینجا وۆردپرێس پێویستی بە بنکەدراوەیێک هەیە.بە فەرمانەکەی خوارەوە بنکەدراوەی ماریا دی بی دادەمەزرێنن ؛

sudo apt-get install mariadb-server mariadb-client

پاش دامەزراندنی ماریا دی بی بە فەرمانەکەی خوارەوە ئێمە دەتوانین لە کاتی بووتکردنی(boot) ڕاژە.بنکەدراوە ڕاوێستێنین(stop)، دابگرسێنین(start) و توانابکەین(enable)، بەم شێوازە:
لەسەر ئوبونتوی ۱۶.۰۴

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl enable mysql.service

لەسەر ئوبونتوی ۱۸.۰۴ و ۱۸.۱۰

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

ئێستا بە فەرمانەکەی خوارەوە ئاسایشی ماریا دی بی بەهێز دەکەی و بەکارهێنەرێکی ڕەگ یان رووتی بۆ دروستدەکەین:

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

کاتێک کە بە سەرکەوتوویی چوونە نێو بنکەدراوە پەیامێک وەک پەیامەکەی خوارەوە دەبێ ببینن :

[root@host]# mysql -u root -p
Enter password:******
Welcome to the MariaDB monitor. Commands end with ; or \g. 
Your MariaDB connection id is 122323232 
Server version: 5.5.40-MariaDB-log
  
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  
MariaDB[ (none) ]>
قۆناغی سێهەم : دامەزراندنی PHP 7.2-FPM لەگەڵ مۆدوڵەکان(زیادکراوەکان)

ئیمکانی هەیە کە PHP 7.2-FPM لە سەر کانگاکانی ئوبونتو بوونی نەبی.هەر بۆیە بۆ دامەزراندنی ئێمە دەبێ لە بەشی سێهەم(third-party) سەرچاوەکان سوود بگرین.بۆ ئەم مەبەستە فەرمانەکەی خوارەوە لە ترمیناڵ بنووسن

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

ئێستا وشانی PHP 7.2-FPM بەرز دەکەینەوە :

sudo apt update

ئێستا بە فەرمانەکەی خوارەوە پێداویستیەکانی PHP 7.2 دادەمەزرێنین

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

پاش دامەزراندنی PHP 7.2، ئێستا بە فەرمانەکەی خوارەوە پەڕگەی سازدانی PHP 7.2 بۆ ڕژەکاری وێبی Nginx ڕێکدەخەین:

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

ئێستا گۆڕانکاریەکان وەک هێڵەکانی خوارەوە لە پەڕگەی 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.ini پاشکەوت بکەن و دایبخەن.

قۆناغی سێهەم: دەستپیکردنەوەی دوبارە Nginx

پاش ئەوە کە php7.2 و مۆدوڵەکانتان دامەزراند، ئێوە دەبێ Nginx لەسەرەوە نوێ بکەنەوە تا پەڕگەی سازدانەکە جێگیر ببێت.بۆ نوێکردنەوەی ڕاژە لە فەرمانەکەی خوارەوە سوود بگرن :

sudo systemctl restart nginx.service
قۆناغی چوار : دروستکردنی بنکەدراوە بۆ درۆپاڵ

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

sudo mysql -u root -p

بنکەدراوەیێک بەناوی drupal دروست دەکەین :

CREATE DATABASE drupal;

ئێستا بەکارهێنەرێک بە ناوی “drupaluser” و وشەی نهێنی بۆ دابین دەکەین.بەم جۆرە :

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

بۆ ئەم بەکارهێنەرە تەواو ئاستی دەستکاری بۆ بنکەدراوە دابین دەکەین، واتە بتوانێ خشتێک یان بنکەدراوە بسڕێتەوە،بیگۆڕێ ،دەستکاری بکا و … .

GRANT ALL ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

لە کۆتایی گۆڕانکاریەکانتان پاشکەوت بکەن بەم فەرمانە:

FLUSH PRIVILEGES;
EXIT;
قۆناغی پێنجم : داگرتنی دوایین وشانی درووپاڵ

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

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

پاش دامەزراندنی curl و پێداویستیەکانی،بڕۆن دایریکتۆری دامەزراندنی درووپاڵ”var/www/html/” پاشان دەبێ درووپاڵ دابگرنە ناو ئەو بوخچەیە کە هەن.بەم جۆرە:

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

بە فەرمانەکەی خوارەوە دەبێ مۆلەتدانەکانی بوخچەکان لە سەر ڕاژە بەشی ڕووت دابین بکەین.بە ڕیزبەندی فەرمانەکانی خوارەوە جێ بە جێ بکە

sudo chown -R www-data:www-data /var/www/html/drupal/
sudo chmod -R 755 /var/www/html/drupal/
قۆناغی شەشەم : سازدانی Nginx

لە کۆتایی، پەڕگەی Apahce2 سازدان بۆ درووپاڵ ئامادە دەکەین.ئەم پەڕگە شێوازی دەستپێگەیشتنی بەکارهێنەران بە درووپاڵ چاودێری دەکا.بە فەرمانەکی خوارەوە پەڕگەی سازدانی drupal ئامادە دەکەین:

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

ئێستا لە نێو پەڕگەی درووپاڵ (drupal) دەقی خوارەوە دەلکێنین و ئینجا پاشکەوتی دەکەین.ئەڵبەت بە جیاتی example.com و www.example.com دەبێ ناوی دۆمەینی خۆتان بنووسن.

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

    location / {
    try_files $uri /index.php?$query_string;        
    }

    location @rewrite {
               rewrite ^/(.*)$ /index.php?q=$1;
        }

    location ~ [^/]\.php(/|$) {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }

    location ~ ^/sites/.*/files/styles/ {
               try_files $uri @rewrite;
        }

    location ~ ^(/[a-z\-]+)?/system/files/ {
        try_files $uri /index.php?$query_string;
        }
}
قۆناغی حەوت : تواناکردنی درووپاڵ و مۆدوڵی نووسین (Rewrite Module)

پاش سازدانی ڕاژەی خەیاڵێ(VirtualHost) لە سەرەوە،دەبێ بە فەرمانەکەی خوارەوە توانای بکەین:

sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
قۆناغی هەشت :دەستپێکردنەوەی Nginx

بۆ بارکردنی تەواو ڕێکخستنەکانی سەرەوە دەبێ Nginx بە فەرمانەکەی خوارەوە لەنوێ بکەینەوە:

sudo systemctl restart nginx.service

ئێستا وێبگەڕەکەت بکەرەوە ئینجا لە خشتی ناونیشان ناوی دۆمەینەکەت بنووسە بۆ نمونە :

http://example.com/

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

قۆناغی دووهەم هەڵبژاردنی جۆری پرۆفایلی دامەزراندن:

قۆناغی سێهەم تێخزاندنی زانیاری بنکەدراوە کە لە سەرەوە درووستتکردووە:

قۆناغی چوارەم نووسینی زانیاری بەشی بەڕێوەبەری درووپاڵە کە لێرە دەینووسن:

پیرۆز بێت ! ئێوە دروپاڵتان دامەزراند لە سەر ئوبونتوی وشانی ۱۶.۰۴ و ۱۸.۰۴ وە ۱۸.۱۰.

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

sudo composer update /var/www/htmnl/drupal/core --with-dependencies
cd /var/www/html/drupal
sudo composer require drush/drush
cd /var/www/html/drupal/vendor/drush/drush
./drush updatedb
./drush cr

سەرنجەکان

وەڵامێک بنووسە

پۆستی ئەلیکترۆنییەکەت بڵاوناکرێتەوە. خانە پێویستەکان دەستنیشانکراون بە *