LAMP به مجموعه ای از نرم افزارهای اپنسورس گفته میشود که با نصب آنها در کنار یکدیگر امکان میزبانی وب سایتهای داینامیک در سرور ایجاد میشود. اسم LAMP یا LAMP stack بر گرفته از حروف ابتدایی سیستم عامل Linux + وب سرور یا کارگزار وب Apache + پایگاه داده MySQL + زبان برنامهنویسی PHP هستش. این استک یکی از محبوبترین مدلهای طراحی و توسعه وبسایت و نرمافزار تحت وب در دنیا است و به دلیل مواردی همچون هزینه سرور پایین و پشتیبای در اکثر شرکتهای هاستینگ، وجود منابع آموزشی فراوان و جامعه کاربری قوی، وجود نیروی کار و متخصصان بیشتر نسبت به سایر تکنولوژیها و طراحی و توسعه هزاران کتابخانه و فریمورک باعت شده LAMP انتخاب بسیاری از طراحان و توسعه دهندههای وب باشد و این موضوع در بازار طراحی وب سایت ایران نیز کاملا مشهود است و حتی با شدت بیشتر! خوب بریم سراغ اصل مطلب
پیشنیازهای LAMP
شما قبل از هر چیز نیاز به یک سیستم گنو لینوکسی با دسترسی Root که در اینجا توزیع اوبونتو هستش دارین. Ubuntu یکی از محبوبترین توزیعهای گنو لینوکسی است که توسط شرکت canonical توسعه و نگهداری میشود و در قسمت دسکتاپ کاربران زیادی رو جذب خودش کرده و برای کاربران تازهوارد لینوکسی توصیه میشود و البته بسیاری از کاربران حرفهای هم از این توزیع به دلیل راحتی بیشتر استفاده میکنند. اوبونتو با پایداری خوبش در کنار مصرف بهینه از منابع سرور و امنیت بالا و همچنین وجود پکیجهای نرمافزاری خوبش توانسته جای خودش رو در بازار سرورها هم باز کنه و برای میزبانی وب به یکی از محبوبترین سیستمها تبدیل شه. برای داشتن یه سرور Ubuntu میتونید یه VPS رو خریداری کنید و بعد از این که IP رو گرفتین بهش SSH بزنید و مراحل نصب رو انجام بدین همجنین برای تست به صورت لوکال میتونید از ماشینمجازی مثلا VirtualBox استفاده کنید.
نصب Apache
آپاچی در حال حاضر محبوبترین وب سرور جهان است و البته رقیبهای جدی مانند nginx دارد. برای نصب آپاچی در اوبونتو میتوان به راحتی از پکیج منیجر apt استفاده کرد. برای نصب کافی است پس از اتصال SSH به سرور اوبونتو دستورهای زیر را به ترتیب در ترمینال وارد کنید
sudo apt-get update
sudo apt-get install apache2
عبارت sudo در ابتدای دستور به معنی اجرای این دستور با دسترسی روت است و برای اجرا از شما پسورد روت پرسیده خواهد شد ( یوزر root مدیر سیستم با دسترسی به تمامی بخشهای سیستم است )
دستور apt-get برای مدیریت بستهها در اوبونتو استفاده میشود و برای اطلاعات بیشتر در موردش میتونید از دستور man استفاده کنید
man apt-get
پس از نصب موفق شما میتونید برای بررسی کارکرد درست آپاچی، آدرس ip سرور خود رو در مرورگر اینترنتی خود وارد کنید
http://your_server_IP_address
اگر آپاچی به درستی کار کند باید صفحه پیشفرض آپاچی برای اوبونتو را مشاهده کنید چیزی شبیه به تصویر زیر
نصب MySQL
بعد از نصب آپاچی نوبت به MySQL میرسد که یکی از محبوبترین سیستم مدیریت پایگاهدادههای جهان است. MySQL ارتباط ما با دیتابیس سایت که اطلاعات وب سیات در آنجا ذخیره میشود را محیا میکند. برای نصب باید دستور زیر را وارد کنید
sudo apt-get install mysql-server php5-mysql
در زمان نصب MySQL از شما پسورد یوزر Root پرسیده میشود. نامکاربری root در واقع ادمین اصلی با تمامی دسترسیها به بخشهای مختلف MySQL است ( مثل یوزر روت سیستم لینوکس ) و باید رمز قوی برای آن انتخاب شود. بعد از نصب موفق نیاز به اجرای چند دستور دیگر است اول باید دستور زیر را وارد کنید تا ساختار دایرکتوری دیتابیسها که اطلاعات در آنجا ذخیره میشود ساخته شود.
sudo mysql_install_db
در مرحله بعد دستور زیر را اجرا کنید تا یکسری دسترسیهای نا امن پیشفرض به پایگاهداده حذف شود.
sudo mysql_secure_installation
در زمان اجرا یک سری سوالات از شما پرسیده میشود که باید طبق موارد زیر جواب دهید
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up...
نصب PHP
php زبان برنامه نویسی اپنسورس است و به صورت گسترده در طراحی سایت استفاده میشود. برای نصب php دستور زیر را اجرا کنید
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
باید تمامی مراحل نصب بدون مشکل اجرا شوند.
در بیشتر موارد در تنظیمات آپاچی فایل index.html به صورت پیشفرض تعریف شده و ما باید فایل index.php را قبل از index.html تعریف کنیم تا آپاچی اگر فایل php موجود بود آن را اجرا کند. برای این کار فایل تنظیمات آپاچی را باز میکنیم
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>
و به این صورت اصلاحش میکنیم
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
و بعد از تغییر تنظیمات برای اعمال شدنش باید یه بار آچاچی رو ریست کنیم
sudo service apache2 restart
تبریک میگم تا اینجای کار ما تمامی موارد استک LAMP رو نصب کردیم
حالا میتونید برای افزایش کارایی PHP ماژولهای اضافی PHP رو نصب کنید
برای دیدن ماژولهای موجود برای PHP میتونید دستور زیر رو وارد کنید
apt-cache search php5-
بعد از اجرا در خروجی لیست ماژولهای PHP رو به این صورت خواهید دید
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .
برای گرفتن اطلاعات بیشتر درباره هر کدوم از ماژولهای PHP میتونید از این دستور استفاده کنید
apt-cache show package_name
مثلا
apt-cache show php5-cli
بعد از تحقیق درباره ماژولهای موجود برای نصب باید از دستور زیر استفاده کنید
sudo apt-get install package1 package2 ...
و به جای package1 نام ماژول مورد نیازتون رو وارد کنید تا نصب شود
تست PHP
برای اطمینان از کارکرد درست PHP مراحل زیر رو انجام بدین
ابتدا یک فایل PHP بسازید
sudo nano /var/www/html/info.php
و کد زیر را داخلش قرار دهید و با ctrl+O فایل را ذخیره کنید و با ctrl+X از فایل خارج شوید
<?php
phpinfo();
?>
بعد از ایجاد فایل در مرورگر خودتون به آدرس زیر برین
http://your_server_IP_address/info.php
و باید صفحهایی شبیه به عکس زیر مشاهده کنید که اطلاعات و تنظیمات PHP را نمایش میدهد و این نشون میده PHP به درستی در سرور شما نصب شده و کار میکنه
بعد از اطمینان از کارکرد درست PHP با دستور زیر فایل تست رو پاک کنید تا اطلاعات سرور شما امن بمانند
sudo rm /var/www/html/info.php
نتیجهگیری
خوب به سلامتی همه قسمتهای LAMP stack نصب شد و شما باید در مرحله بعد تصمیم بگیرید که چه کاری میخواهید انجام دهید. در واقع LAMP زیرساخت ما برای پیادهسازی مراحل بعدی هستش. مثلا میشه در مرحله بعد وردپرس یا دروپال رو نصب کرد و طراحی سایت رو بر روی CMS مورد نظر انجام داد یا نه برنامه PHP از صفر یا با استفاده از فریمورک PHP پیادهسازی کرد. همچنین برای محیط لوکال و توسعه خودتون همیشه سعی کنید از این روش به جای روشهای راحتتر مثل xampp یا wamp استفاده کنید تا زمان انتقال پروژه به سرور کمتر دچار ناهماهنگی و مشکلات احتمالی شوید.