در مثال های مقاله ی اول توضیح دادیم که پروسه ی باز شدن یک سایت، به چه شکل هست. و متوجه شدیم هر سرور برای برقراری ارتباط با مروگرها، به وب سرور احتیاج دارد. ضمنا گفتیم برای تولید یک سایت داینامیک با استفاده از زبان PHP، به مفسر اون زبان هم احتیاج داریم. همچنین برای کار با بانک اطلاعاتی، باید آن بانک اطلاعاتی را روی سرور سایتمان نصب کنیم.
زمانی که قرار نیست سایت رو بصورت پابلیک روی اینترنت بگذارید، یعنی وقتیکه که پروژه رو دارید مینویسید و توسعه میدید یا مثل الان که میخواهید این زبان رو یاد بگیرید، نیازی نیست یک سرور خریداری کنید. میتونید با نصب برنامه های مورد نیاز یعنی (وب سرور، مفسر PHP، بانک اطلاعاتی) روی سیستم عامل(فرقی نمیکنه چه سیستم عاملی)، کامپیوترتون رو تبدیل به یک سرور کنید و از اسکریپتها روی سیستمتون، اجرا بگیرید.
برای نصب این ابزارها، میتونید تک تک هر کدام را دانلود کنید و روی سیستم نصب کنید. همچنین بعد از نصب، ابزار میبایست کانفیگ شوند.
اما راه مناسبتری وجود داره: با نصب پکیج هایی نظیر، WAMP Server ، XAMPP ، LAMP ، MAMP و ... بسته ی AMP (منظور Apache ، Mysql ، PHP) را روی سیستم خواهید داشت و در نتیجه میتوانید یک سرور پیاده سازی کنید. پکیجهای نامبرده، تنظیمات پیش فرضی برای AMP تعیین کرده اند.
برای ویندوز نرم افزاری که ما انتخاب کرده ایم، WampServer هست. این پکیج دارای وب سرور Apache و مفسر PHP و پایگاه داده ی Mysql و برنامه ی مدیریت پایگاه داده بنام PHPMyadmin میباشد.
با نصب این نرم افزار، میتوانیم کار کد نویسی را شروع کنیم.
نام WAMP مخفف Windows ، Apache ، Mysql ، PHP میباشد.
در ضمن فرقی نمیکند wamp را نصب کنید یا نرم افزار دیگری مثل xampp. پس با هر کدام که راحتترید، همان را نصب کنید.
برای دانلود نرم افزار ومپ سرور، وارد سایت wampserver.com/en شوید و بر روی بخش Downlaod کلیک کنید.
نسخه ی مناسب با سیستم عاملتون(32 یا 64 بیتی) را دانلود کنید.
برای دانلود wampserver با استفاده از لینک داخل سایت منبع، نیاز به vpn دارید. البته با استفاده از سایتهای ایرانی هم میتوانید این برنامه را دانلود کنید.
قبل از نصب بد نیست changelog را دانلود کنید و آنرا بررسی کنید.
در فایل changelog گفته است، برای نصب wampserver نسخه ی 3.06 باید کتابخانه های VC9, VC10, VC11, VC13, VC14 را از قبل، نصب کرده باشید تا در حین نصب و اجرای پکیج به مشکلی برخورد نکنید.
از قسمت Programs And Features میتوانید ببینید فایلهای مورد نیاز نصب هستن یا خیر:
در لیست پایین، کتابخانههای مورد نیاز بهمراه صفحه ی دانلودشان آمده است تا اگر کتابخانه ای را روی سیستم ندارید، آنرا دانلود و نصب کنید:
-- VC9 Packages (Visual C++ 2008 SP1)
http://www.microsoft.com/en-us/download/details.aspx?id=5582
http://www.microsoft.com/en-us/download/details.aspx?id=2092
-- VC10 Packages (Visual C++ 2010 SP1)
http://www.microsoft.com/en-us/download/details.aspx?id=8328
http://www.microsoft.com/en-us/download/details.aspx?id=13523
-- VC11 Packages (Visual C++ 2012 Update 4)
http://www.microsoft.com/en-us/download/details.aspx?id=30679
-- VC13 Packages] (Visual C++ 2013[)
https://www.microsoft.com/en-us/download/details.aspx?id=40784
-- VC14 Packages (Visual C++ 2015)
http://www.microsoft.com/fr-fr/download/details.aspx?id=48145
اگر نسخه ی سیستم عاملتون 64 بیتی هست، هر دونسخه ی 32 و 64 بیتی کتابخانه هارو دانلود و نصب کنید.(حتی اگر نسخه ی 32 بیتی ومپ سرور را دانلود کرده اید)
نکات:
1. ومپ سرور روی فرمت FAT32 یا exFAT کار نمیکند و فقط روی درایو NTFS کار میکند.
2. نسخه ی 3 از ومپ سرور، روی ویندوز XP کار نمیکند.
3. پکیج WampServer دارای برنامههای زیر است:
Apache 2.4.23 - PHP 5.6.25/7.0.10 - MySQL 5.7.14 - PhpMyAdmin 4.6.4 - Adminer 4.2.5 - PhpSysInfo 3.2.5
4. اگر ومپ سروری از قبل روی سیستم نصب دارید، ومپ دیگری روی آن نصب نکنید، ممکن است دادههای روی دیتابیس از بین برود.
5. ومپ را در فولدری واقع در ریشه ی درایو نصب کنید. فرضا c:\wamp یا d:\wamp
6. اگر برنامه ی Skype یا IIS روی سیستم نصب دارید، برای اجرای Apache، باید آنها را ببندید.
یعنی آن برنامه هایی که از پورت 80 استفاده میکنند را قبل از اجرای ومپ، باید close کنید تا وب سرور Apache اجرا شود. در غیر این صورت، آیکون Wamp سبز نمیشود.
7. پکیج های (VC9, VC10, VC11) از ملزومات نرم افزار ومپ سرور نسخههای 2.4 و 2.5 و 3 است. همچنین اگر میخواهید از apache 2.4.17 به بالا و PHP 7 بدون استفاده از ومپ استفاده کنید به پکیجهای VC11 و VC14 نیازمندید.
بریم سراغ نصب برنامه:
مرحله 1. روی آیکون ستاپ نرم افزار کلیک کنید تا مراحل نصب آغاز شود.
مرحله 2. بعد از انتخاب گزینه ی I accept the agreement، روی دکمه ی Next کلیک کنید.
مرحله 3. در این مرحله، نکاتی در مورد نرم افزار و شرایط نصب گفته شده که این نکات در مقاله ذکر شده است. روی Next کلیک کنید.
مرحله 4. مسیر نصب را انتخاب کرده و روی Next کلیک کنید.(ما ومپ 64 بیتی را در درایو c نصب میکنیم)
نصب برنامه شروع میشود و تا انتها اگر خطایی رخ ندهد، نصب برنامه بدرستی انجام شده است.
در حین نصب، پنجره ای باز میشود و میگوید، اگر میخواهید مرورگر پیش فرض Wamp را تغییر دهید روی Yes کلیک کنید وگرنه روی No کلیک کنید تا نصب ادامه پیدا کند.
اگر مرورگری انتخاب نکردید و روی No کلیک کردید، همانطور که در همان پنجره ی دیالوگ گفته شده، مرورگر IE بطور پیش فرض انتخاب شده است. پس اگر خواستید بعد از نصب برنامه، این مرورگر را عوض کنید، میتوانید از مسیر نصبی برنامه و داخل پوشه ی Wamp فایل wampmanager.conf
را باز کنید و آدرس navigator را تغییر دهید.(خط 9)navigator ="C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
در ادامه، پنجره ی دیگری باز میشود و برای تغییر editor پیشفرض از شما سؤال میکند. اگر میخواهید تغییر دهید روی Yes کلیک کنید.
اگر این گزینه را تغییر ندهید، فایل تنظیماتی که توسط ومپ باز میکنید، مانند httpd.conf و php.ini، توسط ادیتور پیش فرض یعنی notepad.exe باز میشوند.
البته مانند navigator برای ادیتور هم میتوانید از تنظیمات فایل wampmanager.conf
خط 13 یعنی editor را تغییر دهید.editor ="C:/Program Files/Sublime Text 3/sublime_text.exe"
بعد از آمدن یک پنجره ی دیگر، در نهایت پنجره ی finish میآید و نصب به پایان میرسد.
حالا اگر نصب برنامه با توجه به نکاتی که در بالاتر توضیح دادم، بدرستی انجام شده باشد، با اجرا کردن ومپ سرور، بعد از چند ثانیه آیکون برنامه سبز میشود.
wampserver 3.0.6 دارای دو نسخه از PHP یعنی نسخههای 5.6 و 7 میباشد.
اگر آیکون ومپ سرور سبز نشد، چک کنید کدام برنامه Run نشده است.
روی آیکون ومپ کلیک کنید و از قسمت Apache > Service administration
ببینید start شده یا خیر.
اگر Apache استارت نشده بود، میتوانید از قسمت Apache > Test port 80
ببینید این پورت توسط برنامه ای اشغال شده یا باز است. اگر پورت 80 اشغال شده بود، میتوانید آن برنامه را ببندید و ومپ را Restart کنید. ولی اگر نمیخواهید آن برنامه را ببندید، میتوانید از تنظیمات Apache در مسیر Apache > httpd.conf
پورت آپاچی را تغییر دهید.
اما اگر آپاچی start شده بود و باز هم آیکون سبز نبود، Mysql رو هم بررسی کنید که استارت شده یا خیر.
بعد از سبز شدن wampserver کافیه در مرورگرتان آدرس http://localhost را تایپ کنید.(یا اینکه روی آیکون wamp کلیک کنید و localhost را انتخاب کنید. هر دو راه یکی هستند.)
آن چیزی که میبینید، صفحه ی index.php است. این فایل در داخل پوشه ی c:\wamp64\www
قرار دارد.
همچنین میتوانید با وارد کرد آدرس http://localhost/phpmyadmin در مروگر و یا با کلیک روی آیکون Wamp و گزینه ی phpmyadmin، وارد صفحه ی مدیریت دیتابیس Mysql شوید. یوزر پیش فرض root
میباشد و پسورد را خالی بگذارید.
اگر خواستید پروژه ای را استارت بزنید، وارد مسیر c:\wamp64\www
شوید. پروژه هایمان را داخل پوشه ی www ایجاد میکنیم.
چرا پوشه ی www !؟ چون wampserver در تنظیمات Apache، پوشه ی www را برای localhost ست کرده. این تنظیمات از داخل Apache > httpd.conf
قابل تغییر هست.
بنابراین وقتی در مرورگر وارد میکنید localhost، با توجه به تنظیمات Apache در ومپ سرور، فایل index.php از داخل پوشه ی www لود میشود.
حالا وارد پوشه ی www شوید و یک فولدر فرضا بنام bidak بسازید. وارد فولدر bidak شوید و یک فایل به نام index.php بسازید.
فایل index.php را در یک ادیتور باز کنید و اسکریپت زیر را بنویسید: (اگر ادیتور مناسبی ندارید، فایل را بوسیله ی notepad باز کنید.)
<?php
echo 'BiDaK';
?>
فایل را سیو کنید و در مرورگر این آدرس را وارد کنید: localhost/bidak/index.php
نتیجه ی اجرای دستور بالا، چاپ شدن عبارت BiDaK در مرورگر شماست.
البته اگر آدرس localhost/bidak
را در مرورگر وارد کنید، بازهم صفحه ی index.php باز میشود. کانفیگی که ومپ سرور برای آپاچی انجام داده است به شکل DirectoryIndex index.php index.php3 index.html index.htm
میباشد. در مورد این موضوع در مقاله ی اول، توضیح داده ایم.
توضیحات تکمیلی:
با نصب wamp(در واقع با نصب شدن وب سرور Apache)، عملاً شما کامپیوتر خود را تبدیل به یک سرور کرده اید. حالا مرورگر میتواند درخواست ارسال کند و از وب سرور پاسخ دریافت کند.
همانطور که در مقاله ی اول گفتیم، زمانی که آدرس سایتی را در مرورگر باز میکنیم، ابتدا مرورگر دنبال آیپی آن آدرس میگردد و سپس درخواست را به آن آیپی ارسال میکند.
وب سرور سایت، درخواست مرورگر را تحویل میگیرد و بقیه ی ماجرا ...
1. حالا ما با نصب wampserver، وب سرور آپاچی را در ویندوز داریم.
2. کامپیوتر ما در اینترنت، دارای یک آیپی است.
سؤال: آیا تمام افراد اینترنت، میتوانند با وارد کردن آیپی سیستم ما، سایتی که روی کامپیوتر ما ایجاد شده رو باز کنن؟
جواب: با توجه به تنظیمات پیش فرض مودم و آپاچی و همچنین بلاک بودن پورت 80 (روی درخواستهای ورودی از شبکههای دیگر) داخل firewall ویندوز، جواب خیر است.
سؤال: آیا میتوان این امکان را فراهم کرد؟
جواب: بله. در یک جلسه ی جدا، این مورد رو بررسی میکنیم.
نصب پکیج LAMP روی Ubuntu (پنجم)
اما اگر میخواهید AMP را روی سیستم عامل لینوکس نصب کنید، میتوانید از پکیج LAMP بهره ببرید.
LAMP شامل بستههای Linux و Apache و Mysql/MariaDB و PHP/PERL/Python میباشد.
این بستههای نام برده، در مخازن اکثر توزیعهای لینوکس قرار گرفته است و شما میتوانید AMP را با استفاده از این مخازن، روی سیستم عامل لینوکس نصب کنید.
با نصب ابزار مورد نیاز از طریق مخازن لینوکس، دیگر نیازی نیست که بصورت دستی فایلهای AMP را تک تک از سایت منبعشان دانلود کنیم و هرکدام را کانفیگ و کامپایل و در نهایت نصب کنیم. تمام اقدامات لازم، روی نسخه ی قرار گرفته در مخازن، بصورت اتومات انجام میشود.
برای پیاده سازی LAMP ما توزیع Ubuntu را نصب کرده ایم.
ضمناً قبل از شروع کار، vpn را باز کنید تا برای دانلود کامل پکیجها به مشکل نخورید.
اما برای نصب اجزای دیگر یعنی AMP، ترمینال را باز کنید(ctrl + alt + t
) و در اولین قدم، برای بروزرسانی لیست پکیج های سیستم عاملتون، از کامند زیر استفاده کنید:
sudo apt-get update
نصب وب سرور Apache:
برای نصب Apache 2.4 از دستور زیر استفاده کنید:
sudo apt-get install apache2
اگر ورژن ابونتوی شما قدیمی است، برای افزودن apache2.4 بطریق زیر عمل کنید:
مرحله ی اول: پکیج را به مخزنِ apt
اضافه میکنیم.
sudo add-apt-repository ppa:ondrej/apache2
بعد از وارد کردن دستور بالا، اطلاعاتی در مورد پکیجی که میخواهید اضافه کنید، نمایش داده میشود. برای ادامه کار روی Enter بزنید.
مرحله ی دوم: حالا باید apt
را بروزرسانی کنیم تا آخرین نسخه ی Apache هم شناسایی شود.
sudo apt-get update
مرحله ی سوم: با توجه به مرحله اول و update صورت گرفته در مرحله دوم، میتوانیم آخرین نسخه ی Apache را نصب کنیم.
sudo apt-get install apache2
بعد از اینکه نصب آپاچی به پایان رسید، آپاچی run میشود. کافیست مرورگر را باز کرده و localhost را تایپ کنید.
برای اطلاع از وضعیت آپاچی(یعنی متوجه بشید استارت هست یا خیر) از کامند زیر استفاده کنید:
sudo service apache2 status
همچنین برای اینکه بتوانید Apache را restart کنید، از دستور زیر استفاده کنید: (stop و start هم به این شکل است.)
sudo service apache2 restart
اگر میخواهید ورژن آپاچی را چک کنید، از کامند زیر استفاده کنید:
apache2 -v
سؤال: مگر میشود بدون اینکه مفسر PHP را نصب کنیم، localhost باز شود؟
پاسخ: localhost ربطی به مفسر PHP ندارد. همانطور که در مقاله ی اول توضیح دادیم، زمانی که در مرورگر آدرسی را وارد میکنیم، ابتدا مرورگر بدنبال آیپی آن آدرس میگردد و توضیح دادیم که از کجاها آیپی را پیدا میکند. یکی از اون مکان ها، فایل Host داخل سیستم عامل هست. یعنی قبل ازینکه به DNS Serverها درخواست را بفرستد، به فایل Host هم نگاه میکند تا شاید آنجا چیزی پیدا کند. در فایل Host تنظیم شده، هروقت localhost صدا زده شد، آیپی آن 127.0.0.1 میباشد. این فایل به شکل زیر است:
127.0.0.1 localhost
::1 localhost
::1
آیپی ورژن 6 میباشد.
میتوانید ping localhost
را اجرا کنید و ببینید به کدام آیپی اشاره میکند.
حالا مرورگر آیپی 127.0.0.1 پیدا کرده، بنابراین درخواست HTTP به سمت کامپیوتر خودمان ارسال میشود، و ازآنجایی که ما روی سیستم وب سرور Apache را نصب و start کرده ایم، پس وب سرور، درخواست مرورگر را دریافت میکند.
در ادامه ی کار، چون آخر آدرس، صفحه ای را ذکر نکردیم، با توجه به تنظیمات پیش فرض Apache، این وب سرور دنبال صفحه ی index.html میگردد.
بنابراین، بخاطر اینکه صفحه index.html یک صفحه ی استاتیک است، پس به مفسر PHP احتیاجی نیست و در نتیجه وب سرور Apache محتوای این فایل را بعنوان پاسخ، به مرورگر برمیگرداند.
صفحه ای که در تصویر بالا میبینید، صفحه ی index.html است.
سؤال: صفحه ی index.html کجا قرار دارد؟
پاسخ: با توجه به تنظیمات آپاچی، این فایل در مسیر /var/www/html
قرار دارد.
cd /var/www/html ls
سؤال: آیا میتوان نام localhost را تغییر داد؟
پاسخ: بله. در همان فایل Host میتوان هر نام دیگری بجای localhost قرار داد. حتی دامین یک سایت.
قبل از ادامه ی کار، مجوزهای لازم را به پوشه ی www
بدهیم:
sudo chmod -R 755 /var/www
sudo chown -R <username>:<username> /var/www
نصب Mysql:
برای نصب Mysql از کامند زیر استفاده کنید:
sudo apt-get install mysql-server
در حین نصب، پنجره ای باز میشود و از شما پسوردی برای یوزر root
میخواهد. پسوردی وارد کنید.
این پسوردی است که زمان نصب PHPMyAdmin و کار با Mysql از شما پرسیده خواهد شد. پس به یاد داشته باشید.
نصب PHP:
آخرین ورژن PHP را به apt
اضافه کنید و پس از update، آنرا نصب کنید:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.1
بعد از اتمام نصب، چند ماژول را با استفاده از دستور زیر نصب کنید:
sudo apt-get install libapache2-mod-php7.1 php7.1-mysql php7.1-curl php7.1-json
همچنین اگر به ماژولهای دیگری برای نصب روی PHP 7 نیاز دارید، میتوانید با استفاده از دستور زیر، لیست ماژولهای قابل نصب رو ببینید:
sudo apt-cache search php7-*
خب، داخل مسیر /var/www/html
یک فایل info.php ایجاد میکنیم و کد زیر را قرار میدهیم:
<?php
phpinfo();
آدرس localhost/info.php
را در مرورگر وارد کنید.
خروجی دستور بالا، اطلاعاتی در مورد نسخه ی PHP و ماژولهای نصب شده و کانفیگ آن و ... به ما نشان میدهد.
در پایان، برای مدیریت دیتابیس، آخرین نسخه ی منتشر شده ی PHPMyAdmin را نصب میکنیم:
sudo add-apt-repository ppa:nijel/phpmyadmin sudo apt-get update sudo apt-get install phpmyadmin
در پایان نصب، دستور زیر را وارد کنید تا فایل کانفیگ Apache باز شود:
sudo nano /etc/apache2/apache2.conf
با کلیدهای ترکیبی ctrl + w + v
به انتهای فایل رفته و عبارت زیر را اضافه کنید:
Include /etc/phpmyadmin/apache.conf
برای ذخیره ی تغییرات در فایل apache2.conf و خروج از فایل از کلیدهای ترکیبی ctrl + x
استفاده کنید و y
را وارد و Enter کنید.
حالا آپاچی را restart کنید:
sudo service apache2 restart
برای باز کردن صفحه ی phpmyadmin کافیست آدرس localhost/phpmyadmin
را در مرورگر وارد کنید.
یوزرنیم root
میباشد و پسورد، همان پسوردی است که در حین نصب Mysql وارد کرده اید.
اسلاید مقاله قسمت اول (ویندوز):لینک اسلاید
اسلاید مقاله قسمت دوم (اوبونتو): لینک اسلاید