howto-install-a-LEMP

این آموزش طریق نصب و راه اندازی یک سرور LEMP ( که اختصار Linux, Nginx, MySQL و PHP است ) را نشان می دهد .

 

قبل از شروع

  • نام سرور ( hostname )  را تنظیم کنید .
  • سرور را آپدیت کنید :
sudo apt-get update
sudo apt-get upgrade

 نصب وب سرور Nginx

با استفاده از دستور apt میتوانید مراحل نصب را شروع کنید :

sudo apt-get install nginx

تنظیمات وب سرور Nginx

Nginx از دستور عمل های سرور برای مشخص کردن فضای مجازی هر سرویس استفاده میکند . در Nginx به هر کدام از این فضاها یک بلوک سرور گفته میشود . همه ی بلوک های مشخص شده در /etc/nginx/sites-available مسیر باید تعریف شوند و با فعال شدن یک بلوک، فایل تنظیمات nginx به صورت پیشفرض خوانده خواهد شد .

برای ایجاد و فعال سازی یک بلوک جدید مراحل زیر را طی کنید . در هر مرحله example.com را با نام دامنه ی مدنظر جایگزین کنید .

1. یک فایل تنظیمات بلوک جدید ایجاد کنید :

tail /etc/nginx/sites-available/default -n 13 | cut -c 2- | sudo tee /etc/nginx/sites-available/example.com 1> /dev/null

 و یا میتوانید به صورت دستی ، محتویات فایل /etc/nginx/sites-available/default را در فایل جدیدی در همان مسیر و با نام دامنه ی مدنظر /etc/nginx/sites-available/example.com کپی کنید .

خط هایی که ابتدای آنها # باشد ، توسط سیستم خوانده نمیشوند و میتوانید آنها را پاک کنید .

2. فایل جدید را با استفاده از ویرایشگر باز کنید . در اینجا از ویرایشگر nano استفاده شده است .

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

 خروجی فایل باید شبیه مقدار زیر باشد :

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root   /var/www/example.com;
    index  index.html;

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

اگر فایل index شما ، از PHP استفاده میکند ، باید index.php را در مسیر های index اضافه کنید :

index index.html index.php;

3. تنظیمات ngix به صورت پیشفرض از مسیر /var/www/ استفاده میکند در حالی که در سیستم عامل اوبونتو از مسیر استاندارد /var/www/html استفاده میکند .  علاوه بر آن ، بهتر است در مسیر دامنه یک پوشه با نام public_html ایجاد کنید .

مسیر جدید را در فایل جایگزین کنید :

root   /var/www/html/example.com/public_html;

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

3. مسیری که در فایل مشخص کردید را با استفاده از دستور mkdir ایجاد کنید :

sudo mkdir -p /var/www/html/example.com/public_html

4. تنظیماتی که ایجاد کردید را فعال کنید و وب سرور را برای اعمال تغییرات راه اندازی مجدد کنید :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl restart nginx

برای غیر فعال کردن سایت ، میتوایند مسیر آن را حذف و وب سرور را برای اعمال تغییرات راه اندازی مجدد کنید :

sudo rm /etc/nginx/sites-enabled/example.com
sudo systemctl restart nginx

نصب PHP با FastCGIP

1. پیشنیاز های لازم را نصب کنید :

sudo apt-get install php7.0-cli php7.0-cgi php7.0-fpm

2. تغییرات جدید را در فایل Nginx سایت مدنظر ، جایگزین کنید :

server {
        listen 80;
        listen [::]:80;

        server_name example.com;

        root /var/www/html/example.com/public_html;
        index index.html;

        location / {
                try_files $uri $uri/ =404;
        }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                include fastcgi_params;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_param SCRIPT_FILENAME /var/www/html/example.com/public_html$fastcgi_script_name;
        }
}

3. برای اعمال تغییرات جدید، php7.0-fpm و nginx را راه اندازی مجدد کنید :

sudo systemctl restart php7.0-fpm nginx

نصب پایگاه داده MySQL سرور

پایگاه داده ی MySQL یکی از رایج ترین و محبوب ترین پایگاه داده ها و به صورت متن باز (open-source) ارائه شده است .

1. پیشنیاز های MySQL و PHP را با استفاده از دستور apt نصب کنید :

sudo apt-get install mysql-server php7.0-mysql

در مراحل نصب MySQL شما باید یک کلمه ی عبور برای کاربر اصلی (root) مشخص کنید . کلمه ی عبور را سخت انتخاب و آن را در مکان امنی ذخیره کنید .

2. از طریق دستور زیر ، وارد MySQL شوید :

mysql -u root -p

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

3. یک پایگاه داده جدید ایجاد کنید . مقدار web و webuser را با نام مدنظر جایگزین و کلمه ی عبور را به جای password وارد کنید :

CREATE DATABASE web;
CREATE USER 'webuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON web.* TO 'webuser';
quit

4. php7.0-fpm را برای اعمال تغییرات راه اندازی مجدد کنید :

sudo systemctl restart php7.0-fpm

 

 

منبع : linode