سیستم عامللینوکس

آموزش نصب LAMP در اوبونتو Ubuntu

آموزش نصب Apache, MySQL, PHP در اوبونتو

LAMP مجموعه‌ای از نرم‌افزارهای منبع باز است که معمولاً با هم نصب می‌شوند تا سرور را قادر به میزبانی وب‌سایت‌ها و برنامه‌های وب پویا کند. این عبارت مخفف سیستم عامل لینوکس Linux با وب سرور آپاچی Apache web server است. داده های سایت در پایگاه داده MySQL ذخیره می شود و محتوای پویا توسط PHP پردازش می شود.

در این راهنما، ما یک LAMP را روی سرور اوبونتو نصب می کنیم. اوبونتو اولین نیاز ما را برآورده خواهد کرد: یک سیستم عامل لینوکس :)

پیش نیاز ها نصب Apache, MySQL, PHP (LAMP) در اوبونتو

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

شاید این مقاله نیز برای شما کاربردی باشد : نحوه نصب کنترل پنل میزبانی وب aaPanel در CentOS 7 یا Ubuntu

مرحله ۱ – نصب آپاچی و تنظیم فایروال

در مرحله اول آموزش آموزش نصب LAMP در اوبونتو ما به نحوه نصب آپاچی و تنظیم فایروال خواهیم پرداخت.

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

ما می توانیم Apache را به راحتی با استفاده از مدیر بسته اوبونتو نصب کنیم. یک مدیر بسته به ما این امکان را می دهد که اکثر نرم افزارها را بدون دردسر از مخزن نگهداری شده توسط اوبونتو نصب کنیم.

برای اهداف ما، می توانیم با تایپ این دستورات شروع به کار کنیم:

sudo apt-get update
sudo apt-get install apache2

از آنجایی که ما از دستور sudo استفاده می کنیم، این عملیات با امتیازات ریشه اجرا می شود. برای تأیید قصد شما از شما رمز عبور کاربر معمولی خود را می خواهد.

هنگامی که رمز عبور خود را وارد کردید، apt به شما می گوید که کدام بسته ها را در نظر دارد نصب کند و چه مقدار فضای اضافی دیسک را اشغال می کند. برای ادامه، y را فشار دهید و ENTER را فشار دهید و نصب ادامه خواهد یافت.

در مرحله بعد، یک خط به فایل /etc/apache2/apache2.conf اضافه می کنیم تا یک پیام هشدار را غیرفعال کنیم. در حالی که بی ضرر است، اگر ServerName را به صورت سراسری تنظیم نکنید، هنگام بررسی تنظیمات Apache خود برای خطاهای سینتکس یا نحوی، اخطار زیر را دریافت خواهید کرد:

sudo apache2ctl configtest
Output
خروجی :
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

فایل پیکربندی اصلی را با ویرایش متن خود باز کنید:

sudo nano /etc/apache2/apache2.conf

در پایین فایل، دستور ServerName را اضافه کنید که به نام دامنه اصلی شما اشاره می کند. اگر نام دامنه مرتبط با سرور خود ندارید، می توانید از آدرس IP عمومی سرور خود استفاده کنید:

. . .
ServerName server_domain_or_IP

پس از اتمام کار فایل را ذخیره کرده و ببندید.

در مرحله بعد، خطاهای نحوی را با تایپ کردن بررسی کنید:

sudo apache2ctl configtest

از آنجایی که ما دستور جهانی ServerName را اضافه کردیم، تمام چیزی که باید ببینید این است:

خروجی :
Syntax OK

برای پیاده سازی تغییرات خود، آپاچی را مجددا راه اندازی کنید:

sudo systemctl restart apache2

اکنون می توانید شروع به تنظیم فایروال کنید.

تنظیم فایروال برای اجازه دادن به ترافیک وب

در مرحله بعد مقاله آموزش نصب LAMP در اوبونتو، با فرض اینکه دستورالعمل های اولیه راه اندازی سرور را برای فعال کردن فایروال UFW دنبال کرده اید، مطمئن شوید که فایروال شما به ترافیک HTTP و HTTPS اجازه می دهد. می‌توانید مطمئن شوید که UFW یک نمایه برنامه برای Apache مانند این دارد:

sudo ufw app list
Output
خروجی
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

اگر به نمایه کامل آپاچی نگاه کنید، باید نشان دهد که ترافیک پورت های ۸۰ و ۴۴۳ را فعال می کند:

sudo ufw app info "Apache Full"
Output
خروجی :
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  ۸۰,۴۴۳/tcp

در نهایت اجازه ترافیک ورودی برای این پروفایل:

sudo ufw allow in "Apache Full"

می‌توانید با مراجعه به آدرس IP عمومی سرور خود در مرورگر وب خود فوراً یک بررسی دقیق انجام دهید تا مطمئن شوید که همه چیز طبق برنامه پیش رفته است :

http://your_server_IP_address

صفحه وب پیش‌فرض اوبونتو آپاچی را مشاهده خواهید کرد که برای اهداف اطلاعاتی و آزمایشی در آنجا وجود دارد. باید چیزی شبیه این باشد:

how to enter safe boot on windows operating systems 06 - آموزش نصب LAMP در اوبونتو Ubuntu

اگر این صفحه را می بینید، اکنون وب سرور شما به درستی نصب شده و از طریق فایروال شما قابل دسترسی است.

پیدا کردن آدرس IP عمومی سرور شما

اگر نمی دانید آدرس IP عمومی سرورتان چیست، چند راه وجود دارد که می توانید آن را پیدا کنید. معمولاً این آدرسی است که برای اتصال به سرور خود از طریق SSH استفاده می کنید.

از خط فرمان، می توانید این را به چند روش پیدا کنید. ابتدا می توانید از ابزار iproute2 برای به دست آوردن آدرس خود با تایپ زیر استفاده کنید:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

این به شما دو یا سه خط را پس می دهد. همه آنها آدرس های صحیحی هستند، اما رایانه شما ممکن است فقط بتواند از یکی از آنها استفاده کند، بنابراین هر کدام را امتحان کنید.

یک روش جایگزین استفاده از ابزار curl برای تماس با یک طرف خارجی است تا به شما بگوید چگونه سرور شما را می بیند. می توانید این کار را با پرسیدن آدرس IP شما از یک سرور خاص انجام دهید:

sudo apt-get install curl
curl http://icanhazip.com

صرف نظر از روشی که برای دریافت آدرس IP خود استفاده می کنید، می توانید آن را در نوار آدرس مرورگر وب خود تایپ کنید تا به سرور خود دسترسی پیدا کنید.

مرحله ۲ – نصب MySQL

در مرحله دوم آموزش آموزش نصب LAMP در اوبونتو ما به نحوه نصب MYSQL خواهیم پرداخت.

اکنون که وب سرور خود را راه اندازی کرده ایم، زمان نصب MySQL فرا رسیده است. MySQL یک سیستم مدیریت پایگاه داده است. اساساً، پایگاه‌های داده‌ای را که سایت ما می‌تواند اطلاعات را در آن ذخیره کند، سازمان‌دهی کرده و امکان دسترسی به آن‌ها را فراهم می‌کند.

باز هم می توانیم از apt برای بدست آوردن و نصب نرم افزار خود استفاده کنیم. این بار، ما همچنین برخی از بسته‌های کمکی دیگر را نصب می‌کنیم که به ما در برقراری ارتباط اجزای خود با یکدیگر کمک می‌کنند:

sudo apt-get install mysql-server
توجه: در این مورد، لازم نیست قبل از دستور، به‌روزرسانی sudo apt-get را اجرا کنید. این به این دلیل است که ما اخیراً آن را در دستورات بالا برای نصب آپاچی اجرا کردیم. فهرست بسته در رایانه ما باید از قبل به روز باشد.

مجدداً، لیستی از بسته هایی که نصب خواهند شد، به همراه مقدار فضای دیسکی که آنها اشغال می کنند به شما نشان داده می شود. برای ادامه، Y را وارد کنید.

در حین نصب، سرور شما از شما می خواهد که یک رمز عبور برای کاربر “روت” MySQL انتخاب و تأیید کنید. این یک حساب مدیریتی در MySQL است که امتیازات را افزایش داده است. فکر کنید که شبیه به حساب ریشه برای خود سرور است (البته اکانتی که اکنون پیکربندی می کنید یک حساب ویژه MySQL است). مطمئن شوید که این یک رمز عبور قوی و منحصر به فرد است و آن را خالی نگذارید.

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

mysql_secure_installation

از شما خواسته می شود رمز عبوری را که برای حساب ریشه MySQL تعیین کرده اید وارد کنید. در مرحله بعد، از شما پرسیده می شود که آیا می خواهید VALIDATE PASSWORD PLUGIN را پیکربندی کنید.

هشدار: در صورت فعال بودن، پسوردهایی که با معیارهای مشخص شده مطابقت ندارند توسط MySQL با خطا رد می شوند. اگر از یک رمز عبور ضعیف همراه با نرم افزاری استفاده کنید که به طور خودکار اطلاعات کاربری MySQL مانند بسته های اوبونتو برای phpMyAdmin را پیکربندی می کند، مشکلاتی ایجاد می کند. غیرفعال کردن اعتبارسنجی بی خطر است، اما همیشه باید از رمزهای عبور قوی و منحصر به فرد برای اعتبار پایگاه داده استفاده کنید.

y را برای بله یا هر چیز دیگری بدون فعال کردن پاسخ دهید.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

از شما خواسته می شود که سطح اعتبارسنجی رمز عبور را انتخاب کنید. به خاطر داشته باشید که اگر ۲ را برای قوی ترین سطح وارد کنید، هنگام تلاش برای تنظیم رمز عبوری که حاوی اعداد، حروف بزرگ و کوچک و کاراکترهای خاص نباشد، خطاهایی دریافت خواهید کرد.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: ۱

اگر تأیید رمز عبور را فعال کرده باشید، یک رمز عبور قوی برای رمز عبور ریشه موجود نشان داده می شود و از شما می پرسد که آیا می خواهید آن رمز عبور را تغییر دهید. اگر از رمز عبور فعلی خود راضی هستید، n را برای “نه” وارد کنید:

Using existing password for root.

Estimated strength of the password: ۱۰۰
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

برای بقیه سوالات، باید Y را فشار دهید و در هر اعلان کلید Enter را بزنید. با این کار برخی از کاربران ناشناس و پایگاه داده آزمایشی حذف می شوند، ورودهای ریشه از راه دور غیرفعال می شود و این قوانین جدید بارگیری می شود تا MySQL فوراً به تغییراتی که ایجاد کرده ایم احترام بگذارد.

در این مرحله، سیستم پایگاه داده شما اکنون راه اندازی شده است و ما می توانیم ادامه دهیم.

مرحله ۳ – نصب PHP

در مرحله سوم آموزش آموزش نصب LAMP در اوبونتو ما به نحوه نصب PHP خواهیم پرداخت.

PHP جزء تنظیمات ما است که کد را برای نمایش محتوای پویا پردازش می کند. می‌تواند اسکریپت‌ها را اجرا کند، برای دریافت اطلاعات به پایگاه‌های داده MySQL متصل شود و محتوای پردازش شده را برای نمایش به سرور وب ما تحویل دهد.

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

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

با این دستور باید بدون هیچ مشکلی PHP را نصب کند.

در بیشتر موارد، ما می خواهیم روشی را که آپاچی فایل ها را هنگام درخواست دایرکتوری ارائه می کند، تغییر دهیم. در حال حاضر، اگر کاربری از سرور درخواست دایرکتوری کند، آپاچی ابتدا به دنبال فایلی به نام index.html می گردد. ما می خواهیم به وب سرور خود بگوییم که فایل های PHP را ترجیح دهد، بنابراین ابتدا آپاچی را به دنبال یک فایل index.php می کنیم.

برای انجام این کار، این دستور را تایپ کنید تا فایل dir.conf در یک ویرایشگر متنی با دسترسی  ریشه باز شود:

sudo nano /etc/apache2/mods-enabled/dir.conf

خروجی چیزی شبیه به زیر خواهد شد :

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

ما می خواهیم فایل فهرست PHP را که در بالا برجسته شده است، به اولین موقعیت بعد از مشخصات DirectoryIndex منتقل کنیم، مانند این:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

وقتی کارتان تمام شد، فایل را ذخیره کرده و با فشار دادن Ctrl-X ببندید. شما باید ذخیره را با تایپ Y و سپس Enter بزنید تا مکان ذخیره فایل را تایید کنید.

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

sudo systemctl restart apache2

همچنین می توانیم با استفاده از systemctl وضعیت سرویس apache2 را بررسی کنیم:

sudo systemctl status apache2
Sample Output
● خروجی
apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Wed 2016-04-13 14:28:43 EDT; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
   CGroup: /system.slice/apache2.service
           ├─۱۳۶۲۳ /usr/sbin/apache2 -k start
           ├─۱۳۶۲۶ /usr/sbin/apache2 -k start
           ├─۱۳۶۲۷ /usr/sbin/apache2 -k start
           ├─۱۳۶۲۸ /usr/sbin/apache2 -k start
           ├─۱۳۶۲۹ /usr/sbin/apache2 -k start
           └─۱۳۶۳۰ /usr/sbin/apache2 -k start

Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Stopped LSB: Apache2 web server.
Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Starting LSB: Apache2 web server...
Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]:  * Starting Apache httpd web server apache2
Apr 13 14:28:42 ubuntu-16-lamp apache2[13605]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerNam
Apr 13 14:28:43 ubuntu-16-lamp apache2[13605]:  *
Apr 13 14:28:43 ubuntu-16-lamp systemd[1]: Started LSB: Apache2 web server.

ماژول های PHP را نصب کنید

برای افزایش عملکرد PHP، می توانیم به صورت اختیاری ماژول های اضافی را نصب کنیم.

برای مشاهده گزینه‌های موجود برای ماژول‌ها و کتابخانه‌های PHP، می‌توانید نتایج جستجوی apt-cache را وارد کنید، صفحه‌گری که به شما امکان می‌دهد در خروجی دستورات دیگر پیمایش کنید:

apt-cache search php- | less

از کلیدهای جهت دار برای حرکت به بالا و پایین و از q برای خروج استفاده کنید.

نتایج همه اجزای اختیاری هستند که می توانید نصب کنید. شرح مختصری برای هر کدام به شما می دهد:

libnet-libidn-perl - Perl bindings for GNU Libidn
php-all-dev - package depending on all supported PHP development packages
php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default)
php-cli - command-line interpreter for the PHP scripting language (default)
php-common - Common files for PHP packages
php-curl - CURL module for PHP [default]
php-dev - Files for PHP module development (default)
php-gd - GD module for PHP [default]
php-gmp - GMP module for PHP [default]
…
:

برای دریافت اطلاعات بیشتر در مورد کارهایی که هر ماژول انجام می دهد، می توانید در اینترنت جستجو کنید یا می توانید با تایپ کردن به توضیحات طولانی بسته نگاه کنید:

apt-cache show package_name

دستور، خروجی های زیادی وجود خواهد داشت، با یک فیلد به نام Description-en که توضیح بیشتری در مورد عملکرد ماژول ارائه می دهد.

به عنوان مثال، برای اینکه بفهمیم ماژول php-cli چه کاری انجام می دهد، می توانیم این را تایپ کنیم:

apt-cache show php-cli

همراه با حجم زیادی از اطلاعات دیگر، چیزی شبیه به این پیدا خواهید کرد:

خروجی :
Description-en: command-line interpreter for the PHP scripting language (default)
 This package provides the /usr/bin/php command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on Debian's default
 PHP version (currently 7.0).
…

اگر پس از تحقیق، تصمیم گرفتید که می‌خواهید بسته‌ای را نصب کنید، می‌توانید با استفاده از دستور نصب apt-get این کار را انجام دهید، همانطور که برای نرم‌افزارهای دیگر خود انجام می‌دادیم.

اگر تصمیم گرفتیم که php-cli چیزی است که به آن نیاز داریم، می‌توانیم تایپ کنیم:

sudo apt-get install php-cli

اگر می‌خواهید بیش از یک ماژول را نصب کنید، می‌توانید این کار را با فهرست کردن هر یک از آن‌ها، جدا از یک فاصله، به دنبال دستور نصب apt-get انجام دهید، مانند این:

sudo apt-get install package1 package2 ...

در این مرحله، LAMP شما نصب و پیکربندی می شود. ما هنوز باید PHP خود را آزمایش کنیم.

مرحله ۴ – پردازش PHP را روی سرور وب خود آزمایش کنید

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

برای اینکه آزمایش کنیم که سیستم ما به درستی برای PHP پیکربندی شده است، می توانیم یک اسکریپت PHP بسیار ابتدایی ایجاد کنیم.

ما این اسکریپت را info.php می نامیم. برای اینکه آپاچی فایل را پیدا کند و به درستی آن را ارائه کند، باید آن را در یک پوشه بسیار خاص که به آن ریشه وب می گویند ذخیره شود.

در اوبونتو ، این دایرکتوری در /var/www/html/ قرار دارد. ما می توانیم فایل را در آن مکان با تایپ کردن ایجاد کنیم:

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

با این کار یک فایل خالی باز می شود. می خواهیم متن زیر را که کد PHP معتبر است در داخل فایل قرار دهیم:

<?php
phpinfo();
?>

وقتی کارتان تمام شد، فایل را ذخیره و ببندید.

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

آدرسی که می خواهید بازدید کنید این خواهد بود:

http://your_server_IP_address/info.php

صفحه ای که به آن می آیید باید چیزی شبیه به این باشد:

how to install linux apache mysql php lamp stack on ubuntu 02 - آموزش نصب LAMP در اوبونتو Ubuntu

این صفحه اساساً اطلاعاتی در مورد سرور شما از دیدگاه PHP به شما می دهد. برای اشکال زدایی و اطمینان از اینکه تنظیمات شما به درستی اعمال می شوند مفید است.

اگر این موفقیت آمیز بود، PHP شما همانطور که انتظار می رود کار می کند.

احتمالاً می خواهید این فایل را پس از این آزمایش حذف کنید زیرا در واقع می تواند اطلاعات مربوط به سرور شما را به کاربران غیرمجاز بدهد. برای این کار می توانید این را تایپ کنید:

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

در صورت نیاز به دسترسی مجدد به اطلاعات، همیشه می توانید این صفحه را دوباره ایجاد کنید.

نتیجه گیری

اکنون که LAMP نصب کرده اید، انتخاب های زیادی برای انجام کارهای بعدی دارید. اساساً شما پلتفرمی را نصب کرده اید که به شما امکان می دهد انواع وب سایت ها و نرم افزارهای وب را روی سرور خود نصب کنید.

به‌عنوان گام بعدی فوری، باید اطمینان حاصل کنید که اتصالات به وب سرور خود، با سرویس دهی از طریق HTTPS، ایمن هستند. ساده ترین گزینه در اینجا استفاده از Let’s Encrypt برای ایمن سازی سایت خود با گواهی رایگان TLS/SSL است.

یکی دیگر از مجموعه آموزش های سیستم عامل لینوکس به اتمام رسید. امیدواریم این آموزش به جهت یادگیری آموزش نصب LAMP در اوبونتو برای شما عزیزان مفید واقع شده باشد؛ اگر شما نیز راهکار یا ترفندی برای نصب آپاچی و مای اسکیو ال و پی اچ پی در Ubuntu به روشی آسانتر بلدید میتوانید آن را در بخش کامنت ها مطرح کنید تا با نام شما این مقاله بروزرسانی گردد؛ همچنین ممکن است مقاله های دسته بندی آموزش های سئو و بهینه سازی نیز برای شما کاربردی و مفید باشد.

برای امتیاز به این نوشته کلیک کنید!
[کل: ۱ میانگین: ۵]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا