پیش نیازها

به منظور تکمیل این آموزش، نیاز به یک سرور با سیستم عامل اوبونتو ۱۸.۰۴ با یک حساب کاربری غیر root با سطح دسترسی sudo و یک فایروال پایه دارید.

قدم اول: نصب آپاچی و به روز رسانی فایروال

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

با دستور زیر آپاچی را نصب کنید:

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

تنظیم فایروال برای عبور ترافیک وب

با فرض اینکه شما مقدمات ابتدایی تنظیم سرور را انجام داده‌اید و فایروال UFW را فعال کرده‌اید، باید اطمینان پیدا کنید که ترافیک HTTP و HTTPS قابلیت انتقال دارند. میتوانید با دستور زیر پروفایل UFW را برای آپاچی بررسی کنید:


اگر به پروفایل Apache Full نگاه کنید، میتوانید از وجود پورت ۸۰ و ۴۴۳ می‌توانید مطمئن شوید:


با دستور زیر ترافیک HTTP و HTTPS را برای این پروفایل فعال کنید:

برای اینکه ببینید تنظیمات شما آیا اعمال شده است یا خیر میتوانید آدرس ‌آی‌پی عمومی سرور خود را در مرورگر وارد کنید(اگر آدرس آی‌پی عمومی سرور خود را ندارید، میتوانید از روشی که در ادامه گفته می‌شود برای به دست آوردن آی‌پی استفاده کنید):

با وارد کردن آدرس صفحه پیش فرض آپاچی به نمایش در می‌آید. صفحه‌ای مانند تصویر زیر:

آپاچی

اگر این صفحه را به درستی می‌بینید، وب سرور شما بطور صحیح نصب شده و از طریق فایروال قابل دسترسی است.

چطور آدرس IP عمومی سرور را پیدا کنیم

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

خروجی این دستور دو یا سه خطی است که با آزمایش هر یک از آدرس‌ها می‌توانید آدرسی که به آن متصل می‌شوید را پیدا کنید.
روشی دیگر استفاده از curl برای ارتباط با یک سیستم خارجی است. با این کار از یک سرور خاص میخواهید که آدرس آی‌پی شما را نشان دهد:

اکنون که آدرس ‌آی‌پی خود را دارید، آن را در مرورگر وارد کنید تا صفحه پیش فرض آپاچی را مشاهده کنید.

قدم دوم: نصب MySQL

اکنون که وب سرور شما آماده است، باید به سراغ نصب MySQL رفت. MySQL سیستم مدیریت پایگاه داده است. اساسا وظیفه سازمان‌دهی و فراهم کردن دسترسی به پایگاه داده سایت شما را دارد.
با استفاده از دستور زیر این نرم‌افزار را نصب کنید:

نکته: در اینجا نیازی به اجرای دستور sudo apt update نیست. زیرا قبلا برای نصب آپاچی یک بار اجرا شده است. پکیج‌ها از قبل بروز شده‌اند.

با اجرای این دستور نیز لیست پکیج‌هایی که نصب خواهند شد و همینطور فضایی که اشغال خواهد شد به شما نمایش داده می‌شود. حرف Y را برای ادامه تایپ کنید و کلید اینتر را فشار دهید.
زمانی که نصب تکمیل شد، اسکریپت امنیتی که همراه با MySQL نصب شده است را اجرا کنید تا برخی پیش فرض‌های خطرناک و دسترسی‌ها به پایگاه داده حذف شود. با وارد کردن دستور زیر اسکریپت را اجرا کنید:

پس از اجرا از شما پرسیده می‌شود که آیا مایل به تنظیم VALIDATE PASSWORD PLUGIN هستید یا خیر.

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

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

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

پس از این مرحله از شما رمزعبوری برای کاربر root در MySQL خواسته می‌شود. این حساب کاربری دارای امتیازات و دسترسی‌های بسیار زیاد است. مثل حساب کاربری root در سرور (اگر چه حسابی که در حال تنظیم آن هستید تنها مختص MySQL است). مطمئن شوید که رمز عبوری قوی و منحصر به فرد انتخاب می‌کنید و آن را خالی نمی‌گذارید.
اگر اعتبار سنجی رمز عبور را فعال کرده باشید، قدرت رمز عبور انتخابی شما نمایش داده می‌شود و سرور از شما می‌پرسد که آیا مایل به تغییر آن هستید یا خیر. اگر مشکلی با رمز عبور ندارید حرف N را وارد کنید:

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

اگر ترجیح می‌دهید که برای ارتباط با MySQL به عنوان root از رمز عبور استفاده کنید، باید روش اعتبارسنجی آن را از auth_socket به mysql_native_password تغییر دهید. برای اینکار دستور زیر را وارد کنید:

سپس با دستور زیر ببینید هر یک از کاربران MySQL از چه نوع اعتبارسنجی استفاده می‌کنند:


در این مثال میبینید که کاربر root از پلاگین auth_socket برای اعتبارسنجی استفاده میکند. برای تنظیم حساب root برای اعتبارسنجی با رمزعبور، دستور ALTER USER زیر را اجرا کنید. مطمئن شوید که عبارت password را با یک رمز عبور قوی عوض می‌کنید:

سپس با اجرای FLUSH PRIVILEGES تغییرات جدید را اعمال کنید:

مجددا روش اعتبارسنجی کاربران را با دستور زیر بررسی کنید:


اکنون میبینید که حساب root اعتبارسنجی را با رمزعبور انجام میدهد. در صورت تایید از MySQL خارج شوید:

در اینجا سیستم پایگاه داده تنظیم شده است و میتوانید به سراغ نصب PHP بروید، یعنی آخرین کامپوننت LAMP.

قدم سوم: نصب PHP

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

الان اگر کاربری درخواست نمایش یک دایرکتوری را بدهد، نام اولین فایلی که به وی نمایش داده می‌شود index.html است. ما میخواهیم به وب سرور اطلاع دهیم که اولویت ما با فایل‌های PHP است و بنابراین ابتدا فایل index.php را به کاربر نمایش بده.
برای این کار دستور زیر را برای باز کردن فایل dir.conf در ویرایشگر اجرا کنید:

فایلی مشابه فایل زیر به شما نشان داده می‌شود:

عبارت index.php را به ابتدای خط و بعد از DirectoryIndex منتقل کنید تا مانند فایل زیر شود:

در پایان کلید CTRL+X را فشرده و با تایپ حرف Y و فشردن کلید اینتر آن را ذخیره کنید.
سپس با دستور زیر وب سرور آپاچی را برای اعمال تغییرات بروز کنید:

همچنین با استفاده از دستور زیر میتوانید وضعیت سرویس apache2 با استفاده از systemctl بررسی کنید:


با فشردن کلید Q از خروجی وضعیت بیرون بیایید.

برای افزایش عملکرد PHP میتوانید ماژول‌های بیشتری نصب کنید. برای نمایش ماژول‌ها و کتابخانه‌های PHP با استفاده از دستور زیر جستجو کنید:

با استفاده از کلیدهای بالا و پایین لیست در لیست پیمایش انجام دهید و با کلید Q خارج شوید.
نتیجه جستجو، کامپوننت‌های اختیاری همراه با توضیح برای نصب است.

برای اینکه کارایی هر ماژول را متوجه شوید، از اینترنت کمک بگیرید و یا با دستور زیر توضیحات پکیج را مطالعه کنید:

در خروجی نمایش داده شده به دنبال فیلد Description بگردید تا توضیحات بیشتر در مورد ماژول مورد نظر را مطالعه کنید.
مثلا برای ماژول php-cli:

همراه با اطلاعات دیگر، چیزی شبیه توضیحات زیر خواهید دید:

اگر بعد از بررسی تصمیم به نصب گرفتید، با استفاده از apt install آن را نصب کنید.
بطور مثال برای نصب php-cli از دستور زیر استفاده کنید:

اگر میخواهید بیش از یک ماژول را نصب کنید، نام هر ماژول را با فاصله از هم جدا کنید، نمونه:

اکنون LAMP برای شما نصب و تنظیم شده است. قبل از ایجاد هر تغییر یا راه اندازی نرم افزاری، بهتر است تنظیمات PHP را بررسی کنید تا به مشکل خاصی برنخورید.

قدم چهام: تست پردازش PHP بر روی وب سرور

جهت بررسی تنظیمات PHP، فایلی با نام info.php ایجاد کنید. برای اینکه آپاچی بتواند فایل را سریعا پیدا کرده و به نمایش بگذارد، باید در یک مسیر خاصی که ریشه وب سرور شماست ذخیره شود.
در اوبونتو ۱۸.۰۴ این دایرکتوری در مسیر /var/www/html/ است. با دستور زیر فایل را در این مسیر ایجاد کنید:

کد زیر وارد کنید:

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

اکنون صفحه‌ای مشابه تصویر زیر باید ببینید:

پی اچ پی

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

در هر زمانی که به این فایل نیاز داشتید می‌توانید به سادگی آن را ایجاد کنید.

نتیجه‌گیری

اکنون بسته نرم افزاری LAMP بر روی سرور شما نصب است. پلتفرمی که به شما اجاره نصب و راه‌اندازی اکثر سایت‌ها و وب‌اپلیکیشن‌ها را می‌دهد.
در مرحله بعد باید مطمئن شوید که ارتباط شما با سرور امن است و محتوای شما از طریق HTTPS به نمایش درمی‌آید. آسان‌ترین راه برای این کار استفاده از گواهی SSL از Let’s Encrypt است که بطور رایگان میتوانید نصب و راه‌اندازی کنید.