نصب و تنظیم اوبونتو سرور به صورت سندباکس (قسمت چهارم)

در قسمت قبلی به تنظیم مای‌اس‌کیوال و پی‌اچ‌پی پرداختیم. در تنظیمات انجام شده به راحتی قادر خواهید بود تا اکثر کدهای نوشته شده با زبان پی‌اچ‌پی را که به پایگاه داده مای‌اس‌کیوال متصل اند را اجرا کنید. سرور فوق حالا تقریبا به یک سرور کامل مبدل گشته است که علاوه بر امکان ارسال پیغام به وسیله رایانامه قادر به اتصال به پایگاه داده  اسکیو‌لایت نیز هست. در این قسمت در ابتدا یک پیشخوان برای سندباکس ایجاد خواهیم کرد که با مراجعه به آن تمامی نرم‌افزارهای مبتنی بر وب و مابقی موارد دلخواه در آن قابل دسترسی باشند. در این مطلب قصد نداریم به آموزش زبان پی‌اچ‌پی بپردازیم؛ بنابراین به آموزش کدهای نوشته شده در این مقاله نیازی نیست و فقط کافی است کدهای نوشته شده را در سرور خود قرار دهید تا به راحتی بتوانید به قسمت‌های مختلف سرور خود دسترسی داشته باشید.

ساخت یک پیشخوان

پیشنهاد می‌شود، فایل پی‌اچ‌پی پیشخوان را در شاخه اصلی سرور یعنی همان پوشه به اشتراک گزاری شده که در قسمت‌های قبل آموزش دادیم؛ ذخیره کنید. سپس پوشه‌های دیگری را درون آن و بر اساس نام پروژه یا وب‌سایت در حال توسعه ساخته و پیوند به آن پوشه‌ها را هم در داخل این پیشخوان قرار دهید. همچنین می‌توانید این فایل را در پوشه‌ای با نام پیشخوان یا سندباکس ریخته و فایل شاخص در سرور خود را با نوشتن دستوراتی به این فایل انتقال دهید.

در فرآیند ساخت و ایجاد این فایل نیاز به  نصب برخی ابزار و نرم‌افزارها مانند پی‌اچ‌پی مای‌ادمین خواهید داشت؛ که نصب این ابزار و نرم‌افزارها برای اجرای این فایل کمک بزرگی خواهند بود. این فایل از یک بانک اطلاعاتی استفاده می‌کند که تمامی پیوندها به همراه اطلاعات مورد نیازشان در آن ذخیره شده‌است و برای درج موارد جدید به پیشخوان تنها کافی است بانک اطلاعاتی مرتبط با پیشخوان را ویرایش کرده و موارد دلخواه را به آن افزوده یا حذف کنید.

نصب پی‌اچ‌پی مای‌ادمین «PHPMyAdmin»؛

پی‌اچ‌پی مای‌ادمین یک نرم‌افزار مبتنی بر وب متن‌باز / آزاد است که در سیستم‌عامل گنو/لینوکس و اکثر توزیع‌های مطرح به راحتی قابل نصب است. نحوه کار این نرم‌افزار به شکلی است که اگر آدرس سرور را به همراه عبارت پی‌اچ‌پی مای‌ادمین «phpmyadmin» بنویسید؛ وارد صفحه‌ای خواهید شد که با نوشتن نام کاربری و رمز عبور مای‌اس‌کیوال به شما اجازه ساخت و ویرایش جداول و … را می‌دهد. همچنین ابن ابزار علاوه بر امکان حذف و ویرایش و مدیریت گرافیکی مای‌اس‌کیوال، نرم‌افزار خوبی برای رفع ایراد و مشکلات بانک‌های اطلاعاتی و کدهای نوشته شده برای دسترسی و ویرایش اطلاعات هستند. به شکلی که با دسترسی به این ابزار می‌توان مشکلات احتمالی در کدهای نوشته شده و حتی بانک اطلاعاتی را به شکلی ساده مشاهده کنید.

در ابزار تحت وب پی‌اچ‌پی مای‌ادمین به‌علاوه اینکه دسترسی گرافیکی و ساده‌ای را برای ویرایش، ایجاد و حذف اطلاعت و جداول در اختیار دارید؛ همواره خواهید توانست با استفاده از نوشتن دستورات و پرس‌وجوی اس‌کیوال، اطلاعات و بانک اطلاعاتی خود را ویرایش و تغییر دهید. برای نصب این ابزار، ابتدا ماشین مجازی سندباکس را اجرا کنید و بعد از اینکه سیستم‌عامل گنو/لینوکس توزیع اوبونتو (عبارت سیستم‌عامل اوبونتو صحیح نیست) به طور کامل اجرا شد؛ دستور زیر را برای اتصال به آن اجرا کنید. (جهت یادآوری)

ehsan@ETARCH ~ % ssh sandbox.dev
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-57-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
Last login: Mon Jul 27 20:47:34 2015 from 10.0.2.2
ehsan@sandbox ~ %

بعد از ورود به  توزیع اوبونتو نگارش سرور و نمایش اعلان سیستم؛ دستور زیر را اجرا کنید تا بسته‌نرم‌افزاری مورد نظر از طریق ابزار متنی ای‌پی‌تی «APT» نصب شود.

ehsan@sandbox ~ % sudo apt-get install -y phpmyadmin

بعد از نوشتن دستور بالا، برخی تنظیمات برای اجرای صحیح این ابزار در سیستم، نمایش داده خواهند شد. این تنظیمات را به شکل زیر تکمیل کنید. در مرحله اول بر روی آپاچی کلید فاصله «Space» را فشار داده و با زدن کلید «TAB» و فشردن بر دکمه اینتر «Enter»، وارد مرحله بعدی شوید.

sandbox-begeiners-01در این مرحله که مرتبط با ساخت یک بانک اطلاعاتی جهت ذخیره تنظیمات این نرم‌افزار است، نیز پیغام نمایش داده شده را به صورت پیش‌فرض رها کرده و فقط دکمه اینتر را فشار داده تا وارد مرحله بعدی شوید.

sandbox-begeiners-02در کادر نمایش داده شده، گذرواژه کاربر ریشه و مدیر مای‌اس‌کیوال را وارد کنید و سپس با فشردن کلید اینتر وارد مرحله بعدی شوید. در کادر به نمایش درآمده داخل پیغام بعدی نیز، باید گذرواژه کاربر مدیر را وارد کنید؛ این کار باعث دسترسی به تمامی بانک‌ها و کاربران خواهد بود. در این مرحله با خالی گذاشتن گذرواژه، کلید TAB را فشار داده و بر روی گزینه تایید «OK» کلید اینتر  «Enter» از صفحه‌کلید را فشار دهید. در اینجا ما برای نام کاربری مدیر «admin» در ابزار پی‌اچ‌پی مای‌ادمین از گذرواژه استفاده نکرده‌ایم اما برای مای‌اس‌کیوال از گذرواژه «root» با حروف کوچک استفاده کرده‌ایم. در مجموع در این مرحله که کادری مشابه کادر زیر است؛ گذرواژه را وارد خواهید کرد که ما آن را به شکل خالی رها کرده و تایید می‌کنیم. این کار در یک سندباکس به صورت محلی و برای راحتی کار در هر بار دسترسی به نرم‌افزار پی‌اچ‌پی مای‌ادمین گزینه معقولی است؛ اما برای استفاده و کاربرد تجاری، گذرواژه‌ها باید ترکیبات پیچیده‌ای از حروف و ارقام باشند.

sandbox-begeiners-03مجددا عرض می‌کنم که تنظیمات فوق هرگز برای یک محیط تجاری و یک سرور واقعی مناسب نیستند؛ اما برای یک سندباکس و سرور محلی تنظیمات خوبی هستند. بعد از آنکه این تنظیمات با موفقیت به پایان رسید؛ دستور زیر را در خط فرمان اجرا کنید تا برخی تنظیمات آن را به شکل دستی انجام دهیم.

ehsan@sandbox ~ % sudoedit /etc/phpmyadmin/config.inc.php

سپس زمانی که ویرایشگر نانو باز شد، با کلید‌های CTRL + W به دنبال عبارت «Authentication Type» بگردید. در خطوط یافت شده عبارت «cookie» را به «config» تغییر دهید. (مشابه شکل زیر)

sandbox-begeiners-04سپس در همان خطی که هستید؛ از کلید‌های «CTRL + K» برای برش آن خط استفاده کنید و با استفاده از کلیدهای «CTRL + U»، کدها را سه مرتبه مجددا درج‌کنید تا مانند تصویر زیر سه خط مشابه هم در تنظیمات ایجاد شود.

sandbox-begeiners-05خطوط دوم و سوم را نیز به خطوط زیر تغییر دهید. برای این‌کار باید موارد مذکور را کمی تغییر دهید.

    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'root';

بعد از ذخیره فایل فوق؛ تنظیمات پی‌اچ‌پی مای‌ادمین تقریبا به پایان رسیده‌است. تنظیمات آخر برای تنظیم ابزار فوق برای دسترسی بدون نوشتن نام‌کاربری و گذرواژه انجام شد که باعث دسترسی سریع‌تر به ابزار فوق می‌شود. مجددا تذکر می‌دهم که این تنظیم را در یک سرور واقعی انجام ندهید. بعد از آنکه آدرس زیر را در مرورگر وارد کنید با صفحه تصویر زیر مواجه خواهید شد.

sandbox-begeiners-06بعد از آنکه صفحه‌ای مشابه با تصویر بالا را مشاهده کردید و خطای خاصی مشاهده نشد. باید دو بانک اطلاعاتی را توسط پی‌اچ‌پی مای‌ادمین ایجاد کنیم که برای کارهای بعدی مورد نیازمان خواهد بود. اولین بانک اطلاعاتی، بانک اطلاعاتی پیشخوان است و دومین بانک اطلاعاتی را برای قرار دادن جداول مورد نیاز خود خواهیم ساخت. در ابتدا بیایید با نوشتن یک کوئری اس‌کیوال، لیستی از تمامی کاربران در مای‌اس‌کیوال را مشاهده نماییم. برای این کار در نرم‌افزار پی‌اچ‌پی مای‌ادمین و از گزینه‌های بالای صفحه بر روی پیوند «SQL» کلیک کنید. در کادر نمایش داده شده؛ دستورات زیر را وارد کنید. برای از بین بردن دستورات موجود در این کادر بر روی دکمه «Clear» کلیک کنید تا کادر کاملا خالی شود؛ سپس فرامین زیر را بنویسید.

USE mysql;
SELECT DISTINCT(user) FROM user;

بعد از اجرای دستور فوق و کلیک بر روی دکمه رفتن «Go» لیستی از کاربران موجود در مای‌اس‌کیوال نمایش داده خواهد شد.

sandbox-begeiners-07

ساخت جداول و کاربران مورد نیاز در سندباکس؛

حال که نرم‌افزار پی‌اچ‌پی مای‌ادمین برای ایجاد بانک اطلاعاتی را در اوبونتو سرور نصب کردید؛ باید از طریق پی‌اچ‌پی مای‌ادمین دو کاربر جدید و دو بانک اطلاعاتی همنام با پایگاه‌های داده ایجاد شده را ایجاد کنیم. (بانک اطلاعاتی و پایگاه داده تقریبا به مفهوم مشابهی اشاره دارند.) این دو بانک اطلاعاتی همانطور که ذکر شد؛ با نام‌های پیشخوان و سندباکس برای نگاهداری اطلاعات و مقادیر پیشخوان و دیگر موارد مورد نیاز در ادامه آموزش ساخته می شوند. هر یک از این بانک‌ها توسط کاربر همنام خود قابل تغییر و دستیابی هستند که برای سهولت استفاده از گذرواژه یکسان با نامشان برخوردار خواهند بود. البته می‌توانید از گذرواژه دلخواه خود نیز بهره گیرید. برای ساخت کاربر اول از طریق صفحه «Query» با پرس‌وجوهایی که در آن توانستیم لیستی از کاربران را مشاهده کنیم؛ دستورات زیر را اجرا کرده و با دستور زیر یک کاربر با نام سندباکس ایجاد می‌کنیم بعد از این کار یک بانک‌اطلاعاتی همنام را نیز ایجاد می‌کنیم که کاربر فوق تنها قادر به دسترسی به این بانک اطلاعاتی خواهد بود.

CREATE USER 'sandbox'@'%' IDENTIFIED BY 'sandbox';

GRANT USAGE ON * . * TO 'sandbox'@'%' IDENTIFIED BY 'sandbox' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE DATABASE IF NOT EXISTS `sandbox` ;

GRANT ALL PRIVILEGES ON `sandbox` . * TO 'sandbox'@'%';

برای ایجاد کاربر پیشخوان از دستورات مشابه با دستور بالا استفاده خواهیم کرد. در این موقع هر آنچه با عبارت سندباکس وجود دارد را به عبارت پیشخوان تغییر می‌دهیم. با استفاده از پی‌اچ‌پی مای‌ادمین و به صورت گرافیکی نیز می‌توان تمامی مواردی که به صورت کوئری اس‌کیوال نوشته شده‌است را انجام داد. با وجود اینکه آموزش گرافیکی در یک مطلب آموزشی، بسیار دشوارتر است؛ از کدهای آن استفاده کرده‌ایم. اما در صورت دلخواه خود می‌توانید از ابزارهای گرافیکی مانند مای‌اس‌کیوال ورک‌‌برنچ یا پی‌اچ‌پی مای‌ادمین نیز استفاده کنید.

CREATE USER 'dashboard'@'%' IDENTIFIED BY 'dashboard';

GRANT USAGE ON * . * TO 'dashboard'@'%' IDENTIFIED BY 'dashboard' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE DATABASE IF NOT EXISTS `dashboard` ;

GRANT ALL PRIVILEGES ON `dashboard` . * TO 'dashboard'@'%';

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

FLUSH PRIVILEGES;

بعد از آنکه کاربران فوق با موفقیت به مای‌اس‌کیوال افزوده شدند، می‌توانید از طریق پیشخوان، پیوندهای مورد نیاز به بخش‌های مختلف سرور را با ساخت یک جدول و درج مقادیر مورد نیاز انجام دهید. ابتدا ما در بانک‌اطلاعاتی پیشخوان یک جدول ساخته و مقادیر دلخواه را در آن وارد می‌کنیم. برای ساخت جدول نیز از طریق همان بخش کوئری، دستورات زیر را وارد کنید تا جدول فوق ساخته شود.

CREATE TABLE shortcuts(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
path VARCHAR( 255 ) ,
label VARCHAR( 255 ) 
);

بعد از ساخت جدول، با استفاده از پی‌اچ‌پی مای‌ادمین یا ابزار دیگر قادر خواهید بود مقادیری را به آن بیفزایید. با این حال به دلیلی که ذکر شد در این آموزش از دستورات اس‌کیوال استفاده خواهیم کرد. پس برای افزودن مقادیر جدید در یک جدول از یک بانک اطلاعاتی از دستورات اس‌کیوال استفاده خواهیم کرد. به عنوان نمونه  با دستور زیر فایل «phpinfo» واقع در آدرس مشخص شده را به پایگاه داده می‌افزاییم. این کار باعث می‌شود که آدرس و برچسبی برای این صفحه در پیشخوان ساخته شود و بعدا اگر کدی برای این بانک اطلاعاتی نوشته شد؛ با کلیک بر روی پیوندی با عنوان برچسب و آدرس مشخص شده به آن آدرس مراجعه کنیم که در این‌جا برچسب و آدرس برای صفحه اطلاعات پی‌اچ‌پی است که در قسمت قبل آن را ایجاد کرده‌ایم.

INSERT INTO `dashboard`.`shortcuts` (
`id` ,
`path` ,
`label`
)
VALUES (
NULL , '/phpinfo.php', 'PHP Informations'
);

همانطور که ذکر شد؛ تمامی اعمال فوق را می‌توان توسط پی‌اچ‌پی مای‌ادمین و به صورت گرافیکی انجام داد. با این حال همواره می‌توانید کد بالا را برای هر بار افزودن پیوند جدید اجرا کنید. یا اینکه  با استفاده از پی‌اچ‌پی صفحه‌ای را برای درج مقادیر جدید بنویسید که بسته به سلیقه خود می‌توانید یکی از این کارها را انجام دهید.نوشتن یک صفحه جدید برای افزودن مقادیر به پیشخوان کار تقریبا ساده‌ای است و با نوشتن یک فایل پی‌اچ‌پی ساده که دستور اس‌کیوال بالا را اجرا می‌کند؛ خواهید توانست چنین صفحه‌ای را ایجاد کنید. یکی از دلایلی که در این آموزش به جای راه حال گرافیکی از دستورات اس‌کیوال استفاده شده است نیز همین مورد است. در این آموزش شما می‌توانید با استفاده از دستورات اس‌کیوال نوشته شده صفحات و یا اسکریپت دلخواه خود را برای انجام کارهای تکراری بنویسید.

دریافت و تنظیم ساده ابزار اطلاعات سرور از گیت‌هاب؛

برای آنکه یک ابزار را نصب کنید یا باید از مخازن نصب شود یا اینکه از طرق مختلفی اقدام به نصب آن کنید. برخی موارد ابزارها در اینترنت و پایگاه اینترنتی گیت‌هاب قرار دارند. ابزار اطلاعات سرور، ابزاری است که در گیت‌هاب قرار دارد و برای نمایش اطلاعات سرور به کار می‌رود. برای اجرای آن ابتدا باید آن را بارگیری کرد. در این صورت شما نیاز به نصب ابزار گیت برای بارگیری ابزار فوق دارید که آن را با دستور زیر نصب خواهید کرد. اگر ابزار فوق نصب شود باید برنامه از گیت‌هاب بارگیری شود و سپس به پوشه مورد نظر می ‌رویم تا ببینیم چه چیزی در آن وجود دارد.

بعد از آنکه کد فوق بارگیری شد، و به پوشه مورد استفاده در آپاچی منتقل شد. سپس با استفاده از روش بالا، آدرس آن را در جدول میانبرها وارد می‌کنیم تا بتوانیم آن را به پیشخوان اضافه کنیم. این کد در این پیوند به گیت‌هاب نیز قابل دریافت است. برای دریافت کدها دستورات زیر را اجرا کنید.

ehsan@sandbox ~ % sudo apt-get install git -y
ehsan@sandbox ~ % git clone https://github.com/mojeda/ServerStatus.git
Cloning into 'ServerStatus'...
remote: Counting objects: 263, done.
remote: Total 263 (delta 0), reused 0 (delta 0), pack-reused 263
Receiving objects: 100% (263/263), 174.69 KiB | 72.00 KiB/s, done.
Resolving deltas: 100% (86/86), done.
Checking connectivity... done.
ehsan@sandbox ~ % cd ServerStatus 
ehsan@sandbox ~/ServerStatus % ls
COPYING  includes  index.php  LICENSE  pull  README.md  sql  templates  uptime.php

همانطور که در دستورات بالا و در آخرین دستور مشخص است چند فایل توسط این دستور دریافت شده است. اگر با استفاده از دستور «Cat» مقادیر فایل «README» را مشاهده کنید؛ خواهید دید که برای استفاده از کد فوق باید چه کارهایی را انجام دهید. اولین قدم را که ساخت یک بانک اطلاعاتی برای این  صفحه است را با دستور مشابه دستورات ذکر شده انجام داده و بانک اطلاعاتی مربوط به ابزار به همراه نام کاربری مناسب را نیز ایجاد می‌کنیم.همانند کاری که برای بانک اطلاعاتی سندباکس و پیشخوان انجام دادیم.  با این حال اگر نمی‌خواهید بانک و کاربر جدید را ایجاد کنید؛ در این سرور ما یک کاربر سندباکس داریم که برای این‌کار می‌توان از آن استفاده کرد. اما بهتر است یک نام کاربری به همراه یک بانک اطلاعاتی جداگانه ایجاد کنید تا برای این برنامه استفاده شود.

CREATE USER 'server-status'@'%' IDENTIFIED BY 'server-status';

GRANT USAGE ON * . * TO 'sandboxserver-status'@'%' IDENTIFIED BY 'sandboxserver-status' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE DATABASE IF NOT EXISTS `sandboxserver-status` ;

GRANT ALL PRIVILEGES ON `sandboxserver-status` . * TO 'sandboxserver-status'@'%';

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

ehsan@sandbox ~ % mv -r ServerStatus /media/sf_sandbox/server-status

بعد از آن به پوشه «sql» واقع در پوشه «server-status» را وارد، مای‌اس‌کیوال کنید. برای این‌کار از دستور زیر را در خط رمان اوبونتو سرور وارد کنید.

ehsan@sandbox ~ % cd /media/sf_sandbox /server-status
ehsan@sandbox /media/sf_sandbox/server-status
 % mysql -u server-status -pserver-status server-status < sql/servers.sql

اگر دستورات فوق با موفقیت اجرا شود؛ فایل «/includes/config.php» را ویرایش کرده و تنظیمات بانک اطلاعاتی را به مقادیر دلخواه تغییر می‌دهیم. به عنوان نمونه برای مثال فایل فوق بعد از تغییر به صورت زیر خواهد بود. فایل فوق را می‌توانید توسط سیستم میزبان و در داخل ویرایشگر پیشرفته‌تر مانند اتم «Atom» هم ویرایش کنید.

<?php

$host = 'localhost';
$user = 'server-status';
$pass = 'server-status';
$data = 'server-status';
$sSetting['refresh'] = "10000";

mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($data) or die(mysql_error());
//Template options: "default" and "dark"
$template = "./templates/default/";
$index = $template . "index.php";
?>

تصویری از ویرایشگر اتم، در زمان ویرایش فایل مذکور نیز در زیر آمده است. بعد از این تمامی فایل‌ها را با استفاده از یک ویرایشگر که در سیستم میزبان نصب است ویرایش خواهیم کرد. سپس می‌توانید مابقی تنظیمات و موارد را نیز بر اساس راهنمای ابزار فوق انجام دهید. همانطور که مشاهده کردید؛ نصب یک نرم‌افزار و یا یک صفحه آماده از طریق گیت‌هاب کار بسیار ساده‌ای است. در این حالت شما می‌توانید اکثر ابزارهای مورد نیاز خود را از طریق گیت‌هاب دریافت کنید و با استفاده از راهنمای موجود در فایل مرا بخوان «README» آنان را نصب و تنظیم کنید.

sandbox-begeiners-08فایل پیشخوان؛

پیوندهایی که باید در داخل فایل پیشخوان نمایش داده شوند در داخل بانک اطلاعاتی با همین نام ذخیره شده‌است؛ برای استفاده از این بانک اطلاعاتی و مقادیر و مسیرهای وارد شده در آن می‌توان از زبان برنامه‌نویسی پی‌اچ‌پی استفاده کرد و با نوشتن یک فایل، مقادیر موجود در یک جدول را نمایش داد. برای این کار من یک فایل پی‌اچ‌پی را از قبل آماده کرده‌ام که آن را در پوشه «dashboard» ذخیره می‌کنید. سپس بعد از ذخیره فایل فوق در آن پوشه فایل دیگری را نیز با نام فایل شاخص «index.php» در شاخه اصلی می‌ریزیم. کد فایل پیشخوان به صورت زیر است. در این حالت کدهای زیر را در شاخه «dashboard» و با نام «index.php» ذخیره کنید. این کار باعث ایجاد صفحه پیشخوانی مشاهده می‌شود که دارای ساختاری ساده است. همانطور که گفته شد؛ در این مطلب قصد آموزش زبان پی‌اچ‌پی را نداشته و فقط برای راحتی کار کدهای زیر را در اینجا قرار داده‌ام.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Sandbox Dashboard</title>
  </head>
  <body>
    <h1>Sandbox Dashboard</h1>
    <h2>Links</h2>
    <?php
    $mysqli = new mysqli('127.0.0.1', 'dashboard', 'dashboard', 'dashboard');
    if ($mysqli->connect_errno) {
      printf("Connect failed: %s\n", $mysqli->connect_error);
      exit;
    }
    if ($result = $mysqli->query('SELECT path, label FROM shortcuts')) {
      echo '<ul>';
      while ($obj = $result->fetch_object()) { 
        $link = '<a href="' . filter_var($obj->path, FILTER_SANITIZE_URL) . '">';
        $link .= filter_var($obj->label, FILTER_SANITIZE_STRING);
        $link .= '</a>';
        echo "<li>$link</li>";
      }
      echo '</ul>';
      $result->close();
    }
    else {
      echo "<p>I can't find any shortcuts.</p>";
    }
    ?>
  </body>
</html>

کدهای زیر را نیز در شاخه اصلی با نام «index.php» ذخیره کنید. این کار باعث می‌شود هرگاه کاربران به آدرس سندباکس مراجعه کنند به سمت پوشه، پیشخوان «Dashboard» هدایت شوند.

<?php
header('Location: /dashboard', TRUE, 301);

سپس اگر آدرس «» را در مرورگر وارد کنید؛ با صفحه‌ای مانند شکل زیر مواجه خواهید شد که شامل پیوندهایی به مسیرهای دلخواه است. پیوندهای فوق از طریق بانک اطلاعاتی ایجاد شده در مراحل قبل، به این فایل وارد شده‌اند. برای بهبود ظاهر این صفحه می‌توانید فایل سی‌اس‌اس دلخواه را ایجاد کنید و به این فایل تخصیص دهید.

sandbox-begeiners-09

مدیریت سرور با ابزار گرافیکی

استفاده از دستورات خط فرمان برای مدیریت یک سرور معمولا کاربردی هستند؛ با این حال به خاطر سپردن اکثر دستورات خط فرمانی و انجام تغییرات در یک سرور نیازمند تنظیماتی است که اگر از تنظیمات گرافیکی استفاده شود تا حدودی کارها برای شما ساده‌تر خواهد بود. یکی از ابزارهای گرافیکی تنظیم یک سرور آجنتی «Ajenti» نام دارد. این ابزار ابزاری متن‌باز / آزاد است که برای کاربرد مورد نظر ما در یک سرور محلی به صورت سندباکس بسیار مناسب خواهد بود. این نرم‌افزار در مخازن اوبونتو در دسترس نیست و باید برای نصب آن از دستورات زیر استفاده کنید.

wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-ubuntu.sh | sudo sh

دستور بالا با دانلود اسکریپت نصاب و اجرای آن، باعث نصب ابزار فوق می‌شود. بعد از نصب گذرواژه و نام کاربری نیز  در پیغام نمایش داده شده مشخص شده است.

Default username : root
Default password : admin

بعد از آن باید خدمت فوق را راه‌اندازی مجدد کنید؛ برای راه‌اندازی مجدد خدمت فوق باید دستور زیر را در خط فرمان اجرا کنید.

ehsan@sandbox ~ % sudo service ajenti restart 
Stopping Ajenti:
 * stopped
Starting Ajenti:
28.07.2015 02:36 INFO  Using config file /etc/ajenti/config.json
 * started

خدمت فوق نیز نیاز به درگاه خاصی برای اجرا دارد. این درگاه فقط در در سندباکس مجاز است و همانند درگاه‌های مورد استفاده دیگر، آن را انتقال نداده‌ایم.  حال برای تنطیم مجدد موارد انتقال درگاه در نرم‌افزار اوراکل ویرچوال‌باکس، وارد تنظیمات انتقال درگاه در اوراکل ویرچوال‌باکس شده و مقادیر جدید را برای انتقال درگاه در این ابزار وارد کنید؛ آموزش نحوه افزودن یک درگاه برای انتقال را در قسمت اول آموزش داده‌ایم. در این مورد می‌خواهیم درگاه 8000 را مجددا به همان درگاه 8000 انتقال دهیم. با وجود این اگر درگاه 8000 در سیستم شما استفاده می‌شود؛ باید از درگاه دیگری استفاده کنید.  بعد از انتقال درگاه فوق، وارد پی‌اچ‌پی مای‌ادمین شوید و آدرس دسترسی به برنامه را نیز به پیوندهای موجود در پیشخوان بیفزایید. آدرس دسترسی به این ابزار به صورت زیر خواهد بود. بعد از وارد شدن به آدرس زیر باید نام‌کاربری و رمز‌عبور نوشته شده در پیغام نصب را وارد کنید. این پیغام به صورت کادری کوچک نمایش داده شده است که گزینه‌ای برای ذخیره مقادیر وارد شده برای مواقع بعدی و یا حتی ورود برای همیشه در آن وجود ندارد. به دلیل آنکه این گذرواژه امنیت پایینی دارد؛ پیشنهاد می‌شود سریعا بعد از ورود به آن، گذرواژه جدیدی را انتخاب کنید.

https://sandbox.dev:8000/

بعد از نوشتن آدرس فوق با صفحه‌ای مطابق شکل زیر مواجه خواهید شد. اگر پیغام هشداری برای عدم اعتبار اچ‌تی‌تی‌پی‌اس، مشاهده کردید آن را نادیده گرفته و وارد صفحه اصلی شوید. این هشدار برای ناشناس بودن هویت این پایگاه است که به دلیل استفاده محلی و در سندباکس نادیده گرفتن آن مشکل خاصی را به دنبال نخواهد داشت.

sandbox-begeiners-10بعد از وارد کردن نام‌کاربری و گذرواژه گفته شده در بالا یعنی «root» و «admin»، به بخش اصلی نرم‌افزار وارد خواهید شد. با وجود اینکه این سرور در یک سندباکس است؛ بهتر است گذرواژه بهتری را بر گزینید. برای این کار از قسمت سمت چپ بر روی پیوند تنظیم «Configure» کلیک کرده  و در پایین صفحه در قسمت گذرواژه، گذرواژه بهتری را وارد کرده و تنظیمات را ذخیره کنید. در زیر نمایی از صفحه اول این ابزار را مشاهده می‌کنید که شامل اطلاعاتی از سرور، مانند مقدار حافظه مصرف شده و اطلاعات زمان اجرا یا حتی پردازنده نیز هستید.

sandbox-begeiners-11در این قسمت به معرفی و آموزش ابزارهای گرافیکی و تحت وب برای مدیریت و بررسی وضعیت سرور پرداختیم. یکی از این ابزارها پی‌اچ‌پی مای‌ادمین نام داشت که برای مدیریت بانک‌های اطلاعاتی مای‌اس‌کیوال کاربرد داشته و قادر است اکثر کارهای معمول را انجام دهد. با این حال ابزار فوق معمولا در محیط‌هایی که به امنیت بالایی نیاز دارند، نصب نمی‌شود. ابزار گرافیکی مدیریت کارساز وب و سرور آجنتی نیز با وجود تنظیمات بسیار خوبی که به همراه دارد، برای سرورهای تجاری مناسب نیست اما استفاده از آن در یک سندباکس مشکل خاصی را به وجود نخواهد آورد.

بعد از انجام مراحل گفته شده در بالا هنوز هم برخی نکات قابل مطرح شدن هستند که این موارد را به قسمت ششم یعنی دو قسمت بعد واگذار خواهم کرد. می‌توان گفت که قسمت بعدی، قسمتی برای معرفی چند ابزار برای رفع ایراد کدهای پی‌اچ‌پی و همچنین ابزارهایی برای مدیریت یک پروژه خواهد بود. در این آموزش خواهید توانست تا گیت را تنظیم و از آن استفاده کنید. در قسمت بعدی بر روی پروژه‌ها، مدیریت و رفع اشکال از خطاهای احتمالی متمرکز خواهیم بود. همچنین به علت راحتی استفاده و دسترسی بهتر به این آموزش توسط افراد دیگر، در آخرین قسمت از این سری آموزشی تمامی موارد گفته شده از اولین قسمت تا حال به صورت یک فایل پی‌دی‌اف ساخته شده توسط زی‌پرشین در اختیار دوستان عزیز، قرار خواهد گرفت.

اگر در مورد آموزش فوق، نحوه قسمت‌بندی مطالب و قسمت‌های عنوان شده تا کنون ایرادی را مشاهده می‌کنید؛ در قسمت نظرات و یا تماس با من از طریق رایانامه و شبکه‌های اجتماعی موارد قابل ذکر را متذکر شوید تا در قسمت‌های بعدی یا دیگر مقالات رفع شوند. همچنین ایرادات دیگر در این مقالات را با رایانامه برای من بفرستید تا این ایرادات رفع شوند. این ایرادات می‌تواند در نحوه نوشتن کدها و انجام تنظیمات وجود داشته باشند که در صورت وجود چنین ایرادتی در کدها و تنظیمات، آنان را رفع کنم. اگر خواستید کدها و تنظیمات فوق را در اختیار داشته باشید نیز از طریق رایانامه، درخواست خود را ارسال کنید؛ تا اکثر فایل‌ها را برایتان ارسال کنم. گفتنی است سیستم‌عامل مورد استفاده من در این مقاله گنو/لینوکس توزیع آرچ‌لینوکس است.

وردپرس › خطا

یک خطای مهم در وب سایت شما رخ داده است.

دربارهٔ اشکال‌زدایی در وردپرس بیشتر بدانید.