نوشته‌ها

آموزش نصب وب سرور Nginx بر روی CentOS

 

 

انجین ایکس ( Nginx ) یکی از وب سرور هایی است که به تازگی بسیاری از مدیران سایت های پربازدید را به سوی خود جلب نموده است. انجین ایکس علاوه بر وب سرور، ریورس پراکسی سرور ( reverse proxy server ) و میل پراکسی سرور ( mail proxy server ) نیز می باشد که  بصورت متن باز ( open source ) ارائه شده است و از پروتکل های http , https , SMTP , POP3 و IMAP پشتیبانی می کند. انجین ایکس به گونه ای طراحی شده است که همزمان با پشتیبانی از تعداد کانکشن های بسیار بالا ، عملکرد مناسب و مصرف کم رم را به همراه داشته باشد. این وب سرور محبوب بر روی سیستم عامل های مختلفی از جمله لینوکس ، mac os و سولاریس قابل نصب می باشد. nginx توسط ایگور سیسویو ( igor sysoev ) ساخته شده است، ایگور در سال ۱۹۷۰ در شهر آلماتی قزاقستان به دنیا آمده است و فارغ التحصیل دانشگاه ایالتی مسکو می باشد.

کار ساخت nginx از سال ۲۰۰۲ آغاز گردید و اولین نسخه آن در سال ۲۰۰۴ منتشر گردید. در حال حاضر نزدیک به ۱۲ درصد وب سایت های جهان یعنی چیزی در حدود ۲۲ میلیون وب سایت از nginx به عنوان وب سرور خود استفاده می کنند.

چگونه وب سرور Nginx را بر روی سرور لینوکس خود نصب نمائیم؟

خوشبختانه مدتی است که nginx پکیج باینری آن را از طریق ریپازیتوری nginx ارائه نموده است که این مهم نصب آن را بسیار تسهیل می نماید. در ادامه مراحل نصب آن را مرور می نمائیم:

– مرحل اول: نصب nginx repo

ابتدا دستور زیر را وارد نمائید:

اگر از نسخه centos 6 استفاده می کنید، دستورات زیر را وارد نمائید:

 – مرحله دوم: نصب وب سرور nginx

پس از نصب ریپو می توانید به کمک دستور زیر nginx را نصب نمائید:

احتمالا خروجی زیر را بر روی کنسول دریافت خواهید کرد:

– مرحله سوم : راه اندازی وب سرور

در این مرحله می بایست به کمک دستور زیر وب سرور را فعال نمائید:

از دستورات زیر نیز می توانید برای متوقف کردن ، فعال کردن مجدد و یا مشاهده وضعیت آن استفاده فرمائید:

– مرحه چهارم : کانفیگ وب سرور

مسیر فایل های کانفیگ انجین ایکس را می توانید در زیر بیابید:

دستور زیر را برای ویرایش تنظیمات وب سرور وارد نمائید:

تعداد پردازشگر را اصلاح نموده و gzip را فعال نمائید:

فایل را بسته و فایل زیر را باز نمائید:

نام سرور ، ای پی و پورت tcp را تنظیم نمائید:

فایل را بسته و دستور زیر را اجرا نمائید:

به کمک دستورات زیر بررسی کنید که آیا nginx بدرستی عمل می کند یا خیر:

– مرحله پنجم : تنظیمات فایروال

فایل iptables را باز نمائید:

برای بازنمودن پورت ۸۰ خط زیر را قبل از LOG انتهایی و خط DROP مربوط به INPUT chain قرار دهید:

دستور زیر را وارد نمائید:

– نصب وب سرور nginx بر روی دایرکت ادمین ( Directadmin ) :

اگر بر روی سرور خود دایرکت ادمین را نصب نموده اید و می خواهید از وب سرور انجین ایکس استفاده کنید، پس از اتصال به کنسول به مسیر زیر مراجعه نمائید:

در اینجا می بایست نسخه ۲ custombuild دایرکت ادمین را نصب کنید که البته از آنجایی که نسخه پایدار نمی باشد، ممکن است مشکلاتی را نیز به همراه داشته باشد، در صورت تمایل می توانید مراحل زیر را اجرا نمائید:

حال با وارد کردن دستور زیر می توانید ویرایش custombuild را ملاحظه نمائید:

نتیجه باید به شرح زیر باشد:

حال مقدار وب سرور را از آپاچه ( Aapche ) به nginx تغییر دهید:

همچنین مقدار php1_mode را به php-fpm تغییر دهید:

حال دستور زیر را وارد نمائید:

در این مرحله احتمال دارد که نیاز به آپدیت لایسنس دایرکت ادمین وجود داشته باشد که در صورت نیاز می توانید از لینک زیر استفاده کنید:

با وارد کردن دستور زیر مراحل به اتمام خواهد رسید:

توجه :
خطا ۵۰۲ : اگر خطای “۵۰۲ Bad Gateway” را دریافت کردید، احتمالا مقدار hostname بدرستی وارد نشده است و می بایست اصلاح گردد.

خطای ۵۰۳ : اگر با این خطا روبرو شدید، دستور زیر را در سرور وارد نمائید:

 

آشنایی با PhpMyAdmin و نسخه های مختلف آن

PhpMyAdmin ( پی اچ پی مای ادمین ) یک نرم افزار Web Based نوشته شده به زبان PHP به منظور فراهم آوردن یک Interface کامل برای مدیریت دیتابیس های MySQL است که از ابتدا به عنوان یک پروژه Open Source توسعه یافته و به ۸۰ زبان زنده دنیا ترجمه شده است. بزرگترین کمپانی های هاستینگ و توسعه دهندگان کنترل پنل هایی نظیر cPanel و Directadmin این نرم افزار را بر روی سرورهای خود نصب نموده و استفاده از آن را به کاربران خود توصیه می کنند.

بوسیله PhpMyAdmin می توان دستورات اصلی MySQL را بر روی دیتابیس های موجود در سرور اجرا نمود. در ادامه برخی از ویژگی های این نرم افزار قدرتمند و محبوب را با هم مرور می کنیم.

  • Create و Drop کردن دیتابیس
  • مدیریت دیتابیس های MySQL ( مای اس کیو ال ) و MariaDB ( ماریا دی بی )
  • Import دیتابیس در فرمت های SQL و CSV یا بصورت فایل فشرده
  • بک آپ گیری از دیتابیس در فرمت های CSV ، SQL ، XML و PDF
  • مدیریت یکپارچه چندین سرور
  • مدیریت کاربران و سطح دسترسی آنها
  • جستجو سراسری در تمامی دیتابیس ها
  • نمایش میزان Connection ها و مصرف CPU/Memory بصورت نمودارهای گرافیکی
  • Cross-Platform بودن و نصب بر روی سیستم عامل های مختلف

آنچه تا کنون درباره آن صحبت کردیم خلاصه ای از ویژگی ها کلی PhpMyAdmin بوده است. در ادامه با ویژگی های این نرم افزار در نسخه های مختلف آشنا می شویم.

نسخه های مختلف PhpMyAdmin و ویژگی های آنها

در بخش قبل به اختصار با برخی از قابلیت های PhpMyAdmin آشنا شدیم. در این قسمت بصورت دقیق تر به تفاوت نسخه های مختلف و Feature های اضافه شده در هر نسخه می پردازیم.

آخرین نسخه منتشر شده توسط تیم پشتیبانی این نرم افزار ، نسخه ۴٫۶ می باشد. در ادامه تفاوت نسخه های مختلف از نسخه ۳٫۰ تا ۴٫۶ آورده شده است.

PhpMyAdmin 3.0
نسخه ۳٫۰ در سال ۲۰۰۸ معرفی شده و برای نصب آن نیاز به PHP 5.2 و MySQL 5+ می باشد. نصب این نسخه به هیچ عنوان پیشنهاد نمی گردد چرا که دارای ضعف های امنیتی متعددی بوده و توسط تیم برنامه نویسی و توسعه پشتیبانی نمی گردد.

PhpMyAdmin 3.5
با آپگرید به نسخه ۳٫۵ قابلیت های زیادی به PhpMyAdmin اضافه خواهد شد. از برخی از این قابلیت ها می توان به استفاده از تکنولوژی AJAX در انجام Task های مختلف ، معرفی Theme جدید و بهبود مانیتورینگ MySQL Server از طریق بخش Status اشاره نمود. استفاده از Synchronization جهت همسان سازی ۲ دیتابیس هم بصورت لوکال و هم بصورت ریموت از دیگر موارد اضافه شده در این نسخه می باشد.

PhpMyAdmin 4.0
حذف Synchronization را می توان یکی از اساسی ترین تغییرات این نسخه به شمار آورد. البته این بدان معنا نیست که امکان همسان سازی ۲ دیتابیس از PhpMyAdmin حذف شده است ، بلکه با عرضه این نسخه می توان ۲ دیتابیس را از طریق Replication با یکدیگر همسان نمود. قابلیتی که در نسخه ۳٫۵ نیز وجود داشت اما بصورت آزمایشی بوده و حالا در نسخه ۴٫۰ تکمیل و به مرحله اجرا رسیده است.

اضافه شده بخش تغییر کلمه عبور در صفحه اصلی و رفع ضعف های امنیتی متعدد از دیگر تغییرات این نسخه می باشد.

از نسخه ۴ به بعد امکان طراحی ساختار دیتابیس بوسیله ابزار گرافیکی Designer فراهم شده است. این Feature بصورت پیش فرض فعال نمی باشد. برای فعال سازی آن می توانید به شکل زیر اقدام کنید :

بسته به تنظیمات سرور خود به این مسیر بروید:

حال این تغییرات را اعمال نمایید:

فراموش نکنید حتما به کاربر pma کلمه عبور اختصاص دهید تا افراد دیگر قادر به مشاهده دیزاینر مد نباشند.

حال نام دیتابیس ها را تغییر دهید . همچنین به این نکته توجه داشته باشید که اسم جدول ها به بزرگی و کوچکی حروف حساس هستند.

در انتها باید یک اسکریپت sql که در مسیر زیر یافت می شود را اجرا نمایید:

به سادگی پس از اجرای این sql توسط ابزار import در phpmyadmin جداول و دیتابیس های بالا ایجاد می گردد.

PhpMyAdmin 4.4
برای نصب این ورژن نیاز به PHP 5.3 و MySQL 5.5+ می باشد. بخش Recent و Favorites که به ترتیب نمایش دهنده آخرین دستورات اجرا شده و Favorite Table می باشند در این نسخه به PhpMyAdmin اضافه شده اند. همچنین در این نسخه Designer بصورت پیش فرض فعال می باشد. قابلیت Ajax در هنگام اضافه نمودن Table جدید نیز حذف شده است.

Feature جدیدی نیز با نام Console در این نسخه اضافه شده است (با آیکن ترمینال و نام Console در پایین صفحه سمت چپ قابل مشاهده می باشد) که بوسیله آن می توان دستورات MySQL را بصورت Interactive اجرا نمود. تنها کافیست کوئری خود را در باکس مشخص شده وارد نموده و برای اجرای آن CTRL+ENTER را فشار دهید.

PhpMyAdmin 4.6
آخرین نسخه Stable و قابل نصب نیاز به PHP 5.5 بر روی سرور دارد. پشتیبانی از نسخه ۶ مرورگر IE به اتمام رسیده و یک Directive جدید به نام ssl_verify جهت رفع مشکل گواهی نامه های self-signed معرفی شده است که برای استفاده از آن می بایست نسخه PHP را به ۵٫۶ ارتقا داد. از دیگر تغییرات می توان به قابلیت بررسی Syntax کوئری های وارد شده در Console ، رفع مشکل تغییر کلمه عبور در دیتابیس های MariaDB و امکان پشتیبانی از JSON اشاره نمود.

تب جدیدی نیز با نام Plugins ایجاد شده که نشان دهنده اطلاعات تکمیلی در خصوص پلاگین های نصب شده بر روی MySQL Server می باشد.

نصب PhpMyAdmin

حال که با تفاوت نسخه های مختلف آشنا شدیم به سراغ نصب PhpMyAdmin می رویم. جهت نصب PhpMyAdmin تنها می بایست فایل مورد نظر را از سایت رسمی آن دانلود و برخی تغییرات را در تنظیمات وب سرور اعمال نماییم.

نصب بر روی آپاچی
ابتدا نسخه مورد نظر را از طریق لینک زیر بر روی سرور دانلود می نماییم:

معمولا مدیران سرور PhpMyAdmin را در یکی از مسیرهای زیر نصب می کنند.

مشکلی در خصوص نصب در مسیرهای دیگر وجود ندارد و تنها می بایست پس از Extract نمودن فایل اقدام به اعمال تغییرات در وب سرور نماییم.

مسیر پیش فرض نصب سرویس آپاچی etc/httpd/ می باشد. اما چنانچه فایلی در این مسیر وجود نداشت می توان از طریق دستورات زیر فایل های تنظیمات آپاچی را پیدا نمود.

حال با یکی از نرم افزار های ویرایش متن وارد فایل تنظیمات شده و Alias مورد نظر را ایجاد نماییم. این مورد را با یک مثال بر روی سیستم عامل CentOS بررسی می کنیم.

همان طور که مشاهده می نمایید در مثال بالا برای پوشه phpMyAdmin قرارگرفته در مسیر var/www/html/ یک Alias تعریف نموده ایم. در آخر نیز سرویس آپاچی را ریستارت می کنیم.

در نتیجه با وارد نمودن آدرس http://server-ip/phpmyadmin در مرورگر محتویات این پوشه نمایش داده خواهد شد.

نصب در DirectAdmin
تنها تفاوت نصب در دایرکت ادمین با بخش قبلی مسیر فایل تنظیمات وب سرور می باشد. تنظیمات Alias در دایرکت ادمین در فایل دیگری به مسیر زیر ذخیره می گردد.

نسخه پیش فرض PhpMyAdmin نصب شده بوسیله Custombuild 1 برابر با ۴٫۰ می باشد که می توان آن را بصورت Manual ارتقا داد. ضمنا با آپگرید Custombuild به نسخه ۲ و اجرای دستور build update/. آخرین نسخه PhpMyAdmin بر روی سرور نصب خواهد شد.

نصب در cPanel
مسیر قرار گیری phpMyAdmin در سی پنل بصورت زیر می باشد. فایل phpMyAdmin را دانلود و در این مسیر extract می نماییم.

نسخه پیش فرض نصب شده بر روی cPanel 12 ، نسخه ۴٫۰ به همراه PHP 5.6 می باشد.

نصب بر روی Nginx
نصب بر روی انجینیکس مستلزم انجام بعضی تغییرات بر روی سرور می باشد.بصورت پیش فرض Nginx در مسیر etc/nginx/ نصب می گردد.

ابتدا مسیر اصلی قرار گیری فایل های وبسایت خود را مشخص می نماییم .

همانند تنظیمات آپاچی فایل PhpMyAdmin را دانلود و در یکی از مسیرهای مشخص شده Extract می کنیم.سپس Alias مورد نظر را در فایل default ایجاد می کنیم.

در آخر نیز سرویس nginx را ریست می کنیم.

چنانچه در هنگام لود فایل های PHP در Nginx با مشکل عدم نمایش این نوع فایل ها مواجه شده و در عوض باکس دانلود فایل نمایش داده شد ، می بایست تغییرات زیر را در فایل default( و یا فایل تنظیمات nginx برای وبسایت مربوطه) اعمال نماییم(تغییرات زیر بر روی Nginx 1.10 و PHP7.0 انجام شده است)

تنظیمات کامل Nginx برای اجرای فایل های PHP و اتصال به دیتابیس از طریق PhpMyAdmin به شکل زیر می باشد.