تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

چگونه یک پایگاه داده راه دور را برای بهینه‌سازی عملکرد سایت با MySQL روی سرور مجازی اوبونتو راه‌اندازی کنیم؟


۱ فروردین ۱۴۰۴

با رشد برنامه یا وب‌سایت شما، ممکن است به نقطه‌ای برسیدکه تنظیمات فعلی سرور دیگر پاسخگوی نیاز شما نیست. اگر هم‌زمان وب‌سرور و پایگاه داده را روی یک سرور ایجاد می‌کنید، جدا کردن این دو بخش می‌تواند ایده خوبی باشد. این کار باعث می‌شود که هر کدام روی سخت افزار جداگانه‌ای اجرا شوند و باز پردازشی درخواست‌های کاربران بین آن‌ها تقسیم شود.

در این راهنما، شما یک سرور پایگاه داده MySQL راه دور را پیکربندی خواهید کرد تا برنامه‌ی وب شما بتواند به آن متصل شود. در این مقاله، وردپرس به عنوان مثال استفاده شده است تا روند کار عملی باشد، اما این روش برای هر برنامه‌ای که از MySQL به عنوان پایگاه داده استفاده می‌کند قابل اجرا است.

در ادامه خواهید خواند:

  • پیش نیاز
  • تنظیم MySQL برای گوش دادن به اتصالات راه دور در سرور پایگاه داده
  • راه‌اندازی پایگاه داده وردپرس و اطلاعات احراز هویت راه دور در سرور پایگاه داده
  • آزمایش اتصالات راه دور و محلی
  • آماده‌سازی وب سرور برای نصب وردپرس
  • نصب وردپرس روی وب سرور
  • تنظیم فایل پیکربندی وردپرس
  • راه‌اندازی وردپرس از طریق رابط وب
  • جمع بندی

پیش نیاز

قبل از شروع این آموزش، به موارد زیر نیاز دارید.

  • دو سرور اوبونتو، هر کدام با یک کاربر غیر ریشه (non-root) که دارای دسترسی sudo باشد و فایروال UFW روی آن فعال شده باشد. این تنظیمات در راهنمای راه‌اندازی اولیه سرور با اوبونتو توضیح داده شده است. یکی از این سرورها برای اجرای پایگاه داده MySQL استفاده خواهد شد که در طول این راهنما به آن سرور پایگاه داده گفته می‌شود. سرور دیگر به صورت راه دور به سرور پایگاه داده متصل شده و به عنوان وب سرور عمل خواهد کرد.
  • روی سرور پایگاه داده: نصب MySQL الزامی است. برای راه‌اندازی آن، می‌توانید از مستندات MySQL استفاده کنید.
  • روی وب سرور: نصب Nginx و PHP ضروری است. توجه داشته باشید که مرحله ۲ این راهنما که مربوط به نصب MySQL است، باید نادیده گرفته شود؛ زیرا MySQL روی سرور پایگاه داده نصب خواهد شد.
  • اختیاری، اما به‌شدت توصیه‌شده: نصب گواهینامه‌های TLS/SSL روی وب سرور. برای این کار، باید یک نام دامنه خریداری کرده و رکوردهای DNS را برای سرور خود تنظیم کنید، اما گواهینامه‌های SSL رایگان هستند.
بهینه‌سازی عملکرد سایت با MySQL روی سرور مجازی اوبونتو

تنظیم MySQL برای گوش دادن به اتصالات راه دور در سرور پایگاه داده

ذخیره داده روی یک سرور جداگانه، رهی مناسب برای توسعه تدریجی پس از رسیدن ب محدودیت‌های عملکردی یک سرور واحد است. همچنین این کار زیرساخت اولیه لازم برای موازنه بار و گسترش بیشتر در آینده فراهم می‌کند.

پس از نصب MySQL طبق راهنمای پیش‌نیاز، باید برخی از مقادیر تنظیمات را تغییر دهید تا امکان اتصال از سایر سیستم‌ها فراهم شود.

بیشتر تغییرات پیکربندی MySQL در فایل mysqld.cnf انجام می‌شود که به صورت پیش‌فرض در مسیر ذخیره شده است.

/etc/mysql/mysql.conf.d/  

این فایل را با دسترسی root در ویرایشگر مورد نظر خود باز کنید. در این مثال از ویرایشگر nano استفاده شده است.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

این فایل شامل بخش‌هایی است که با برچسب‌های داخل براکت مربع (]و[) مشخص شده‌اند. بخشی را که با [mysql] برچسب‌گذاری شده است پیدا کنید.

. . .
[mysqld]
. . .

در این بخش،پارامتری به نام bind-address را بیابید. این پارامتر مشخص می‌کند که نرم‌افزار پایگاه داده روی کدام آدرس شبکه به اتصالات گوش می‌دهد.

به صورت پیش فرض، مقدار این پارامتر 127.0.0.1 است، به این معنی که MySQL فقط به اتصالات محلی پاسخ می‌دهد. شما باید این مقدار را تغییر دهید و یک آدرس IP خارجی تنظیم کنید که سرور از طریق آن در دسترس باشد.

اگر هر دو سرور شما در یک دیتاسنتر با قابلیت شبکه خصوصی قرار دارند، از IP خصوصی سرور پایگاه داده خود استفاده کنید. در غیر این صورت، می‌توایند از IP عمومی آن استفاده کنید.

[mysqld]
. . .
bind-address = db_server_ip

ار آنجایی که قرار است از طریق اینترنت به پایگاه داده متصل شوید، توصیه می‌شود که اتصالات رمزگذاری شده را فعال کنید تا امنیت داده‌های شما حفظ شود. در غیر این صورت، هر فردی در شبکه می‌تواند اطلاعات حساس بین وب سرور و پایگاه داده شما را مشاهده کند.

برای رمز نگاری اتصالات MySQL، خط زیر را بعد از مقدار bind-address اضافه‌کنید.

[mysqld]
. . .
require_secure_transport = on
. . .

پس از انجام تغییرات، فایل را ذخیره و ببندید. اگر از ویرایشگر nano استفاده می‌کنید، کلیدهای CTRL+X را فشار دهید، سپس Y را بزنید و ENTER را فشار دهید.

برای عملکرد صحیح اتصالات SSL، باید بری از کلیدها و گواهینامه‌ها را ایجاد کنید. خوشبختانه، MySQL دارای دستوری است که این کار را به صورت خودکار انجام می‌دهد. دستور زیر را اجرا کنید تا فایل‌های مورد نیاز ایجاد شود. این دستور همچنین فایل ها را به گونه‌ای تنظیم می‌کند که برای کاربر MySQL قابل خواندن باشد.

sudo mysql_ssl_rsa_setup --uid=mysql

برای اعمال تغییرات و خواندن اطلاعات جدید مربوط به SSL، سرور پایگاه داده را مجددا راه‌اندازی کنید.

sudo systemctl restart mysql

برای تأیید اینکه سرور اکنون به رابط خارجی گوش می دهد، دستور ss زیر را اجرا کنید.

sudo ss -plunt | grep mysqld
Output
tcp     LISTEN   0        70             127.0.0.1:33060          0.0.0.0:*      users:(("mysqld",pid=4053,fd=22))                                              
tcp     LISTEN   0        151        db_server_ip:3306           0.0.0.0:*      users:(("mysqld",pid=4053,fd=24))

دستور ss اطلاعاتی درباره وضعیت شبکه سرور نمایش می‌دهد. این خروجی نشان می‌دهد که پردازشی به نام mysql روی db-server-ip در پورت 3306 که استاندارد MySQL است، متصل شده و تایید می‌کنید که سرور روی رابط مناسب در حال گوش دادن است.

در نهایت، این پورت را در فایروال باز کنید تا ترافیک از طریق آن عبور کند.

sudo ufw allow mysql

این تمام تغییراتی است که باید در پیکربندی MySQL انجام دهید. در مرحله بعد، یک پایگاه داده و برخی پروفایل‌های کاربردی تنظیم خواهید کرد که یکی از آن‌ها برای اتصال راه دور استفاده می‌شود.

با سرور اوبونتو لیارا، سرور خود را با هزینه به‌صرفه و بالاترین کارایی راه‌اندازی و مدیریت کنید.
✅ استقرار سریع ✅ منابع بهینه ✅ امنیت پیشرفته
خرید سرور اوبونتو لیارا

راه‌اندازی پایگاه داده وردپرس و اطلاعات احراز هویت راه دور در سرور پایگاه داده

اگرچه اکنون MySQL روی یک آدرس IP خارجی گوش می‌دهد، اما هنوز هیچ کاربر یا پایگاه داده‌ای که برای اتصالات راه دور پیکربندی شده باشد، وجود ندارد. در این مرحله، یک پایگاه داده برای وردپرس و دو حساب کاربری ایجاد می‌کنید که بتوانید به آن دسترسی داشته باشند.

برای شروع به عنوان کاربر root به MySQL متصل شوید.

sudo mysql

نکته: اگر احراز هویت با رمز عبور را فعال کرده‌اید (طبق مرحله 3 آموزش پیش نیاز MySQL)، باید از دستور زیر برای ورد به خط فرمان MySQL استفاده کنید.

mysql -u root -p

پس از اجرای این دستور، از شما خواسته می‌شود که رمز عبور root را وارد کنید. پس از وارد کردن رمز، یک اعلان جدید mysql> دریافت خواهید کرد.

از طریق خط فرمان MySQL، یک پایگاه داده برای وردپرس ایجاد کنید. بهتر است نامی انتخاب کنید که در آینده به راحتی قابل شناسایی باشد. در اینحا، wordpress انتخاب شده است.

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

حالا که پایگاه داده ایجاد شده، باید دو کاربر برای دسترسی به آن بسازید.

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

یک کاربر راه دور که از سرور وب پایگاه داده دسترسی داشته باشد.

ابتدا، یک کاربر محلی با نام local_db_user ایجاد کنید. این حساب فقط به اتصالات محلی پاسخ می‌دهد.

CREATE USER 'local_db_user'@'localhost' IDENTIFIED BY 'password';

سپس، دسترسی کامل این کاربر را به پایگاه داده wordpress بدهید.

GRANT ALL PRIVILEGES ON wordpress.* TO 'local_db_user'@'localhost';

این کاربر اکنون می‌تواند هر عملیاتی را در پایگاه داده برای وردپرس انجام دهد، اما این حساب نمی‌تواند از راه دور استفاده شود، زیرا فقط با اتصالات دستگاه محلی مطابقت دارد. با در نظر گرفتن این موضوع، یک حساب همراه ایجاد کنید که اتصالات منحصراً از سرور وب شما مطابقت داشته باشد. برای این کار به آدرس IP سرور وب خود نیاز دارید.

لطفاً توجه داشته باشید که باید از یک آدرس IP استفاده کنید که از همان شبکه ای استفاده می کند که در فایل mysqld.cnf پیکربندی کرده اید. این بدان معناست که اگر یک IP شبکه خصوصی را در فایل mysqld.cnf مشخص کرده اید، باید IP خصوصی وب سرور خود را در دو دستور زیر وارد کنید. اگر MySQL را برای استفاده از اینترنت عمومی پیکربندی کرده اید، باید آن را با آدرس IP عمومی وب سرور مطابقت دهید.

CREATE USER 'remote_user'@'web_server_ip' IDENTIFIED BY 'password';

سپس، همین سطح دسترسی که برای کاربر محلی تنظیم کرده‌اید، برای کاربر راه دور نیز اعمال کنید.

GRANT ALL PRIVILEGES ON wordpress.* TO 'remote_user'@'web_server_ip';

برای اینکه MySQL تغییرات را اعمال کند، دستور زیر را اجرا کنید.

FLUSH PRIVILEGES;

سپس برای خروج از MySQL، دستور زیر را تایپ کنید.

exit

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

آزمایش اتصالات راه دور و محلی

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

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

mysql -u local_db_user -p

پس از اجرای این دستور، رمزی را که برای این حساب تنظیم کرده‌اید را وارد کنید.

اگر پیام MySQL را مشاهده کردید، اتصال محلی با موفقیت انجام شده است. برای خروج، دستور زیر را وارد کنید.

exit

سپس، برای آزمایش اتصال از راه دور وارد سرور وب شوید.

ssh remote_user@web_server_ip

برای اتصال به پایگاه داده از راه دور، باید ابزارهای MySQL Client را روی سرور وب نصب کنید. ابتدا، اگر مدتی است که این کار را انجام نداده‌اید، فهرست بسته‌های محلی خود را به‌روز رسانی کنید.

sudo apt update

سپس، ابزارهای کلاینت MySQL را نصب کنید.

sudo apt install mysql-client

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

mysql -u remote_user -h db_server_ip -p

مجدداً، باید مطمئن شوید که از آدرس IP صحیح برای سرور پایگاه داده استفاده می کنید. اگر MySQL را برای گوش دادن در شبکه خصوصی پیکربندی کرده اید، IP شبکه خصوصی پایگاه داده خود را وارد کنید. در غیر این صورت، آدرس IP عمومی سرور پایگاه داده خود را وارد کنید.

از شما رمز عبور حساب remote_user خواسته می شود. پس از وارد کردن آن، و اگر همه چیز طبق انتظار کار کند، به اعلان MySQL منتقل می شوید. با دستور زیر بررسی کنید که اتصال از SSL استفاده می کند.

status

اگر اتصال با استفاده از SSL برقرار شده باشد، در خروجی نمایش داده خواهد شد.

Output
--------------
mysql  Ver 8.0.29-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

Connection id:          14
Current database:
Current user:           remote_user@web_server_ip
SSL:                    Cipher in use is TLS_AES_256_GCM_SHA384
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.29-0ubuntu0.20.04.2 (Ubuntu)
Protocol version:       10
Connection:             db_server_ip via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
TCP port:               3306
Binary data as:         Hexadecimal
Uptime:                 1 hour 8 min 28 sec

Threads: 2  Questions: 69  Slow queries: 0  Opens: 206  Flush tables: 3  Open tables: 125  Queries per second avg: 0.016
--------------

پس از بررسی موفقیت آمیز اتصال، از محیط MySQL خارج شوید.

exit

شما دسترسی محلی و دسترسی از سرور وب را تأیید کرده اید، اما تأیید نکرده اید که سایر اتصالات رد می شوند. برای بررسی بیشتر، همین کار را از سرور سومی که حساب کاربری خاصی را برای آن پیکربندی نکرده‌اید انجام دهید تا مطمئن شوید که به سرور دیگر اجازه دسترسی داده نشده است.

توجه داشته باشید که قبل از اجرای دستور زیر برای تلاش برای اتصال، ممکن است مجبور شوید برنامه های سرویس گیرنده MySQL را مانند قبل نصب کنید.

mysql -u wordpressuser -h db_server_ip -p

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

Output
ERROR 1130 (HY000): Host '203.0.113.12' is not allowed to connect to this MySQL server

این خطا مورد انتظار است، زیرا برای این سرور کاربر مجاز در MySQL تعریف نکرده‌اید. همچنین این رفتار مطلوبی است، زیرا نشان می‌دهد که سرور پایگاه داده شما از ورود کاربران غیر مجاز جلوگیری می‌کند.

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

با پایگاه داده MySQL لیارا، در کمترین زمان، یک دیتابیس پرسرعت و امن راه‌اندازی کنید.
✅ پشتیبان‌گیری خودکار ✅ امنیت بالا ✅ عملکرد بهینه
خرید دیتابیس MySQL لیارا

آماده‌سازی وب سرور برای نصب وردپرس

اگر مراحل پیش‌نیاز را دنبال کرده باشید، باید Nginx و PHP را نصب کرده باشید. وردپرس و بسیاری از افزونه‌های آن به تعدادی افزونه‌ی اضافی PHP نیاز دارند. پیش از نصب وردپرس روی وب سرور خود، با نصب برخی از این افزونه‌های PHP، سرور را برای استفاده‌ی وردپرس آماده کنید.

sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

توجه: هر افزونه‌ی وردپرس ممکن است نیازمندی‌های خاص خود را داشته باشد. برخی افزونه‌ها ممکن است نیاز به بسته‌های اضافی PHP داشته باشند. برای اطلاع از این موارد، مستندات افزونه‌ی موردنظر را بررسی کنید. در صورت نیاز، این بسته‌ها را همانند دستور بالا با استفاده از apt نصب کنید.

پس از نصب افزونه‌ها، سرویس PHP-FPM را مجدداً راه‌اندازی کنید تا پردازشگر PHP در حال اجرا بتواند از ویژگی‌های جدید بهره ببرد.

sudo systemctl restart php7.4-fpm

در مرحله بعد، چند تنظیمات را در فایل های بلوک سرور Nginx خود انجام دهید. بر اساس آموزش های پیش نیاز، باید یک فایل پیکربندی برای سایت خود در دایرکتوری /etc/nginx/sites-available/ داشته باشید. همچنین باید پیکربندی شود تا به نام دامنه یا آدرس IP سرور شما پاسخ دهد و توسط گواهی TLS/SSL محافظت شود. /etc/nginx/sites-available/your_domain از یک فهرست مثال در اینجا استفاده می شود. در صورت لزوم مسیر فایل پیکربندی خود را جایگزین کنید.

علاوه بر این، /var/www/your_domain به عنوان دایرکتوری ریشه در این مثال نصب وردپرس استفاده خواهد شد. مجدداً از ریشه سند مشخص شده در پیکربندی خود استفاده کنید.

توجه: ممکن است در حال حاضر از فایل پیش‌فرض پیکربندی Nginx با مسیر /etc/nginx/sites-available/default و دایرکتوری /var/www/html استفاده کنید. این مورد در صورتی که فقط یک سایت روی این سرور میزبانی کنید، مشکلی ندارد. اما اگر قصد میزبانی چندین سایت را دارید، بهتر است تنظیمات مربوط به هر سایت را در فایل‌های جداگانه نگهداری کنید.

فایل پیکربندی مربوط به سایت خود را با ویرایشگر موردنظر باز کنید. در این مثال، از nano استفاده شده است.

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

در این server block، چندین location block اضافه کنید. ابتدا، برای درخواست‌های مربوط به /favicon.ico و /robots.txt یک بلاک ایجاد کنید تا از ثبت این درخواست‌ها در لاگ‌ها جلوگیری شود.

server {
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }
    . . .
}

در بلاک location / موجود، مقدار try_files را تنظیم کنید. ابتدا، مقدار پیش‌فرض را با اضافه کردن # در ابتدای خط کامنت کنید، سپس مقدار زیر را جایگزین کنید.

server {
    . . .
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }
    . . .
}

با این تغییر، در صورتی که یک فایل یا دایرکتوری پیدا نشود، درخواست به index.php هدایت خواهد شد، به‌جای این که یک خطای 404 بازگردانده شود.

در نهایت، قسمت ابتدایی فایل پیکربندی شما باید به این شکل باشد.

server {
    server_name your_domain www.your_domain;
    root /var/www/your_domain;

    index index.html index.htm index.php;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }

    location / {
       # try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php$is_args$args;
    }

  ...
}

برای بررسی صحت پیکربندی Nginx، دستور زیر را اجرا کنید.

sudo nginx -t

اگر هیچ خطایی مشاهده نشد، تنظیمات جدید را با بارگذاری مجدد Nginx اعمال کنید.

sudo systemctl reload nginx

اکنون وب سرور شما آماده‌ی نصب وردپرس است.

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

برای بررسی قابلیت‌های سرور MySQL که به صورت ریموت قابل دسترسی است، مراحل نصب و پیکربندی وردپرس، سیستم مدیریت محتوای محبوب، روی وب سرور شما انجام خواهد شد. حالا که نرم‌افزارهای سرور را تنظیم کرده‌اید، می‌توانید وردپرس‌را دانلود کنید.

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

ابتدا، به یک دایرکتوری قابل نوشتن (ترجیحا temp/ که یک پوشه موقتی است) تغییر مسیر دهید.

cd /tmp

این دستور، دایرکتوری کاری شما را به پوشه موقتی تغییر می‌دهد. سپس، دستور زیر را بری دانلود آخرین نسخه‌ی وردپرس به صورت فایل فشرده وارد کنید.

curl -LO https://wordpress.org/latest.tar.gz

پس از دانلود، فایل فشرده را برای ایجاد ساختار دایرکتوری وردپرس استخراج کنید.

tar xzvf latest.tar.gz

به زودی این فایل‌ها را به ریشه اسناد (Document Root) منتقل خواهید کرد، اما پیش از آن، یک نسخه کپی از فایل پیکربندی نمونه وردپرس ایجاد کنید تا نام فایلی که وردپرس می‌خواند تغییر کند.

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

سپس، تمامی محتویات پوشه‌ی وردپرس را به ریشه اسناد سرور منتقل کنید. استفاده از فلگ -a باعث می‌شود مجوزهای فایل‌ها حفظ شوند. همچنین، در انتهای مسیر یک نقطه (.) قرار داده شده که نشان می‌دهد همه‌ی محتویات داخل دایرکتوری (از جمله فایل‌های مخفی) کپی شوند.

sudo cp -a /tmp/wordpress/. /var/www/your_domain

اکنون، پس از انتقال فایل‌ها، مالکیت آن‌ها را به کاربر و گروه www-data تغییر دهید. این کار ضروری است زیرا Nginx به‌عنوان این کاربر اجرا می‌شود و باید مجوز خواندن و نوشتن روی فایل‌های وردپرس را داشته باشد تا بتواند وب‌سایت را ارائه دهد و بروزرسانی‌های خودکار را انجام دهد.

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

اکنون فایل‌های وردپرس در مسیر صحیح قرار دارند و مجوزهای لازم را دارند. حالا آماده‌ی پیکربندی وردپرس هستید.

تنظیم فایل پیکربندی وردپرس

هنگامی که فایل پیکربندی وردپرس را باز می‌کنید، ابندا باید چند کلید امنیتی را تنظیم کنید تا امنیت نصب وردپرس شما افزایش یابد. وردپرس یک تولیدکننده‌ی کلید امن برای این مقادیر فراهم کرده است، بنابراین نیازی نیست خودتان این مقادیر را ایجاد کنید.

این کلیدها فقط به صورت داخلی استفاده می‌شوند و پیچیدگی آن‌ها روی استفاده‌ی شما تاثیری نخواهد داشت، بنابراین بهتر است مقادیر ایمن و تصادفی باشند.

برای دریافت مقادیر ایمن و منحصر به فرد از تولیدکننده‌ی کلید مخفی وردپرس، این دستور را اجرا کنید.

curl -s https://api.wordpress.org/secret-key/1.1/salt/

پس از اجرای این دستور، خروجی‌ای مشابه نمونه زیر دریافت خواهید کرد.

هشدار: هربار که این دستور را اجرا می‌کنید، باید از مقادیر منحصر به فرد خودتان استفاده کنید. مقادیر نمایش داده‌شده را در اینجا کپی نکنید.

Output
define('AUTH_KEY',         'L4|2Yh(giOtMLHg3#] DO NOT COPY THESE VALUES %G00o|te^5YG@)');
define('SECURE_AUTH_KEY',  'DCs-k+MwB90/-E(=!/ DO NOT COPY THESE VALUES +WBzDq:7U[#Wn9');
define('LOGGED_IN_KEY',    '*0kP!|VS.K=;#fPMlO DO NOT COPY THESE VALUES +&[%8xF*,18c @');
define('NONCE_KEY',        'fmFPF?UJi&(j-{8=$- DO NOT COPY THESE VALUES CCZ?Q+_~1ZU~;G');
define('AUTH_SALT',        '@qA7f}2utTEFNdnbEa DO NOT COPY THESE VALUES t}Vw+8=K%20s=a');
define('SECURE_AUTH_SALT', '%BW6s+d:7K?-`C%zw4 DO NOT COPY THESE VALUES 70U}PO1ejW+7|8');
define('LOGGED_IN_SALT',   '-l>F:-dbcWof%4kKmj DO NOT COPY THESE VALUES 8Ypslin3~d|wLD');
define('NONCE_SALT',       '4J(<`4&&F (WiK9K#] DO NOT COPY THESE VALUES ^ZikS`es#Fo:V6');

این مقادیر خطوط پیکربندی‌ای هستند که باید در فایل پیکربندی وردپرس جایگذاری کنید. اکنون خروجی‌ای را که دریافت کرده‌اید، کپی کنید.

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

sudo nano /var/www/your_domain/wp-config.php

بخش مربوط به مقادیر نمونه را پیدا کنید. این مقادیر مانند نمونه‌ی زیر خواهند بود.

. . .
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');
. . .

این خطوط را حذف کنید و مقادیر دریافت شده از دستور بالا را جایگزین کنید.

. . .
define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');
. . .

اکنون باید برخی از تنظیمات مربوط به پایگاه داده را در ابتدای فایل ویرایش کنید. نام پایگاه داده، نام کاربری و رمز عبوری را که هنگام تنظیم MySQL مشخص کرده‌اید، تنظیم نمایید.

اطلاعات اتصال به پایگاه داده‌ی ریموت خود را وارد کنید. حتماً از همان آدرس IP و اطلاعات کاربری که قبلاً در آزمایش پایگاه داده‌ی ریموت استفاده کردید، بهره ببرید.

. . .
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'remote_user');

/** MySQL database password */
define('DB_PASSWORD', 'remote_user_password');

/** MySQL hostname */
define('DB_HOST', 'db_server_ip');
. . .

در ادامه، پس از خط مربوط به DB_COLLATE، خط زیر را اضافه کنید تا وردپرس برای اتصال به پایگاه داده از SSL استفاده کند.

...
define( 'DB_COLLATE', '' );

define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
...

پس از انجام تغییرات، فایل را ذخیره کرده و ببندید.

اکنون، پیکربندی وردپرس کامل شده است و شما آماده‌اید که مراحل راه‌اندازی تحت وب را انجام دهید.

با برنامه آماده وردپرس لیارا، سایت خود را در چند دقیقه، بدون دردسر و با امنیت بالا اجرا کنید.
✅ نصب خودکار ✅ به‌روزرسانی آسان ✅ عملکرد بهینه
خرید هاست وردپرس لیارا

راه‌اندازی وردپرس از طریق رابط وب

وردپرس دارای یک فرآیند راه‌اندازی مبتنی بر وب است. در طول این فرآیند، از شما چند سوال پرسیده می‌شود و جداول مورد نیاز در پایگاه داده شما ایجاد خواهد شد. در این بخش، مراحل اولیه راه‌اندازی وردپرس را انجام می‌دهید که می‌تواند نقطه شروعی برای ساخت یک وب‌سایت سفارشی با استفاده از پایگاه داده راه دور باشد.

به نام دامنه (یا آدرس IP عمومی) سرور وب خود، همراه با /wp-admin در انتها مراجعه کنید.

http://your_domain.com/wp-admin

در این مرحله، از شما خواسته می‌شود زبان موردنظر خود را انتخاب کنید.

انتخاب زبان وردپرس در فرآیند نصب

سپس به صفحه اصلی راه‌اندازی هدایت خواهید شد.

نامی برای سایت وردپرس خود انتخاب کنید و یک نام کاربری تعیین کنید. توصیه می‌شود برای امنیت بیشتر، از نام‌های رایج مانند admin استفاده نکنید. وردپرس به‌صورت خودکار یک رمز عبور قوی ایجاد می‌کند. این رمز عبور را ذخیره کنید یا یک رمز عبور قوی دیگر انتخاب نمایید.

ایمیل خود را وارد کنید و انتخاب کنید که آیا می‌خواهید موتورهای جستجو از ایندکس کردن سایت شما جلوگیری کنند یا خیر.

نصب وردپرس

پس از ارسال اطلاعات، باید با استفاده از حسابی که ایجاد کرده‌اید، وارد پنل مدیریت وردپرس شوید. سپس به داشبورد هدایت خواهید شد، جایی که می‌توانید سایت جدید وردپرس خود را سفارشی‌سازی کنید.

جمع بندی

با دنبال کردن این مقاله، شما یک پایگاه داده MySQL را تنظیم کرده‌اید تا اتصالات محافظت‌شده با SSL را از یک نصب وردپرس راه دور بپذیرد.

دستورات و تکنیک‌های استفاده‌شده در این راهنما برای هر برنامه وب که به هر زبان برنامه‌نویسی نوشته شده باشد، قابل اجرا هستند، اما جزئیات پیاده‌سازی ممکن است متفاوت باشد. برای اطلاعات بیشتر، به مستندات پایگاه داده مربوط به برنامه یا زبان برنامه‌نویسی خود مراجعه کنید.