در این آموزش نصب LEMP بر روی سرور CentOS 7 را یاد خواهید گرفت. LEMP یکی از محبوب ترین گروه های نرم افزاری است که می توانید برای ساخت وب سایت خود استفاده کنید.
LEMP چیست؟
LEMP یکی از برنامه هایی است که به صورت گروهی برای سرویس دهی به وب سایت های dynamic و یا برنامه های وب کار می کنند. این برنامه شامل لینوکس (سیستم عامل سرور) ، ENginX یا Nginx (برنامه وب سرور) ، MySQL (سیستم مدیریت پایگاه داده) و PHP (زبان برنامه نویسی) است.
LEMP یک جایگزین محبوب برای LAMP است با این تفاوت که LAMP به جای Nginx از آپاچی استفاده می کند و برای صفحات وب static کاربرد دارد. همچنین سرویس های WAMP و MAMP نیز می باشند که برای سیستم عامل های Windows و macOS به جای لینوکس طراحی شده اند.
آموزش نصب LEMP
در این مراحل قصد داریم تا نحوه نصب Nginx و MySQL و پس از آن PHP را به شما آموزش دهیم.
در این آموزش شما نیاز دارید که دسترسی root به سرور داشته باشید و از یک کلاینت SSH مانند PuTTY استفاده کنید.
مرحله اول : نصب Nginx بر روی CentOS
از آنجا که Nginx در repository های پیش فرض CentOS در دسترس نیست ، ابتدا می بایست با اجرای دستور زیر EPEL repsitory را نصب کنید:
yum install epel-release –y
سپس Nginx را با دستور زیر نصب نمایید:
yum install nginx -y
پس از اتمام مراحل نصب ، دستورات زیر را پشت سر هم اجرا نمایید:
systemctl start nginx
systemctl enable nginx
با وارد کردن آدرس IP سرور خود در مرورگر، بررسی کنید که Nginx روی سرور شما در حال اجرا است یا خیر. صفحه شما باید به صورت زیر باشد:
توجه داشته باشید که اگر فایروال سرور فعال باشد امکان دسترسی به سرور از طریق پورت 80 مرورگر وجود نخواهد داشت .
برای رفع این مساله می بایست پورت 80 را در فایروال سرور اضافه نمایید و یا می توانید با دستور زیر فایروال CentOS را غیر فعال نمایید:
sudo systemctl stop firewalld
مرحله دوم : نصب MySQL (Mariadb)
MariaDB در repository های پیش فرض CentOS قابل دسترسی می باشد ، بنابراین می توانیم به راحتی دستور yum را برای نصب آن اجرا کنید:
yum install mariadb-server mariadb -y
پس از اتمام نصب ، سرویس MariaDB را فعال و start کنید:
systemctl start mariadb
systemctl enable mariadb
سپس نصب MariaDB را با اجرای دستور زیر secure کنید:
mysql_secure_installation
در این بخش MariaDB کلمه عبور root را از شما درخواست می کند. و طبیعتا شما این پسورد را ندارید زیرا تازه MySQL را نصب کرده اید. به همین دلیل ، کافی است enter را فشار دهید.
پس از آن از شما سؤال خواهد کرد که آیا می خواهید رمزعبور اصلی را تعیین کنید. Y را وارد کرده و دستورالعمل ها را مانند زیردنبال کنید:
Enter current password for root (enter for none):
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
در ادامه چند سوال امنیتی از شما پرسیده می شود. توصیه می کنیم Y را برای همه آنها فشار دهید.
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
پس از اتمام تنظیمات ، به سراغ نصب PHP خواهیم رفت .
مرحله سوم : نصب PHP v7.3
برای نصب PHP باید یک repository دیگر CentOS را که حاوی بسته های لازم برای PHP v7.3 است ، بارگیری و نصب نمایید.
این دستورات را یکی پس از دیگری اجرا کنید:
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
سپس repository php 7.3 را که به طور پیش فرض غیرفعال است، فعال کنید:
yum install yum-utils -y
yum-config-manager --enable remi-php73
پس از آن ، پکیج PHP را نصب کنید:
yum --enablerepo=remi,remi-php73 install php-fpm php-common
در صورت درخواست اجازه نصب ، کافیست Y را فشار دهید تا مراحل نصب به پایان برسد.
اکنون ، ماژول های متداول PHP را نصب کنید تا مطمئن شوید این سرویس به درستی کار می کند:
yum –enablerepo=remi,remi-php73 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
مرحله چهارم : پیکربندی Nginx برای کار با PHP 7
در این مرحله از آموزش نصب LEMP بر روی سرور CentOS 7 می بایست د پیکربندی Nginx برای کار کردن با PHP 7 را انجام بدهید. در زیر چگونگی انجام این کار نشان داده شده است.
با اجرای ویرایشگر متن نانو ، یک فایل جدید پیکربندی Nginx با نام default.confایجاد کنید:
nano /etc/nginx/conf.d/default.conf
سپس متن کد زیر را درون آن کپی نمایید:
توجه داشته باشید که در این قطعه کد به جای عبارت your_server_ip می بایست IP سرور خود را قرار بدهید:
server {
listen 80;
server_name your_server_ip;
# note that these lines are originally from the “location /” block
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
با کلیدهای CTRL+X فایل را ذخیره کنید و سپس با دستور زیر سرویس Nginx را restart کنید:
systemctl restart nginx
فایل پیکربندی PHP-FPM را باز کنید:
nano /etc/php-fpm.d/www.conf
خطوط زیر را با استفاده از CTRL+W سرچ کرده و تغییرات گفته شده در زیر را اعمال کنید:
user = apache to user = nginx
group = apache to group = nginx
listen.owner = nobody to listen.owner = nginx
listen.group = nobody to listen.group = nginx
بعد از اعمال تغییرات ، خط listen = 127.0.0.1:9000 را در فایل پیدا نموده و آن را با خط زیر جایگزین کنید:
listen = /var/run/php-fpm/php-fpm.sock
سپس فایل را با استفاده از کلیدهای CTRL + X ذخیره کنید. در آخر ، PHP-FPM را start کنید و آن را در boot فعال کنید:
systemctl start php-fpm.service
systemctl enable php-fpm.service
آموزش نصب LEMP به پایان رسید و همانطور که مشاهده نمودید مراحل نصب بسیار ساده می باشد و با داشتن دانش ابتدایی از command-line می توانید به آسانی آن را بر روی سرور مجازی VPS خود نصب و راه اندازی نمایید.
اگر قصد خرید سرور مجازی یا سرور اختصاصی لینوکس و یا ویندوز برای راه اندازی وبسایت خود و یا پیاده سازی سرویس های مختلف را دارید ، از پلن های متنوع میزبان اول دیدن نمایید.
LEMP یکی از برنامه هایی است که به صورت گروهی برای سرویس دهی به وب سایت های dynamic و یا برنامه های وب کار می کنند. این برنامه شامل لینوکس (سیستم عامل سرور) ، ENginX یا Nginx (برنامه وب سرور) ، MySQL (سیستم مدیریت پایگاه داده) و PHP (زبان برنامه نویسی) است.
LEMP یک جایگزین محبوب برای LAMP است با این تفاوت که LAMP به جای Nginx از آپاچی استفاده می کند و برای صفحات وب static کاربرد دارد.