
نحوه نصب LAMP در اوبونتو ۱۸.۰۴ به زبان ساده
LAMP به دستهای از نرمافزارهای سورس باز اطلاق می شود که معمولا در کنار همدیگر بر روی سرو نصب می شوند تا سرور بتواند میزبانی یک یا چندین وب سایت داینامیک را برعهده بگیرد.
این عبارت مخفف Linux / Apache / Mysql / Php است.
Mysql وظیفه ذخیره داده ها و اطلاعات سایت را بر عهده دارد.
Php (Hypertext Preprocessor) وظیفه پردازش اطلاعاتی را برعهده دارد که باعث پویایی وب سایت می شوند.
در مقاله قبلی نحوه دانلود و آموزش نرم افزار Putty ( پوتی ) برای سرورهای لینوکسی را خدمت شما ارائه دادیم.
در این مقاله قصد داریم شما را با نحوه نصب LAMP در اوبونتو ۱۸.۰۴ ، توسط نرم افزار Putty آشنا کنیم.
پیش نیازها
برای نصب موارد بالا نیاز است تا بر روی سرور مجازی شما سیستم عامل Ubuntu 18.04 نصب بوده و دارای حساب کاربری Sudo باشد و یک فایروال بر روی آن نصب شده باشد. اگر شما از سرور مجازی های سرودیتا استفاده می کنید تمام سیستم عامل هایی که شما می توانید نصب کنید دارای حساب کاربری Sudo بوده و دارای فایروال هستند.
نصب Apache و به روزرسانی فایروال
اولین مرحله در نصب lamp بر روی سرور مجازی نصب وب سرور محبوب و قدرتمند Apache و بروزرسانی فایروال سرور می باشد.
با زدن کدهای زیر در ترمینال یا Putty اقدام به نصب Apache بر روی سرور خود کنید:
تنظیم فایروال برای انتقال ترافیک سایت
در این مرحله بر فرض اینکه شما از دستورات تنظیم اولیه سرور استفاده کرده اید و فایروال را فعال نموده اید، مطمئن شوید که فایروال سرور شما به ترافیک هایی که از طریق https و http انتقال می یابند، اجازه انتقال دهد. می توانید با کد زیر بررسی کنید که آیا فایروال به نرم افزار Apache اجازه دسترسی داده است یا نه :
۱ ۲ ۳ ۴ ۵ ۶ | Output Available applications: Apache Apache Full Apache Secure OpenSSH |
اگر پروفایل Apache Full را با کد زیر مشاهده کنید، باید درج شده باشد که ترافیک به پورت های ۸۰ و ۴۳۳ امکان پذیر می باشد.
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web server
:Ports
tcp/۸۰,۴۴۳
با زدن کد زیر در ترمینال ترافیک http , https را در این نمایه مجاز کنید.
با مراجعه به آیپی سرور خود می توانید مطمئن شوید که Apache به درستی نصب شده است یا نه.
در صورت نصب صحیح Apache تصویری شبیه به تصویر زیر برای شما داده خواهد شد که این صفحه پیشفرض Ubuntu 18.04 Apache است.
اکنون وب سرور شما کاملا صحیح از طریق فایروال نصب شده و قابل دسترسی است.
نصب MySQL
حال بعد از نصب وب سرور، زمان آن رسیده است که Mysql را بر روی سرور خود نصب کنید. Mysql یک سیستم مدیریت پایگاه دادهها و اطلاعات است که اطلاعاتی از جمله اطلاعات افزونهها، کابران و آدرس صفحات در این قسمت مرتب و ذخیره می شوند و به نحوی Mysql به تمام داده های قابل ذخیره دسترسی خواهد داشت.
برای نصب این نرم افزار بر روی سرور خود از کد زیر استفاده کنید.
کد بالا میزان فضای دیسک مورد نظر خود و لیست بسته های نصب شده را به شما نشان خواهد داد. Y را وارد کنید تا مراحل نصب ادامه یابد.
پس از نصب نیاز است تا تنظیمات امنیتی Mysql را پیکربندی کنید که برای این امر کد زیر را وارد میکنیم.
با زدن کد بالا از شما خواهد پرسید که آیا می خواهید پلاگین معتبر Password را تنظیم کنید یا خیر.برای تایید حرف 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: |
اگر در پاسخ سوال بالا y را زده باشید از شما خواسته می شود که اعتبار گذرواژه خود را انتخاب کنید. به خاطر داشته باشید که اگر ۰ را انتخاب کنید گذرواژه شما آسان تر خواهد شد. اگر ۱ را وارد کنید سختی گذرواژه شما در حد متوسط و در صورتی که ۲ را برای قویترین سطح گذرواژه وارد کنید هنگام ساخت گذرواژه نیاز است از ترکیبی از اعداد، نام، حروف بزرگ و کوچک و کاراکترهای خاص تشکیل شده باشد و نباید شامل حروف و کلمات رایج دیکشنری باشد.
۱ ۲ ۳ ۴ ۵ | There are three levels of password validation policy: LOW Length >= ۸ MEDIUM Length >= ۸, numeric, mixed case, and special characters STRONG Length >= ۸, numeric, mixed case, special characters and dictionary file Please enter ۰ = LOW, ۱ = MEDIUM and ۲ = STRONG: ۱ |
صرف نظر از اینکه آیا plugin validate password را نصب کردهاید یا نه، از شما درخواست میشود تا یک رمز عبور را برای کاربر root (پایه) خود تنظیم کنید.
دقت داشته باشید که این نام کاربری دارای اهمیت خاصی است که با داشتن اطلاعات Mysql می توان به تمامی قسمت های وب سایت و تمام اطلاعات کاربری وب سایت نیز دسترسی داشت. بنابراین اطمینان حاصل کنید که این نام کاربری دارای رمزی قوی و منحصر به فرد باشد. در صورتی که افزونه اعتبار رمز را فعال کرده باشید، قدرت رمز عبور برای رمز اصلی که تازه وارد کرده اید نشان داده خواهد شد و از شما سوال میکند که آیا می خواهید رمز عبور خود را تغییر دهید یا نه: 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 تغییرات اعمالی را به سرعت انجام داده و غیر از آن عمل نمی کند که باعث افزایش امنیت وب سایت شما می شود.
دقت داشته باشید که درسیستم های با سیستم عامل Ubuntu که Mysql 5.7 یا بالاتر را اجرا می کنند، کاربر Root مربوط به Mysql برای تایید اعتبار از افزونه auth_socke استفاده می کند که به جای رمز عبور تنظیم شده است. این قابلیت امنیت بالاتری داشته اما می تواند کار را پیچیدهتر کرده و برای دسترسی به کاربر نیازمند یک برنامه خارجی (مثل Phpmyadmin ) است. اگر ترجیح می دهید هنگام اتصال به Mysql به عنوان کاربر Root از یک رمز عبور استفاده کنید، باید روش تایید اعتبار خود را از auth_socket به mysql_native_password تغییر دهید.
برای این کار با کد زیر ابتدا به قسمت Mysql وارد شوید:
سپس با دستور زیر بررسی کنید که تایید اعتبار حساب کاربری Mysql به چه صورت است.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ | Output +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ ۴ rows in set (۰.۰۰ sec) |
در قطعه کد بالا می بینید که کاربر Root از افزونه auth_socket برای اعتبار سنجی استفاده می کند.
برای تغییر این روش و اعتبار سنجی از طریق رمز عبور قطعه کد زیر را در در ترمینال خود وارد کنید.
توجه: رمز عبور خود را در قسمت مشخص شده بین ‘ ‘ بنویسید.
سپس با وارد کردن قطعه کد زیر به سرور دستور بارگذاری مجدد جدول بالا را دهید تا از انجام تغییرات مطمئن شوید.
روش تایید اعتبار هر یک از کاربران خود را دوباره بررسی کنید تا مطمئن شوید که کاربر Root دیگر از افزونه auth_socket احراز هویت نمی کند.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ | Output +------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *۳۶۳۶DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ ۴ rows in set (۰.۰۰ sec) |
در مثال بالا می توان دید که کاربر Root اکنون با mysql_native_password ( رمز عبور) تایید اعتبار می شود. حال می توانید با زدن کد زیر از Mysql خارج شوید.
نصب Php
در این مرحله بعد از نصب Mysql، نوبت به نصب Php میرسد که وظیفه داینامیک کردن وب سایت را برعهده دارد. Php اسکریپتها را اجرا کرده و برای به دست آوردن اطلاعات به پایگاه های Mysql متصل شده و آن ها را پردازش می کند.
برای استفاده بهتر نیاز است تا در کنار نصب php بسته هایی را نصب کنید که Php بتواند تحت نظارت Apache اجرا شود و با Mysql در ارتباط باشد. برای این کار از کد زیر استفاده کنید:
به طور معمول در هنگام در خواست دایرکتوری، Apache ابتدا به دنبال پرونده ای به نام index.html می گردد.
برای اینکه به سرور بگوییم که فایل های Php را نسبت به فایل های دیگر در اولویت قرار دهد، باید در صف اولویت فایل index.php را جلوتر از index.html قرار دهیم. برای انجام این کار دستور زیر را تایپ کنید تا پرونده dir.conf را در یک ویرایشگر متن نشان دهد.
با فایلی دارای متن زیر روبه رو خواهید شد.
۱ ۲ ۳ | <IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule> |
پرونده index.php را به اولین موقعیت بعد از DirectoryIndex منتقل کنید، مانند کد زیر( می توانید کد زیر را به جای کد بالا کپی کنید )
۱ ۲ ۳ | <IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </IfModule> |
پس از ویرایش فایل با فشردن کلیدهای ترکیبی CTRL + X فایل را ببندید و در هنگام بستن برنامه از شما سوال خواهد شد که آیا تغییرات اعمال شده ذخیره شود یا خیر، با تایپ Y فایل را ذخیره کرده و برای تایید محل ذخیره Enter را بزنید تا جایگزین فایل قبلی شود.
سپس وب سرور Apache را مجددا راهاندازی کنید تا تغییرات اعمال شده شناخته شوند. این کار را با تایپ عبارت زیر انجام دهید.
برای افزایش بهره وری Php، می توانید برخی از ماژول های اضافی را در کنار آن نصب کنید. برای مشاهده این ماژولها کد زیر را وارد کنید.
نتیجه به شکل زیر است که به صلاح دید خود می توانید این ماژول ها را استفاده کنید. برای هر کدام توضیح مختصری نوشته شده است.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ | bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64 Tracks usage of TCP/IP and builds html files with graphs bluefish/bionic 2.2.10-۱ amd64 advanced Gtk+ text editor for web and software development cacti/bionic 1.1.38+ds1-۱ all web interface for graphing of monitoring systems ganglia-webfrontend/bionic 3.6.1-۳ all cluster monitoring toolkit - web front-end golang-github-unknwon-cae-dev/bionic ۰.۰~git20160715.0.c6aac99-۴ all PHP-like Compression and Archive Extensions in Go haserl/bionic 0.9.35-۲ amd64 CGI scripting program for embedded environments kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n … |
برای دریافت توضیحات بیشتر در مورد هر ماژول می توانید در اینترنت جستجو کنید یا با تایپ کد زیر توضیحات بیشتری از هر ماژول را ببینید.
به جای package_name نام ماژول مورد نظر خود را وارد کنید.
برای مثال وقتی بخواهید امکانات و کاربرد های ماژول php-cli را مشاهده کنید کافیست کد زیر را وارد کنید.
توضیحاتی همانند توضیحات زیر مشاهده خواهید کرد.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ | Output … Description: 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 Ubuntu's default PHP version (currently 7.2) |
اگر بعد از تحقیق تصمیم گرفتید ماژولی را نصب کنید، میتوانید از دستور زیر استفاده کنید.
برای مثال نصب ماژول php-cli
اگر می خواهید بیشتر از یک ماژول را نصب کنید می توانید با فرمت زیر چند ماژول را باهم نصب کنید.
بعد از نصب Php نیاز است تا یک فایل Php را فراخوانی کنیم تا از کارکرد درست آن مطمئن شویم.
برای اینکار یک فایل Php در مسیر دایرکتوری سرور می سازیم.
اگر دارای دامنه هستید، آدرس دامنه را به جای html استفاده کنید.
با زدن کد بالا فایل ساخته شده برای ویرایش باز می شود. کد زیر را درون فایل کپی کرده و با زدن کلیدهای ترکیبی CTRL + X آن را بسته و با زدن Y و Enter آن را ذخیره کنید.
با وارد کردن آیپی یا آدرس دامنه مربوط به سرور خود در کنار نام فایل و پسوند آن به صورت زیر در مرورگر خود می توانید فایل مورد نظر را اجرا کنید.
یا
نتیجه کار باید صفحه ای مشابه تصویر زیر باشد.
این صفحه دارای اطلاعاتی در مورد سرور شماست و برای تست و اشکال زدایی بسیار مفید است. با مشاهده صفحه بالا می توانید مطمئن شوید که Php بر روی سرور شما به درستی نصب شده است.
توجه: بعد از انجام تست و اطمینان از نصب صحیح Php اقدام به حذف این فایل کنید چون می تواند اطلاعاتی در مورد سرور شما به کاربران دیگر بدهد که می توانند از این اطلاعات سواستفاده کنند.
برای حذف این فایل دستور زیر را اجرا کنید.
اگر دارای دامنه هستید، آدرس دامنه را به جای html استفاده کنید.
شما می توانید هرگاه که به این اطلاعات نیاز داشتین دوباره اقدام به ایجاد فایل info.php کنید.
اکنون که Linux ، Apache ، MySQL ، PHP را بر روی سرور اوبونتو ۱۸.۰۴خود نصب کردید، می توانید انواع مختلفی از وب سایت و نرم افزارهای تحت وب را بر روی سرور خود نصب و راه اندازی کنید.
حال که نحوه نصب LAMP در اوبونتو ۱۸.۰۴ را آموختید، در آموزشهای بعدی “آموزش نصب PhpMyadmin” را ارائه خواهیم کرد.