وبلاگ فرتک

نصب Nginx php mariadb روی ubuntu 18.04

منظور از lemp

منظور از lemp چیست؟

به نصب مجموعه برنامه های  Nginx و PHP و MySQL روی سیستم عامل Linux  میگن lemp که l به بعنای Linux حرف e یعنی Nginx که تلفظ میشه “Engine-X”  حرف m میشه MySQL و حرف p که یغنی PHP

توی این آموزش میخوایم بهتون یاد بدیم که چطوری بیایم یه سرور ubuntu 18.04 رو از ۰ تا ۱۰۰ کانفیگ کنیم و php وNginx و mariadb رو روش نصب کنیم و بعد هم خیلی راحت یه سایت رو روش بیاریم بالا تا همه بتونن ببیننش.

سرور

پیش نیاز های نصب LEMP

قبل از شروع این آموزش شما باید یه سرور با سیستم عامل ubuntu 18.04 داشته باشید که میتونید این سیستم عامل رو روی vmware هم بیارید بالا مورد بعدی که نیاز داریم یوزر root اون سروره و ip اون نکته ای که هست حتما نیاز نیست که سرور باشه شما میتونید ubuntu رو روی سیستم خودتون نصب کنید و ازش استفاده کنید lemp رو هم روش نصب کنید تا بتونید پروژه هاتون رو روی localhost تست کنید

نصب lamp

نصب LEMP روی Ubuntu 18.04

مرحله یک:‌ نصب وب سرور Nginx

ابتدا دستور های زیر رو به ترتیب وارد میکنیم و اگر جایی سوالی پرسید با حرف “y” قبول میکنیم

[code]

sudo apt update

sudo apt install nginx

[/code]

خب وقتی نصب به پایان رسید باید ip سرور رو توی مرورگرتون بزنید و ببینید آیا صفحه پیشفرض Nginx میاد بالا
در صورتی که صفحه پیشفرض نیومد بالا دستور زیر رو بزنید تا چک کنید ببینید آیا پورت ۸۰ توی فایروال بازه یا ن و اگر بسته بود بازش کنید

sudo ufw status

اگر تا اینجای کار مشکلی نبود و تونستید صفحه پیشفرض Nginx رو ببینید باید بریم سراغ نصب دیتابیس که ما توی این آموزش روش نصب mariadb رو یاد میدیم که ۹۹ درصد شبیه MySQL

توجه کنید شما همین الان هم میتونید دستور های نصب mariadb رو اجرا کنید اما اگر این کار رو کنید ورژن قدیمی اون نصب میشه که برای نصب ورژن ۱.۳ ابتدا باید ریپازیتوری های زیر رو به ubuntu اضافه کنیم

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

بعد از اجرا شدن دستور بالا دستور زیر رو اجرا میکنیم
sudo add-apt-repository 'deb [arch=amd64] http://mirror.zol.co.zw/mariadb/repo/10.3/ubuntu bionic main'

خب حالا که ریپازیتوری های نسخه ۱۰.۳ mariadb رو اضافه کردیم باید نصب mariadb رو شروع کنیم پس دستور های زیر رو به ترتیب اجرا میکنیم
sudo apt update
sudo apt -y install mariadb-server mariadb-client

خب بعد از اینکه نصب این دستور ها اجر  شد یه کادر زیر براتون باز میشه که شما با زدن دکمه Enter تایید میکید و به مرحله بعد میرید

در این مرحله از شما میخواد که یه password برای یوزر root دیتابیستون وارد کنید که توجه کنید هیچ موقع این پسورد رو پسورد راحت انتخاب نکنید

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


خب حالا دیگه نصب Mariadb تموم شد حالا شما میتونید با زدن دستور زیر  و وارد کردن رمز عبور انتخابی خودتون وارد mariadb بشید

mysql -u root -p

با تایپ عبارت quit; از mysql خارج بشید و کامند زیر رو اجرا کنید

mysql_secure_installation

این دستور شروع میکنه با پرسیدن چند تا سوال از شما یوزر ها و جدول های تست رو پاک میکنه تا امنیت دیتابیستون بیشتر بشه
بعد از زدن این دستور اولین سوالی که از شما می پرسه اینه که آیا میخواین پسورد یوزر root رو عوض کنید که چون ما قبلا پسورد سخت رو گزاشتیم براش  در این مرحله حرف N رو تایپ کرده و کلید Enter رو میزنیم

سوال بعدی در مورد اینه که آیا یوزر های دیتابیس رو پاک کنم که کلید y  رو میزنیم
سوال بعد میپرسه میخوای دسترسی ریموت یوزر root رو ببندم که فقط از روی سرور باز بشه که ما با حرف y تایید میکنیم
سوال چهارم میپرسه آیا میخواین جدول های تست رو حذف کنم که باز هم با حرف y تایید میکنیم
آخرین سوال هم میپرسه آیا میخواین privilege جدول ها رو ریلود کنم که تایید میکنیم
خب حالا دیگه نصب دیتابیسمون هم به پایان رسید

 

مرحله سه: نصب PHP و ماژول های آن

برای نصب php و ماژول های مورد نیاز اون دستور زیر رو وارد میکنید

sudo apt install php php-fpm php-common php-mysql php-gd php-cli

با اجرای این دستور آخرین نسخه پایدار php برای شما نصب میشه
بعد از اینکه نصب تمام شد با دستور زیر چک کنید که آیا سرویس استارت شده یا خیر

sudo systemctl status php7.2-fpm
اگر همه چیز اوکی بود با vim‌ یا nano‌ یا هر ادیتوری که خواستید فایل زیر رو باز کنید و مقدار
cgi.fix_pathinfo= رو برابر با ۰ قرار بدید یعنی به صورت زیر
sudo vim /etc/php/7.2/fpm/php.ini
cgi.fix_pathinfo=0

خب تو این مرحله شما میتونید فایل defult کانفیگ ngnix رو ویرایش کنید و هاستتون رو توش بزارید که من ترجیح میدم یه virtual host بسازم و اطلاعات خودم رو توش بزارم

برای شروع ابتدا در مسییر /etc/nginx/sites-available/ فایلی با نام دلخواه که معمولا آدرس سایته رو میسازیم که من در اینجا از example.com استفاده میکنم
با دستور زیر فایل ساخته شده و باز شده و آماده ویرایشه

sudo nano /etc/nginx/sites-available/example.com

ایستاگرام فرتک

متن زیر رو کپی کرده و داخل این فایل میریزیم توجه کنید کهexample.com  رو حتما عوض کنید و دامین خودتون رو بزارید

 

server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name example.com;

location / {
try_files $uri $uri/ =404;
}

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

location ~ /\.ht {
deny all;
}
}

و بعد سیو میکنیم

خب بعد از ذخیره فایل باید یه لینک از این فایل بسازیم و در پوشه /etc/nginx/sites-enabled/ دخیره کنیم که با دستور زیر این کار انجام میشه

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

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

sudo nginx -t

در صورتی که تمام مراحل رو به درستی انجام داده باشید باید پیقام success رو در انتهای متن چاپ شده ببینید اگر همه چیز بدون مشکل بود دستور زیر رو اجرا میکنیم تا nginx یک بار ریلود بشه و هاست ما بهش اضافه بشه
sudo systemctl reload nginx

telegram fartech

حالا با دستور زیر یه فایل توی مسیر روت فایل های php میسازیم و متن زیر رو توی اون قرار میدیم

sudo nano /var/www/html/info.php

<?php
phpinfo();
خب توی این مرحله باید توی مرورگرتون آدرس زیر رو وارد کنید
http://your_server_domain_or_IP/info.php
اگر تمام مراحل رو بدون مشکل انجام داده باشید باید جواب دستور phpinfo که اطلاعات php هست رو ببینید
خب این آموزش همینجا تموم شد حالا دیگه شما میتونید پروژه تون رو توی مسیر /var/www/html/ اپلود کنید و ازش استفاده کنید

 

محمدحسین هنرکار

اضافه کردن دیدگاه

7 − 5 =