LAMP به مجموعه ای از نرم افزارهای اپنسورس گفته میشود که با نصب آنها در کنار یکدیگر امکان میزبانی وب سایتهای داینامیک در سرور ایجاد میشود. اسم LAMP یا LAMP stack بر گرفته از حروف ابتدایی سیستم عامل Linux + وب سرور یا کارگزار وب Apache + پایگاه داده MySQL + زبان برنامهنویسی PHP هستش. این استک یکی از محبوبترین مدلهای طراحی و توسعه وبسایت و نرمافزار تحت وب در دنیا است و به دلیل مواردی همچون هزینه سرور پایین و پشتیبای در اکثر شرکتهای هاستینگ، وجود منابع آموزشی فراوان و جامعه کاربری قوی، وجود نیروی کار و متخصصان بیشتر نسبت به سایر تکنولوژیها و طراحی و توسعه هزاران کتابخانه و فریمورک باعت شده LAMP انتخاب بسیاری از طراحان و توسعه دهندههای وب باشد و این موضوع در بازار طراحی وب سایت ایران نیز کاملا مشهود است و حتی با شدت بیشتر! خوب بریم سراغ اصل مطلب
پیشنیازهای LAMP
شما قبل از هر چیز نیاز به یک سیستم گنو لینوکسی با دسترسی Root که در اینجا توزیع CentOS هستش دارین. سنت او اس یکی از محبوبترین توزیعهای گنو لینوکسی است که از Redhat مشتق شده و توسط جامعه کاربران توسعه و نگهداری میشود و بسیاری از قابلیتهای سیستم ردهت را به صورت رایگان اراپه میکند. centos با پایداری خوبش در کنار مصرف بهینه از منابع سرور ، امنیت بالا و پشتیبانی بلند مدتش توانسته جایگاه خوبی در بازار سرورها داشته باشه. برای داشتن یه سرورcentos میتونید یه VPS رو خریداری کنید و بعد از این که IP رو گرفتین بهش SSH بزنید و مراحل نصب رو انجام بدین همجنین برای تست به صورت لوکال میتونید از ماشینمجازی مثلا VirtualBox استفاده کنید.
نصب Apache
آپاچی در حال حاضر محبوبترین وب سرور جهان است و البته رقیبهای جدی مانند nginx دارد. برای نصب آپاچی در سنت او اس میتوان به راحتی از پکیج منیجر yum استفاده کرد. برای نصب کافی است پس از اتصال SSH به سرور سنت او اس دستورهای زیر را به ترتیب در ترمینال وارد کنید
sudo yum update
sudo yum install httpd
پس از نصب میتوانید با دستور زیر آپاچی را اجرا کنید
sudo service httpd start
عبارت sudo در ابتدای دستور به معنی اجرای این دستور با دسترسی روت است و برای اجرا از شما پسورد روت پرسیده خواهد شد ( یوزر root مدیر سیستم با دسترسی به تمامی بخشهای سیستم است )
دستور yum برای مدیریت بستهها در centos استفاده میشود و برای اطلاعات بیشتر در موردش میتونید از دستور man استفاده کنید
man yum
پس از نصب موفق شما میتونید برای بررسی کارکرد درست آپاچی، آدرس ip سرور خود رو در مرورگر اینترنتی خود وارد کنید و صفحه پیشفرض آپاچی را باید مشاهده کنید
http://your_server_IP_address
نصب MySQL
بعد از نصب آپاچی نوبت به MySQL میرسد که یکی از محبوبترین سیستم مدیریت پایگاهدادههای جهان است. MySQL ارتباط ما با دیتابیس سایت که اطلاعات وب سیات در آنجا ذخیره میشود را محیا میکند. برای نصب باید دستور زیر را وارد کنید
sudo yum install mysql-server sudo service mysqld start
در زمان نصب MySQL از شما پسورد یوزر Root پرسیده میشود. نامکاربری root در واقع ادمین اصلی با تمامی دسترسیها به بخشهای مختلف MySQL است ( مثل یوزر روت سیستم لینوکس ) و باید رمز قوی برای آن انتخاب شود.
در مرحله بعد دستور زیر را اجرا کنید تا یکسری دسترسیهای نا امن پیشفرض به پایگاهداده حذف شود.
sudo /usr/bin/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 yum install php php-mysql
باید تمامی مراحل نصب بدون مشکل اجرا شوند.
تبریک میگم تا اینجای کار ما تمامی موارد استک LAMP رو نصب کردیم
حالا میتونید برای افزایش کارایی PHP ماژولهای اضافی PHP رو نصب کنید
برای دیدن ماژولهای موجود برای PHP میتونید دستور زیر رو وارد کنید
yum search php-
بعد از اجرا در خروجی لیست ماژولهای 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 میتونید از این دستور استفاده کنید
yum info name-of-the-module
مثلا
yum info php5-cli
بعد از تحقیق درباره ماژولهای موجود برای نصب باید از دستور زیر استفاده کنید
sudo yum install name-of-the-module
و به جای name-of-the-module نام ماژول مورد نیازتون رو وارد کنید تا نصب شودگ
برای اجرای apache و mysql به صورت خودکار در زمان روشن شدن سیستم (startup) کدهای زیر را وارد کنید
sudo chkconfig httpd on sudo chkconfig mysqld on
تست 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 استفاده کنید تا زمان انتقال پروژه به سرور کمتر دچار ناهماهنگی و مشکلات احتمالی شوید.
سلام خیلی خوب بود
ببخشید برای نصب هدوپ آپاچی با استفاده از cloudera میشه مطلب بزارید. با تشکر
سلام.
آیا با نصب کنترل پنل ها(cpanel یا directadmin یا plesk) روی سرور مجازی، php,mysql,mail server,… هم نصب میشن؟ یا باید اینها رو تک تک جدا از کنترل پنل نصب کرد؟
با تشکر.
سلام
بله cpanel رو تا جایی که میدونم به صورت خودکار نصب میشه بقیه هم فکر میکنم به همین صورت باشه