نصب وردپرس در اوبونتو ubuntu

در این آموزش به نحوه ی نصب وردپرس در سیستم عامل اوبونتو ubuntu می پردازیم.

سعی شده این آموزش ساده در نظر گرفته شده باشد، و به دور از پیچیدگی های خاصی به این مبحث پرداخته شده باشد.

پیشنیاز ها

پیکربندی سرور

بررسی DNS سرور

برای ادامه کار باید مطمئن شویم که دامنه ما به سرور ست شده است. ما این کار را با استفاده از دستور ping انجام خواهیم داد.

با استفاده از دستور زیر ما این کار را انجام می دهیم ( مثلا دامنه ی ما siraei.com است )

۱
ping siraei.com

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

C:\Users\Siraei>ping siraei.com

Pinging siraei.com [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time=51ms TTL=52
Reply from 127.0.0.1: bytes=32 time=48ms TTL=52
Reply from 127.0.0.1: bytes=32 time=50ms TTL=52
Reply from 127.0.0.1: bytes=32 time=47ms TTL=52

Ping statistics for 127.0.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 47ms, Maximum = 51ms, Average = 49ms

البته در اینجا به جای ۱۲۷٫۰٫۰٫۱ ما باید ip سرور خود را مشاهده کنیم.

اگر در خروجی ip سرور را مشاهده نکردید باید کمی صبر کنید تا رکورد های DNS آپدیت شوند، یا به عبارت دیگر نیم سرور ها در سطح اینترنت پخش شوند.

آپدیت کردن سیستم

ما باید سیستم خود را آپدیت کنیم.

۱
apt update

سپس

۱
apt upgrade

ایجاد کاربر

در این جا یک یوزر یا کاربر برای استفاده از وردپرس ایجاد می کنیم. ( به جای ali می توانیم نام دلخواه خود را وارد کنیم.

۱
adduser ali

سپس، پسورد یوزر مورد نظر را وارد می کنیم.

تنظیم ساعت و تایم زون (timezone)

در ادامه ما نیاز به ست کردن ساعت و تاریخ و همچنین در کل تایم زون سرور داریم، که با استفاده از دستور زیر آن را انجام می دهیم.

۱
dpkg-reconfigure tzdata

ایجاد یک دایرکتوری ( پوشه ) برای وردپرس

خب، ما باید یک پوشه برای محل نصب وردپرس ایجاد کنیم، برای مثال :

۱
mkdir /var/www/wordpress

پرمیژن ها یا همان مجوز های سطح دسترسی باید به یوزر ایجاد شده داده شود :

۱
chown ali:ali /var/www/wordpress

 

نصب نرم افزار های مورد نیاز

نصب پکیج منیجر

قبل از اینکه نصب وردپرس را ادامه دهیم، باید بعضی از نرم افزار های مورد نیاز را نصب کنبم.

۱
apt install nginx mariadb-server mariadb-client php-fpm php-cli php-zip php-xml php-mysql php-json php-curl php-imagick certbot python3-certbot-nginx

بررسی نسخه php نصب شده

ما برای مراحل بعدی نیاز به نسخه php نصب شده داریم، پس با استفاده از دستور زیر آن را مشاهده می کینم:

۱
php -v

چیزی شبیه به زیر مشاهده می شود :

PHP 7.4.3 (cli) (built: Oct  6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

نصب WP-CLI

WP-CLI کارکرد های زیادی در رابطه با وردپرس از طریق خط فرمان را به ما می دهد.

برای نصب از دستورات زیر استفاده می کینم:

۱
۲
۳
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

پیکربندی نرم افزار های مورد نیاز

پیکربندی php

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

۱
nano /etc/php/7.4/fpm/pool.d/www.conf

خطوط زیر را پیدا می کنیم:

۱
۲
user = www-data
group = www-data

به جای www-data یوزری که قبلا ایجاد کردیم را وارد می کینم:

۱
۲
user = ali
group = ali

برای ذخیره سازی از کلید های ترکیبی Ctrl و S و همچنین برای خروج از Ctrl و C استفاده می کنیم.

ما برای تایید تغییرات مورد نظر مان نیاز به راه اندازی و ریلود کردن مجدد پیکربندی داریم. با توجه به دستورات زیر از نسخه ی php مورد نظر مان استفاده می کنیم (به جای ۷٫۴).

۱
۲
systemctl stop php7.4-fpm
systemctl start php7.4-fpm

پیکربندی nginx

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

۱
nano /etc/nginx/sites-available/wordpress

موارد زیر را در آن میریزیم:

server {
    listen 80;
    server_name example.com;
    root /var/www/wordpress;
    index index.php;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
}

ویرایش محتوا:

  • به جای عبارت example.com دامنه مورد نظر خود را وارد می کنیم.
  • به جای /var/www/wordpress پوشه ی وردپرس که از قبل ایجاد نمودیم وارد می کنیم.
  • در خط fastcgi_pass unix:/run/php/php7.4-fpm.sock; و به جای ۷٫۴ نسخه ی php مپخود را جایگزین می کنیم.

فایل را ذخیره و می بندیم.

فایل پیکربندی را با توجه به دستور زیر فعال می کنیم:

۱
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress

راه اندازی مجدد :

۱
systemctl reload nginx

پیکربندی MariaDB

با تایپ کردن mysql به شل پایگاه داده دسترسی پیدا می کنیم.

یک حساب در پایگاه داده برای یوزر سیستم ایجاد می کنیم. به جای ali نام کاربری را که در مراحل قبل ایجاد شده جایگزین می کنیم.

۱
CREATE USER 'ali'@'localhost' IDENTIFIED VIA unix_socket;

ما از دیتابیس wordpress_db برای وردپرس استفاده می کنیم. کاربر برای کار با پایگاه داده به سطح دسترسی یا پرمیژن نیاز دارد. دیتابیس wordpress_db بعدا توسط WP-CLI ایجاد خواهد شد:

۱
GRANT ALL ON wordpress_db.* TO 'holu'@'localhost';

سپس با تایپ کردن \q شل را می بندیم.

پیکربندی پشتیبانی از HTTPS

دستور زیر را با توجه به جایگزینی نام دامنه خود به جای example.com اجرا می کنیم:

۱
certbot -d example.com

ایمیل خود را وارد می کنیم و سپس قوانین را تایید کرده و می پذیریم.

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

نصب وردپرس

با یوزر عادی ای که در مرحله ی قبل ساختیم به سرور متصل می شویم:

۱
ssh ali@10.0.0.1

پوشه ی فعلی را با همان پوشه که از قبل و در مراحل بالا ایجاد کردیم جایگزین می کنیم:

۱
cd /var/www/wordpress

در اینجا وردپرس را دانلود می کنیم:

۱
wp core download

فایل wp-config.php را ایجاد می کنیم. به جای ali یوزر ی که در مراحل قبل ایجاد شده وارد می کنیم:

۱
wp config create --dbname=wordpress_db --dbuser=ali --prompt=

دیتابیس wordpress_db را ایجاد می کنیم:

۱
wp db create

نصب وردپرس :

  • بجای example.com نام دامنه خود را وارد می کنیم.
  • به جای ali نام یوزر وردپرس دلخواه را وارد می کنیم.
  • به جای ali@example.com ایمیل خود را وارد می کنیم.
۱
wp core install --url=https://example.com --title="WordPress Blog" --admin_user=ali --admin_email=ali@example.com

WP-CLI رمز عبور ما را ایجاد می کند و آن را در ترمینال نمایش می دهد، همچنین ما برای دسترسی به پنل مدیریت وردپرس می توانیم به https://example.com/wp-admin برویم.

اما! در نهایت:

جمع بندی

خب، ما در این آموزش به نحوه ی نصب و پیکربندی وردپرس (WordPress) در سیستم عامل اوبونتو (ubuntu) پرداختیم.

امیدواریم این آموزش مورد پسند شما قرار گرفته و نهایت استفاده رو برده باشید. درصورت هرگونه سوال یا مشکل از طریق کامنت با ما در ارتباط باشید.