LEMP مخفف Linux, Nginx (Enginx X), MariaDB/MySQL و PHP است که شامل مجموعه ای از ابزارهای رایگان و open-source برای استفاده وب سایت های داینامیک با ترافیک بالا میباشد. Nginx (انجین ایکس) یک وب سرور رایگان، قدرتمند و با کارایی بالا میباشد که میتواند همچنین به عنوان یک reverse-proxy هم مورد استفاده قرار گیرد. MariaDB یک دیتابیس برای ذخیره سازی اطلاعات کاربر استفاده میشود و PHP یک زبان برنامه نویسی سمت سرور میباشد که برای توسعه و پشتیبانی صفحات وب داینامیک استفاده میشود.
همچنین توصیه میشود مطالعه کنید :
نحوه نصب LAMP در CentOS 8
ما در این مقاله، به شما نحوه نصب LEMP Server را در توزیع لینوکسی CentOS 8 آموزش خواهیم داد.
توجه : در کلیه مراحل نصب شما میتوانید به جای دستور dnf، از دستور yum استفاده کنید.
مرحله 1 : به روز رسانی پکیج های نرم افزاری در CentOS 8
برای شروع، ریپازیتوری و پکیج های نرم افزاری در CentOS 8 را با استفاده از دستور dnf آپدیت کنید.
مرحله 2 : نصب وب سرور Nginx در CentOS 8
پس از کامل شدن آپدیت پکیج های نرم افزاری، با استفاده از دستور زیر انجین ایکس را نصب کنید.
عکس زیر نشان میدهد که نصب Nginx بدون هیچ مشکلی انجام شده است.
زمانیکه نصب کامل شد، دستورات زیر را برای بالا آمدن اتوماتیک انجین ایکس هنگام Boot سیستم و همچنین تایید کارکرد آن اجرا کنید.
برای چک کردن ورژن Nginx نصب شده، دستور زیر را اجرا کنید.
اگر شما کنجکاو هستند که اطلاعات بیشتری درباره Nginx به دست بیاورید، دستور rpm را همانند زیر اجرا کنید.
اکنون سرویس Apache را به فایروال سیستم عامل تان به جهت دسترسی دادن اضافه کنید. برای این کار از دستور زیر استفاده کنید، سپس سرویس firewalld را reload کنید.
برای مطمئن شدن از اینکه سرور Nginx در حال سرویس دهی میباشد، آدرس ip سرورتان را در یک مرورگر وارد کنید و ENTER را فشار دهید.
در صورتی که شما صفحه خوش آمدگویی انجین ایکس (Welcome to Nginx) را مشاهده میکنید، یعنی سرور شما بالاست و میتوانید بقیه تنظیمات را انجام دهید.
مرحله 3 : نصب MariaDB در CentOS 8
MariaDB رایگان و open-source میباشد که شاخه ای از MySQL است و دارای آخرین قابلیت هایست که باعث میشود جایگزین بهتری برای MySQL باشد. برای نصب MariaDB دستور زیر را اجرا کنید.
برای فعال کردن سرویس MariaDB در Boot سیستم، دستور زیر را اجرا کنید.
برای start کردن سرور MariaDB دستور زیر را اجرا کنید.
سپس با استفاده از دستور زیر از وضعیت سرویس MariaDB را بررسی کنید که باید در حالت active (running) باشد.
موتور دیتابیس MariaDB امن نیست و هر کسی بدون احراز هویت میتواند به آن login کند. برای secure کردن MariaDB به منظور کاهش شانس دسترسی های بدون احراز هویت دستور زیر را اجرا کنید.
بعد از اجرای دستور یک سری سوالات پرسیده میشود. اولین سوال از شما میخواهد که یک پسورد root تعریف کنید. Enter را فشار دهید و به منظور انتخاب yes برای مشخص کردن پسورد root کلید Y را انتخاب کنید. بعد از تعریف پسورد root، سوالات باقیمانده را به منظور حذف کاربر ناشناس، حذف دیتابیس تست و غیرفعال کردن دسترسی ریموت root پاسخ دهید.
به محض اینکه تمامی مراحل بالا را تکمیل کردید شما میتوانید به سرور MariaDB لاگین کنید و اطلاعات ورژن سرور MariaDB را بررسی کنید. (برای login به MariaDB پسوردی را که در مرحله امن سازی دیتابیس ایجاد کردید را وارد کنید)
مرحله 4 : نصب PHP 7 روی CentOS 8
در نهایت، آخرین جزء سرور LEMP را که PHP است را نصب میکنیم که در حقیقت یک زبان برنامه نویسی وب میباشد که به صورت بسیار رایجی برای برنامه نویسی صفحات داینامیک وب مورد استفاده قرار میگیرد.
در حال حاضر آخرین ورژن آن PHP 7.4 است که قصد داریم آنرا با استفاده از ریپازیتوری Remi نصب کنیم. ریپازیتوری remi یک ریپازیتوری رایگان است که آخرین ورژن های نرم افزاری پیشرفته که به صورت پیش فرض روی CentOS نصب نیستند را در خود دارد.
ابتدا دستور زیر را برای نصب ریپازیتوری EPEL اجرا کنید.
سپس ادامه دهید و yum-utils را نصب کنید و ریپازیتوری remi را با استفاده از دستور زیر فعال کنید.
سپس، ماژول های در دسترس PHP را که برای نصب موجود هستند را سرچ کنید.
همانطور که در زیر مشاهده میکنید، خروجی دستور، module ها، stream و profile های نصب PHP را نمایش میدهد. از خروجی زیر ما میتوانیم، ورژن PHP موجود را که با یک حرف d داخل براکت نزدیک به ورژن PHP نوشته شده (PHP 7.2) تشخیص دهیم.
از خروجی همچنین میتوانیم مشاهده کنیم که آخرین ماژول PHP در حقیقت PHP 7.4 است که قصد داریم آنرا نصب کنیم اما ابتدا نیاز داریم که ماژول های PHP را reset کنیم. در نتیجه دستور زیر را اجرا میکنیم.
سپس، با اجرای دستور زیر ماژول PHP 7.4 را فعال میکنیم.
با فعال کردن ماژول PHP 7.4 در نهایت، پکیج های PHP و PHP-FPM (FastCGI Process Manager) و ماژول های مربوطه PHP را با استفاده از دستور زیر نصب میکنیم.
اکنون، ورژن نصب شده را بررسی کنید.
سپس php-fpm را استارت کنید و آنرا برای در حال اجرا بودن به هنگام Boot سیستم فعال کنید.
به منظور بررسی وضعیت آن دستور زیر را اجرا کنید.
مورد دیگر این است که PHP-FPM به صورت پیش فرض طوری کانفیگ شده که تحت یوزر Apache اجرا شود. اما از آنجایی که ما آنرا تحت وب سرور Nginx اجرا میکنیم، نیاز داریم که آنرا به یوزر Nginx تغییر دهیم.
در نتیجه فایل /etc/php-fpm.d/www.conf را باز کنید.
سپس دو خط زیر را در آن پیدا کنید.
اکنون مقدار آنها را به Nginx تغییر دهید.
فایل کانفیگ را ذخیره و ببندید.
سپس سرویس های Nginx و PHP-FPM را به منظور اعمال تغییرات restart کنید.
مرحله 5 : تست اطلاعات PHP
به صورت پیش فرض، پوشه root انجین ایکس در مسیر /usr/share/nginx/html/ قرار دارد. برای تست PHP-FPM میتوانیم یک فایل PHP به نام info.php ایجاد کنیم و خطوط زیر را در آن paste کنیم.
فایل را ذخیره و از آن خارج شوید.
مرورگر خود را باز کنید و در نوار آدرس ip وب سرور خود را همانند زیر وارد کنید.
اگر همه چیز را به درستی انجام داده باشید، باید اطلاعات ورژن PHP در حال اجرا و سایر پارامترها را مشاهده کنید.
اکنون شما با موفقیت LEMP Server را با موفقیت روی CentOS 8 نصب کردید. توصیه میشود به منظور دلایل امنیتی و جلوگیری از اینکه هکر ها به اطلاعات سرور Nginx شما دسترسی پیدا کنند، فایل info.php را حذف کنید.
همچنین توصیه میشود مطالعه کنید :
نحوه نصب LAMP در CentOS 8
ما در این مقاله، به شما نحوه نصب LEMP Server را در توزیع لینوکسی CentOS 8 آموزش خواهیم داد.
توجه : در کلیه مراحل نصب شما میتوانید به جای دستور dnf، از دستور yum استفاده کنید.
مرحله 1 : به روز رسانی پکیج های نرم افزاری در CentOS 8
برای شروع، ریپازیتوری و پکیج های نرم افزاری در CentOS 8 را با استفاده از دستور dnf آپدیت کنید.
کد PHP:
$ sudo dnf update
مرحله 2 : نصب وب سرور Nginx در CentOS 8
پس از کامل شدن آپدیت پکیج های نرم افزاری، با استفاده از دستور زیر انجین ایکس را نصب کنید.
کد PHP:
$ sudo dnf install nginx
عکس زیر نشان میدهد که نصب Nginx بدون هیچ مشکلی انجام شده است.
زمانیکه نصب کامل شد، دستورات زیر را برای بالا آمدن اتوماتیک انجین ایکس هنگام Boot سیستم و همچنین تایید کارکرد آن اجرا کنید.
کد PHP:
$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
برای چک کردن ورژن Nginx نصب شده، دستور زیر را اجرا کنید.
کد PHP:
$ nginx -v
اگر شما کنجکاو هستند که اطلاعات بیشتری درباره Nginx به دست بیاورید، دستور rpm را همانند زیر اجرا کنید.
کد PHP:
$ rpm -qi nginx
اکنون سرویس Apache را به فایروال سیستم عامل تان به جهت دسترسی دادن اضافه کنید. برای این کار از دستور زیر استفاده کنید، سپس سرویس firewalld را reload کنید.
کد PHP:
# firewall-cmd --permanent --zone=public --add-service=http
success
# firewall-cmd --reload
success
برای مطمئن شدن از اینکه سرور Nginx در حال سرویس دهی میباشد، آدرس ip سرورتان را در یک مرورگر وارد کنید و ENTER را فشار دهید.
کد PHP:
http://server-IP
مرحله 3 : نصب MariaDB در CentOS 8
MariaDB رایگان و open-source میباشد که شاخه ای از MySQL است و دارای آخرین قابلیت هایست که باعث میشود جایگزین بهتری برای MySQL باشد. برای نصب MariaDB دستور زیر را اجرا کنید.
کد PHP:
$ sudo dnf install mariadb-server mariadb
برای فعال کردن سرویس MariaDB در Boot سیستم، دستور زیر را اجرا کنید.
کد PHP:
$ sudo systemctl enable mariadb
کد PHP:
$ sudo systemctl start mariadb
کد PHP:
$ sudo systemctl status mariadb
موتور دیتابیس MariaDB امن نیست و هر کسی بدون احراز هویت میتواند به آن login کند. برای secure کردن MariaDB به منظور کاهش شانس دسترسی های بدون احراز هویت دستور زیر را اجرا کنید.
کد PHP:
$ sudo mysql_secure_installation
به محض اینکه تمامی مراحل بالا را تکمیل کردید شما میتوانید به سرور MariaDB لاگین کنید و اطلاعات ورژن سرور MariaDB را بررسی کنید. (برای login به MariaDB پسوردی را که در مرحله امن سازی دیتابیس ایجاد کردید را وارد کنید)
کد PHP:
$ mysql -u root -p
مرحله 4 : نصب PHP 7 روی CentOS 8
در نهایت، آخرین جزء سرور LEMP را که PHP است را نصب میکنیم که در حقیقت یک زبان برنامه نویسی وب میباشد که به صورت بسیار رایجی برای برنامه نویسی صفحات داینامیک وب مورد استفاده قرار میگیرد.
در حال حاضر آخرین ورژن آن PHP 7.4 است که قصد داریم آنرا با استفاده از ریپازیتوری Remi نصب کنیم. ریپازیتوری remi یک ریپازیتوری رایگان است که آخرین ورژن های نرم افزاری پیشرفته که به صورت پیش فرض روی CentOS نصب نیستند را در خود دارد.
ابتدا دستور زیر را برای نصب ریپازیتوری EPEL اجرا کنید.
کد PHP:
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
کد PHP:
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
کد PHP:
$ sudo dnf module list php
از خروجی همچنین میتوانیم مشاهده کنیم که آخرین ماژول PHP در حقیقت PHP 7.4 است که قصد داریم آنرا نصب کنیم اما ابتدا نیاز داریم که ماژول های PHP را reset کنیم. در نتیجه دستور زیر را اجرا میکنیم.
کد PHP:
$ sudo dnf module reset php
سپس، با اجرای دستور زیر ماژول PHP 7.4 را فعال میکنیم.
کد PHP:
$ sudo dnf module enable php:remi-7.4
با فعال کردن ماژول PHP 7.4 در نهایت، پکیج های PHP و PHP-FPM (FastCGI Process Manager) و ماژول های مربوطه PHP را با استفاده از دستور زیر نصب میکنیم.
کد PHP:
$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
کد PHP:
$ php -v
سپس php-fpm را استارت کنید و آنرا برای در حال اجرا بودن به هنگام Boot سیستم فعال کنید.
کد PHP:
$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm
کد PHP:
$ sudo systemctl status php-fpm
مورد دیگر این است که PHP-FPM به صورت پیش فرض طوری کانفیگ شده که تحت یوزر Apache اجرا شود. اما از آنجایی که ما آنرا تحت وب سرور Nginx اجرا میکنیم، نیاز داریم که آنرا به یوزر Nginx تغییر دهیم.
در نتیجه فایل /etc/php-fpm.d/www.conf را باز کنید.
کد PHP:
$ vi /etc/php-fpm.d/www.conf
کد PHP:
user = apache
group = apache
کد PHP:
user = nginx
group = nginx
فایل کانفیگ را ذخیره و ببندید.
سپس سرویس های Nginx و PHP-FPM را به منظور اعمال تغییرات restart کنید.
کد PHP:
$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm
مرحله 5 : تست اطلاعات PHP
به صورت پیش فرض، پوشه root انجین ایکس در مسیر /usr/share/nginx/html/ قرار دارد. برای تست PHP-FPM میتوانیم یک فایل PHP به نام info.php ایجاد کنیم و خطوط زیر را در آن paste کنیم.
کد PHP:
<?php
phpinfo();
?>
مرورگر خود را باز کنید و در نوار آدرس ip وب سرور خود را همانند زیر وارد کنید.
کد PHP:
http://server-ip-address/info.php
اگر همه چیز را به درستی انجام داده باشید، باید اطلاعات ورژن PHP در حال اجرا و سایر پارامترها را مشاهده کنید.
اکنون شما با موفقیت LEMP Server را با موفقیت روی CentOS 8 نصب کردید. توصیه میشود به منظور دلایل امنیتی و جلوگیری از اینکه هکر ها به اطلاعات سرور Nginx شما دسترسی پیدا کنند، فایل info.php را حذف کنید.