تغییرات اخیر

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

نحوه نصب MariaDB ،OpenLiteSpeed و پی اچ پی (LOMP) روی سرور مجازی اوبونتو


۲۹ تیر ۱۴۰۴

استک LOMP مجموعه‌ای از نرم‌افزارها است که که برای صفحات وب پویا و برنامه‌های تحت وب نوشته شده با PHP، استفاده می‌شود. LOMP نام مخففی است که به یک سیستم‌عامل Linux (لینوکس) همراه با یک وب‌سرور OpenLiteSpeed (اوپن لایت اسپید) اشاره دارد. داده‌های بک‌اند در پایگاه داده MariaDB (ماریادی بی) ذخیره می‌شوند و پردازش‌ها توسط PHP (پی‌اچ‌پی) مدیریت می‌شوند. در این آموزش یاد می‌گیریم چگونه، LOMP را روی سرور مجازی اوبونتو نصب کنیم تا بتوانید با استفاد از این استک سبک و قدرتمند، وب‌سایت‌های PHP مانند جوملا یا وردپرس را به روشی سریع اجرا کنید. پس تا پایان این آموزش با ما همراه باشید:)

ناگفته نماند که OpenLiteSpeed نسخه‌ی متن‌باز LiteSpeed می‌باشد و برای اجرای سریع و بهینه برنامه‌های PHP طراحی شده است. این وب‌سرور از LSAPI (رابط اختصاصی LiteSpeed) پشتیبانی می‌کند و با استفاده از مفسر LSPHP، عملکرد بسیار سریعی در پردازش صفحات دینامیک PHP دارد. اتصال مستقیم این API با سرور HTTP باعث کاهش محسوس زمان پاسخ‌دهی می‌شود.

آنچه در این مقاله خواهید خواند:

  • پیش‌نیازهای نصب LOMP
  • گام اول: نصب OpenLiteSpeed
  • گام دوم: به‌روزرسانی فایروال
  • گام سوم: نصب MariaDB
  • گام چهارم: نصب نسخه مشخصی از PHP
  • گام پنجم: پیکربندی OpenLiteSpeed
  • گام ششم: تنظیم یک هاست مجازی در OpenLiteSpeed
  • جمع‌بندی
  • سوالات متداول
آموزش نصب LOMP

پیش‌نیازهای نصب LOMP

  • برای تکمیل این آموزش، باید یک سرور مجازی Ubuntu با یک کاربر غیر روت (non-root) دارای دسترسی sudo و یک فایروال (Firewall) فعال، داشته باشید. برای تنظیم این موارد، می‌توانید راهنمای نحوه راه‌اندازی اولیه سرور مجازی با اوبونتو Ubuntu را مطالعه کنید. 
  • یک دامنه ثبت‌شده ساختار کامل (FQDN)، که برای پیکربندی SSL ضروری است و برای وب‌سایت‌های عمومی نیز توصیه می‌شود. می‌توانید از سرویس DNS لیارا استفاده کنید.
  • گواهی SSL معتبر و کلید خصوصی دامنه. برای دریافت این گواهی، می‌توانید از ابزار Certbot در حالت Standalone استفاده کنید. مراحل کامل را در راهنمای نحوه دریافت SSL در Nginx در سرور مجازی اوبونتو Ubuntu دنبال کنید. حتماً پورت‌های 80 و 443 را در فایروال باز کنید.
به شدت توصیه می‌شود که قبل از مطالعه این آموزش، مقاله‌های زیر را بررسی کنید:
سرور مجازی یا VPS چیست؟ معرفی انواع VPS + کاربردها
SSH چیست؟ + نحوه استفاده از SSH برای اتصال به سرور مجازی (VPS)

گام اول: نصب OpenLiteSpeed

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

sudo apt update

پس از به‌روزرسانی کش پکیج‌ها، باید پکیج‌های ضروری سیستم را هم آپدیت کنید تا همه چیز برای نصب OpenLiteSpeed مهیا باشد. دستور زیر را اجرا کنید:

sudo apt upgrade -y

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

برخلاف Apache و Nginx که در ریپازیتوری‌های رسمی اوبونتو قرار دارند، OpenLiteSpeed سورس خود را در مخزن(Repository) اختصاصی‌اش قرار می‌دهد. بنابراین قبل از نصب، باید این ریپازیتوری‌ها را هم به ‌صورت دستی به لیست منابع apt اضافه کنید. برای این کار دستور زیر را اجرا کنید:

sudo wget -O - https://repo.litespeed.sh | sudo bash

خروجی دریافتی:

Redirecting output to ‘wget-log’.
--2022-09-08 08:27:42--  http://rpms.litespeedtech.com/debian/lst_debian_repo.gpg
Resolving rpms.litespeedtech.com (rpms.litespeedtech.com)... 52.55.120.73
Connecting to rpms.litespeedtech.com (rpms.litespeedtech.com)|52.55.120.73|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1198 (1.2K) [application/octet-stream]
Saving to: ‘/etc/apt/trusted.gpg.d/lst_debian_repo.gpg’

/etc/apt/trusted.gpg.d/l 100%[==================================>]   1.17K  --.-KB/s    in 0s      

2022-09-08 08:27:42 (139 MB/s) - ‘/etc/apt/trusted.gpg.d/lst_debian_repo.gpg’ saved [1198/1198]

--2022-09-08 08:27:42--  http://rpms.litespeedtech.com/debian/lst_repo.gpg
Resolving rpms.litespeedtech.com (rpms.litespeedtech.com)... 52.55.120.73
Connecting to rpms.litespeedtech.com (rpms.litespeedtech.com)|52.55.120.73|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2336 (2.3K) [application/octet-stream]
Saving to: ‘/etc/apt/trusted.gpg.d/lst_repo.gpg’

/etc/apt/trusted.gpg.d/l 100%[==================================>]   2.28K  --.-KB/s    in 0s      

2022-09-08 08:27:42 (226 MB/s) - ‘/etc/apt/trusted.gpg.d/lst_repo.gpg’ saved [2336/2336]

LiteSpeed repository has been setup!

پس از آن‌که، مخزن(Repository) OpenLiteSpeed را اضافه کردید، لازم است لیست ریپازیتوری‌ها را مجددا آپدیت کنید تا apt متوجه شود، پکیج‌های جدید از کجا باید لود شوند. برای این‌کار دستور زیر را اجرا کنید:

sudo apt update

سپس، پکیج openlitespeed را نصب کنید:

sudo apt install openlitespeed

اگر موقع اجرای دستور از شما رمز خواست؛ رمز کاربر non-root را وارد کنید و سپس با زدن y فرایند نصب را تائید کنید. پس از اتمام نصب، باید مطمئن شویم که OpenLiteSpeed به درستی نصب شده و در حال اجرا است. دستور زیر را اجرا کنید:

sudo systemctl status lsws

خروجی دریافتی:

● lshttpd.service - OpenLiteSpeed HTTP Server
     Loaded: loaded (/etc/systemd/system/lshttpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-03-16 08:59:09 UTC; 2min 26s ago
    Process: 32997 ExecStart=/usr/local/lsws/bin/lswsctrl start (code=exited, status=0/SUCCESS)
   Main PID: 33035 (litespeed)
     CGroup: /system.slice/lshttpd.service
             ├─33035 openlitespeed (lshttpd - main)
             ├─33044 openlitespeed (lscgid)
             └─33073 openlitespeed (lshttpd - #01)

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

آموزش کامل، نحوه نصب LAMP روی اوبونتو ۲۲.۰۴ را در مقاله زیر می‌توانید مطالعه کنید.
نصب LAMP روی اوبونتو

گام دوم: به‌روزرسانی فایروال

در این گام، فایروال رو طوری تنظیم می‌کنیم که دسترسی به پنل مدیریتی و سایت نمونه OpenLiteSpeed ممکن شود. همچنین پورت‌های استاندارد 80 و 443 برای سایت‌های HTTP و HTTPS باز باشند.

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

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

sudo ufw allow 7080,80,443,8088/tcp

پس از آن‌که پورت‌ها باز شدند، با دستور زیر وضعیت قوانین فایروال را بررسی کنید:

sudo ufw status

در خروجی، لیستی از پورت‌هایی که اجازه دسترسی دارند را مشاهده می‌کنید:

Status: active

To                                Action      From
--                                ------      ----
OpenSSH                           ALLOW       Anywhere
80,443,7080,8088/tcp              ALLOW       Anywhere
OpenSSH (v6)                      ALLOW       Anywhere (v6)
80,443,7080,8088/tcp (v6)         ALLOW       Anywhere (v6)

برای دیدن سایت نمونه‌ای که همراه با OpenLiteSpeed نصب شده، آدرس زیر را در مرورگر وارد کنید:

http://your_server_ip:8088

پس از آن، باید یک صفحه‌ی پیش‌فرض از OpenLiteSpeed را ببینید:

OpenLiteSpeed

اکنون، برای دیدن پنل گرافیکی OpenLiteSpeed، کافی‌ست آدرس زیر را در مرورگر وارد کنید:

http://your_server_ip:7080

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

در ادامه، سایر اجزای استک LOMP، یعنی نصب MariaDB و PHP را روی سرور مجازی شما راه‌اندازی می‌کنیم.

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

گام سوم: نصب MariaDB

حالا که OpenLiteSpeed روی سرور مجازی راه‌اندازی شده، نصب دیتابیس MariaDB را شروع می‌کنیم. این قسمت از استک مسئول ذخیره‌سازی و مدیریت داده‌های سایت شما می‌باشد. MariaDB یکی از موتورهای محبوب پایگاه‌داده است، به این دلیل که هم قابلیت‌های SQL و هم NoSQL را ارائه می‌دهد و می‌تواند از موتورهای مختلف دیتابیس مانند MyISAM و InnoDB پشتیبانی کند.

برای نصب MariaDB، دستور زیر را اجرا کنید:

sudo apt install mariadb-server

پس از اجرای دستور، کلید y را وارد کنید تا فرایند نصب ادامه پیدا کند. زمانی که نصب به پایان رسید، تنظیمات اولیه‌ی سرور MariaDB را با دستور زیر انجام دهید:

sudo mysql_secure_installation

هنگام نصب MariaDB، هیچ پسوردی برای کاربر root تنظیم نشده است، بنابراین وقتی از شما خواست که رمز را وارد کنید، فقط Enter را بزنید و ادامه دهید.

بعد از اجرای تنظیمات اولیه، خروجی‌ای مشابه زیر دریافت می‌کنید:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

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

زمانی که پیام زیر را دیدید، کافی‌ست حرف y را تایپ کنید.

Output
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!

پس از تائید از شما خواسته می‌شود، رمز عبور برای کاربر root تنظیم کنید:

Output
You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

در این مرحله، حرف y را بزنید و پسورد دلخواه خودتان را برای کاربر root وارد کنید.

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

Output
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

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

Output
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

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

Output
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment:

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

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

وقتی پیام زیر را دریافت کردید:

Output
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

کافی‌ست کلید y را وارد کنید، تا تغییرات جدید اعمال شوند.

در انتهای این گام از مقاله، شما MariaDB را روی سرور اوبونتو نصب، پیکربندی کردید. در گام بعدی PHP را نصب خواهیم کرد تا بتواند با OpenLiteSpeed کند. همچنان همراه ما باشید:)

با هاست ابری PHP لیارا، بدون نیاز به پیکربندی و انجام تنظیمات، به‌راحتی وب‌سایت خود را راه‌اندازی کنید.
✅ دامنه‌ رایگان ✅ ترافیک نامحدود ✅ هزینه ساعتی
خرید هاست ابری PHP

گام چهارم: نصب نسخه مشخصی از PHP

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

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

حالا برای اینکه بدانید چه نسخه‌ای از PHP روی سرور OpenLiteSpeed نصب شده است، از بخش Test PHP در سایت نمونه‌ای که با نصب سرور OpenLiteSpeed راه‌اندازی شده استفاده کنید.

برای این‌کار، به آدرس زیر بروید:

http://your_server_ip:8088/phpinfo.php

همان‌طور که گفتیم، نسخه‌ی PHP که روی سرور نصب شده، در صفحه‌ی info مشخص است. حال اگر بخواهید یه نسخه خاص از PHP را نصب کنید. باید ابتدا به لیست‌ نسخه‌های قابل نصب، نگاهی بیاندازید. در مستندات رسمی OpenLiteSpeed می‌توانید آن‌ها را مشاهده کنید.

OpenLiteSpeed

پس از مشاهده نسخه‌ها، برای بررسی پکیج‌های LSPHP (LiteSpeed PHP) موجود برای اوبونتو، از دستور زیر استفاده کنید:

sudo apt-cache search lsphp

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

Output
...
lsphp81 - server-side, HTML-embedded scripting language (LSAPI binary)
...

در مثال بالا، lsphp81 نشان‌دهنده PHP نسخه 8.1 است، در حالی که lsphp74 به معنی PHP نسخه 7.4 است.

بنابراین، برای نصب یک نسخه خاص از پکیج‌ lsphp، دستور زیر را اجرا کنید:

sudo apt install lsphp81 lsphp81-{common,mysql}

برای تائید نصب، حرف y را وارد کنید.

توجه داشته باشید که تنها پکیج lsphp را نصب کرده‌اید، اما هنوز OpenLiteSpeed را برای استفاده از این نسخه PHP پیکربندی نکرده‌اید. تا زمانی که تنظیمات را تغییر ندهید، سایت نمونه همچنان نسخه پیش‌فرض PHP را نمایش خواهد داد. در گام بعدی، OpenLiteSpeed را برای استفاده از این نسخه PHP پیکربندی خواهیم کرد.

برای آشنایی کامل با هاست رایگان PHP، مقاله زیر را از دست ندهید.
معرفی هاست رایگان PHP

گام پنجم: پیکربندی OpenLiteSpeed

در این گام، شما باید اطلاعات کاربری برای پنل مدیریت گرافیکی (GUI) سرور وب OpenLiteSpeed را تنظیم کنید، و همچنین سرور وب را به‌طور درست و دقیق برای استفاده از PHP دلخواه‌تون پیکربندی کنید.

برای این‌کار، آدرس زیر را در مرورگر وارد کنید، و به‌جای your_server_ip، آدرس IP سرور خودتان را جایگزین کنید:

http://your_server_ip:7080

در ترمینال، برای مشخص کردن نام کاربری و رمز عبور پنل مدیریت OpenLiteSpeed، دستور زیر را اجرا کنید:

sudo /usr/local/lsws/admin/misc/admpass.sh

دقت کنید که این نام کاربری و رمز عبوری که در این گام تعریف می‌کنید، با اطلاعاتی که قبلا برای کاربر root یا دیتابیس، تنظیم کرده‌اید، متفاوت است و صرفا برای دسترسی به پنل گرافیکی OpenLiteSpeed کاربرد دارد.

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

Please specify the user name of administrator.
This is the user name required to login the administration Web interface.

User name [admin]: sammy

Please specify the administrators password.
This is the password required to login the administration Web interface.

Password:
Retype password:
Administrators username/password is updated successfully!

پس از تنظیم نام کاربری و پسورد، نسخه PHP را به سرور موردنظرتان (همان سرور مجازی اوبونتو) معرفی کنید.

برای‌این کار، آدرس زیر را در مرورگر وارد کنید: (به‌جای your_server_ip، آدرس IP سرور خود را وارد کنید).

http://your_server_ip:7080

اکنون، وارد پنل مدیریتی OpenLiteSpeed شوید و با نام کاربری و رمزعبوری که چند لحظه پیش تنظیم کردید، لاگین کنید. پس از ورود، از منوی سمت چپ به بخش Server Configuration رفته و روی تب External App کلیک کنید.

صفحه‌ای مشابه زیر را خواهید دید:

OpenLiteSpeed

در ادامه، روی دکمه edit در ستون Actions و ردیف اول مربوط به LiteSpeed SAPI App کلیک کنید. این کار، اپلیکیشنی به‌نام lsphp را باز خواهد کرد. در این پنجره به قسمت Command بروید و مقدار آن ‌را به lsphp81/bin/lsphp تغییر دهید. (دقت کنید که طبق دستورالعمل‌های گفته شده در مرحله ۴ عمل کنید). پس از اینکه تغییرات را انجام دادید، به بخش LiteSpeed SAPI App بازگشته و دکمه Save را کلیک کنید.

در آخر، برای اینکه تغییرات شما اعمال شود و سرور مجددا راه‌اندازی شود، دکمه Graceful Restart در گوشه بالای سمت راست را بزنید.(دکمه هایلایت شده است).

OpenLiteSpeed

در این گام، با این تنظیماتی که انجام دادیم سرور شما از نسخه جدید PHPای که انتخاب کردید، استفاده خواهد کرد. اگر نیاز داشتید مطمئن شوید، آدرس زیر را در مرورگر وارد کنید:

http://your_server_ip:8088/phpinfo.php

در صفحه نمایش داده شده، نسخه PHP را مشاهده خواهید کرد.

در گام بعدی، برای وب‌سایت‌های مختلفی که می‌خواهید روی این سرور وب میزبانی کنید، هاست مجازی (Virtual Host) تنظیم می‌کنیم.

نحوه نصب وردپرس با LEMP روی سرور مجازی اوبونتو Ubuntu را در مقاله زیر می‌توانید مطالعه کنید.
نصب وردپرس با LEMP

گام ششم: تنظیم یک هاست مجازی در OpenLiteSpeed

برای راه‌اندازی Virtual Hostها روی سرور OpenLiteSpeed، به پنل ادمین بروید و تنظیمات را انجام دهید. با Virtual Hostها می‌توانید چندین وب‌سایت را با استفاده از یک سرور وب مدیریت کنید و برای هر کدام تنظیمات مخصوص خود را انجام دهید. در این مواقع، علاوه بر امکان استفاده از نسخه‌های مختلف PHP برای هر Virtual Hos، می‌توانید قوانینی برای ریدایرکت‌ها، فیلترها و موارد دیگر برای هر دامنه تنظیم کنید.

در پنل ادمین به بخش Virtual Hosts بروید. در گوشه بالا سمت راست جدول، دکمه + را بزنید تا یک هاست مجازی جدید اضافه کنید. پس از آن می‌توانید نام Virtual Host مورد نظر خود را وارد کنید و Root Virtual Host و مسیر فایل پیکربندی آن را مشخص کنید. همچنین می‌توانید از متغیرهایی مانند $SERVER_ROOT یا $VH_ROOT استفاده کنید و گزینه Enable Scripts/ExtApps را روی Yes تنظیم کنید تا PHP به‌درستی روی Virtual Host کار کند.

در ادامه برای تنظیم Virtual Host، فیلدهای زیر را با مقادیر دلخواه پر کنید:

Virtual Host Name: MyWebsite
Virtual Host Root: $SERVER_ROOT/MyWebsite/html/
Config File: conf/vhosts/MyWebsite/vhconf.conf
Enable Scripts/ExtApps: Yes
Restrained: Yes

در تنظیمات بالا، به‌جای MyWebsite از نام دامنه‌ای که در مراحل قبل ایجاد کردید، استفاده کنید.

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

فعال‌سازی گزینه‌ی Enable Scripts/ExtApps به معنای این است که می‌توانید، نسخه‌ی دلخواه PHP را در بخش External Apps تعریف کنید و برای Virtual Hostمورد نظرتان اختصاص دهید. این ویژگی زمانی کاربرد دارد که پروژه‌ها به نسخه‌های متفاوتی از PHP نیاز داشته باشند.

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

هاست مجازی

بعد از اینکه تنظیمات Virtual Host را کامل کردید، روی دکمه Save کلیک کنید تا تغییرات ذخیره شوند.

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

بعد از اینکه Virtual Host را راه‌اندازی کردید، نوبت به تنظیم Listener می‌رسد. در معماری Listener، وب سرور OpenLiteSpeed مسئول گوش دادن روی پورت‌های مشخصی است که ترافیک وارد آن‌ها می‌شود. هر Listener می‌تواند یه یکی یا چند Virtual Host متصل شود.

در تصویر پائین، از منویی کشویی مربوط به Virtual Host، نام هاست مجازی‌ای که در تنظیمات قبلی مشخص کرده‌اید را انتخاب کنید. برای مثال، در این حالت نام MyWebsite به عنوان Virtual Host انتخاب شده است. این انتخاب باعث می‌شود که Listener جدید به Virtual Host مورد نظر متصل شده و درخواست‌های ورودی به درستی به آن هدایت شود.

در کادر متنی مربوط به دامنه، دامنه معتبر و ثبت شده‌ای که قصد دارید برای سرویس‌دهی به Virtual Host استفاده کنید را وارد کنید. در تصویر زیر مقدار نمونه به mywebsite.com تنظیم شده است. اما این مقدار را با نام دامنه‌ای که برای your_domain استفاده کردید، جایگزین کنید.

هاست مجازی

در آخر روی دکمه Save در بالای Virtual Hosts Mapping کلیک کنید تا تغییرات ذخیره شوند.

به شدت توصیه می‌شود که امنیت TLS را برای وب‌سایت خود فعال کنید. در این بخش تنظیمات عمومی Listener، گزینه Secure را روی Yes تنظیم کرده و پورت را از 8088 به 443 تغییر دهید.

پورت 443 پورت پیش‌فرض برای HTTPS است. پس از انجام تغییرات، تنظیمات آدرس‌های به‌روزرسانی شده را ذخیره کنید.

اگر هنوز گواهینامه SSL و فایل کلید را تولید نکرده‌اید ،پیشنهاد می‌کنیم ابتدا آن‌ها را طبق این آموزش ابتدا آن‌ها را ایجاد کنید. پس از ساخت گواهینامه، آن‌ها را به تنظیمات OpenLiteSpeed اضافه کنید. وارد تنظیمات SSL مربوط به Listener شوید و روی آیکون Edit در ردیف SSL Private Key & Certificate کلیک کنید. در این بخش، مسیر فایل گواهینامه و کلید خصوصی را وارد کنید تا ارتباط HTTPS روی دامنه‌تان فعال شود.

فایل‌های کلید خصوصی و گواهینامه در مسیرهای زیر قرار دارند:

Private Key File/etc/letsencrypt/live/your_domain.privkey.pem
Certificate File/etc/letsencrypt/live/your_domain.fullchain.pem

برای گواهی‌هایی که با استفاده از Let’s Encrypt تولید شده‌اند، باید گزینه‌ی Chained Certificate را روی گزینه‌ yes قرار دهید. این مورد طبق توصیه‌ی مستندات رسمی OpenLiteSpeed برای پیکربندی SSL با Let’s Encrypt ضروری است و باعث می‌شود کل زنجیره‌ی گواهی‌نامه‌ها (شامل گواهی میانی) به درستی ارائه شود.

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

هاست مجازی

در پایان، اگر با مشکلی مواجه شدید، به راهنمای رسمی OpenLiteSpeed مراجعه کنید و SSL را بررسی کنید. بعد از ذخیره تنظیمات، روی دکمه Graceful Restart در بالای سمت راست کلیک کنید تا تغییرات اعمال شوند.

در این مرحله، Virtual Host را به Listener متصل کرده، همچنین TLS را فعال کردید و حالا کافی است DNS دامنه خود را به IP سرورتان تنظیم کنید تا سایت از طریق HTTPS در دسترس قرار بگیرد.

ویژگی ها، معماری و کاربرد های دروپال (Drupal) را در مقاله زیر بخوانید.
Drupal چیست؟

جمع‌بندی

در این آموزش، شما یک استک LOMP (Linux, OpenLiteSpeed, MariaDB, PHP) را روی سرور مجازی اوبونتو راه‌اندازی کردید. در این فرآیند، یک سرور MariaDB و OpenLiteSpeed را برای اجرای اپلیکیشن‌های PHP با نسخه دلخواه پیکربندی کردید. اکنون می‌توانید انواع اپلیکیشن‌ها و فریم‌ورک‌های PHP مانند وردپرس، لاراول و جوملا را به راحتی روی سرور خود میزبانی کنید. امیدواریم این آموزش از سری آموزش‌های بلاگ لیارا، برای شما مفید بوده باشد.

سوالات متداول

استک LOMP چیست و چرا باید از آن استفاده کنم؟

استک LOMP ترکیبی از سرور وب OpenLiteSpeed، پایگاه داده MariaDB، و زبان برنامه‌نویسی PHP است که با استفاده از آن می‌توانید، انواع مختلف اپلیکیشن‌های PHP را میزبانی کنید.

آیا می‌توانم از نسخه‌های مختلف PHP برای اپلیکیشن‌های مختلف استفاده کنم؟

بله، OpenLiteSpeed این امکان را به شما می‌دهد تا برای هر Virtual Host نسخه‌های مختلف PHP را به‌صورت جداگانه پیکربندی کنید.

آیا این تنظیمات برای میزبانی وردپرس مناسب است؟

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

چگونه می‌توانم از نسخه‌های مختلف PHP برای هر Virtual Host استفاده کنم؟

شما می‌توانید با تنظیمات External Apps در OpenLiteSpeed، نسخه‌های مختلف PHP را برای هر Virtual Host به‌صورت جداگانه پیکربندی کنید.

به اشتراک بگذارید