مجموعه “LAMP”گروهی از نرمافزارهای منبع باز یا همان open source است که معمولا به صورت یکجا نصب میشوند تا یک سرور را به منظور هاست یک وبسایت داینامیک یا پویا و اپلیکیشنهای وبسایت فعال کند.“LAMP” درواقع حروف اول این کلمات میباشد: Linux که سیستم عامل ماست، Apache که به عنوان web server ایفای نقش میکند، MySQL که پایگاه داده وبسایت ما خواهد بود و PHP که محتوای داینامیک یا پویا را پردازش میکند.
در این راهنمای نصب قرار است پکیج “LAMP”را بر روی سرور ۱۸٫۰۴ Ubuntu نصب کنیم.
پیشنیاز:
پیشنهاد می گردد از اکانت root برای اجرای دستورات زیر استفاده کنید در غیر این صورت می توانید یک اکانت جدید ایجاد کرده سپس آن را عضو گروه sudoers کنید تا بتواند با دستور sudo تمامی دستورات را اجرا نماید.
Apache جزء بهترین و محبوب¬ترین سرویس های وب در جهان است. Apache بسیار معتبر است و در ابعاد گستردهای در تاریخ وب از آن استفاده شده است که آن را به یک انتخاب پیشفرض بسیار مناسب برای هاست یک وبسایت تبدیل کرده است.
Apache را با استفاده از پکیج منیجر Ubuntu نصب کنید، در apt وارد کنید:
sudo apt update $
sudo apt install apache2 $
اگر از دستور sudo استفاده کنید از شما خواسته می شود تا رمز عبور کاربریتان را وارد کنید تا اعتبار شما را تایید کند.
به محض وارد کردن رمز عبور apt به شما نشان میدهد که قرار است کدام پکیجها را نصب کند. همچنین به شما میگوید که چقدر فضا برای نصب آنها نیاز است. Y را وارد کرده و کلید enter را فشار دهید. اکنون فرآیند نصب آغاز میشود.
فایروال را به گونهای تنظیم کنید که دسترسی وبسایت باز شود:
در ادامه، باید مراحل تنظیمات اولیه سرور را همراه با نصب و راهاندازی فایروال UFW دنبال کرده باشید، و اکنون از باز بودن دسترسی HTTP و HTTPS اطمینان حاصل کنید. شما میتوانید بررسی کنید که UFW پروفایل اپلیکیشنی برای Apache دارد یا خیر:
sudo ufw app list $
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
اگر شما پروفایل Apache Full را ملاحظه کنید، متوجه خواهید شد که دسترسی روی درگاههای ۸۰ و ۴۴۳ باز است:
sudo ufw app info “Apache Full”
Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
: Ports
۸۰,۴۴۳/tcp
برای این پروفایل دسترسی برای سرویسهای HTTP و HTTPS را باز کنید:
sudo ufw allow in “Apache Full”
حال میتوانید با مشاهده کردن public IP خود در مرورگر، همه چیز را واکاوی و بررسی کنید تا از درست کار کردن هر آنچه نصب نمودهاید و تنظیمات و تغییراتی که اعمال کردهاید اطمینان حاصل کنید.
با باز شدن public IP، صفحه پیشفرض Ubuntu18.04 Apache را مشاهده خواهید کرد که به منظور تست و بررسی اطلاعات طراحی شده است. این صفحه شبیه به تصویر زیر است:
http://your_server_ip
اگر این صفحه را مشاهده کردید یعنی web server شما به درستی نصب شده است و از طریق فایروال به آن دسترسی خواهید داشت:
نمیدانید آدرس public IP شما چیست؟ ما در اینجا به برخی از راههای پیدا کردن آن اشاره کردهایم. معمولا این آدرس همان آدرسی است که شما برای اتصال به سرورتان از طریق SSH استفاده میکنید.
روش اول :
از دستور زیر می توانید ip public سرور خود را بیابید :
ip addr show eth0 | grep inet | awk ‘{ print $2; }’ | sed ‘s/\/.*$//’
این دستور برای شما دو یا سه خروجی به همراه دارد. همهی آنها صحیح میباشند، اما سرور شما ممکن است تنها یکی از آنها را پشتیبانی کند؛ در نتیجه همه را امتحان کنید.
روش دوم:
نیز وجود دارد؛ به این صورت که از ابزار curl برای برقراری با یک شخص خارج از محیط استفاده می¬کنید تا بفهمید سرور شما چگونه دیده میشود. میتوانید این کار را از طریق ارسال درخواست به یک سرور خاص برای پیدا کردن آدرس IP انجام دهید:
sudo apt install curl $
فرقی نمیکند که از کدام روش برای پیدا کردن آدرس IP استفاده میکنید. شما میتوانید با وارد کردن آن در آدرس بار مرورگر به صفحه پیشفرض Apacheخود دسترسی داشته باشید.
حال که web server را نصب کردید و از عملکرد صحیح آن اطمینان حاصل کردید، نوبت نصب MySQL است. MySQL سیستم مدیریت پایگاه داده میباشد. اساسا دسترسی به سیستم مدیریت پایگاه داده، جایی که سایت شما اطلاعات را در آن ذخیره میکند، را ممکن ساخته و سازماندهی میکند.
مجددا میتوانید از apt برای گردآوری و نصب نرمافزارهای مورد نیاز استفاده کنید:
sudo apt install mysql-server $
توجه: در اینجا نیاز نیست که حتما sudo apt update را قبل از دستور آن اجرا کنید. چون به تازگی آن را در دستورات قبل از نصب Apache اجرا کردهاید درخواست به روز رسانی میدهد. وگرنه قبل از اینها لیست پکیجهای روی کامپیوتر شما باید به روز شده باشند.
همچنین این دستور لیستی از پکیجهایی که باید install کنید به همراه اطلاعاتی راجع به حجم مورد نیازشان به شما ارائه میدهد. برای ادامه کلید Y را فشار دهید.
هنگامی که فرایند نصب تکمیل شد، یک اسکریپت امنیتی ساده که از قبل همراه با MySQLنصب شده را اجرا کنید تا برخی پیشفرضهای خطرناک را حذف کرده و دسترسی به سیستم دیتابیس ما را اندکی محدود کند. این اسکریپت تعاملی را با اجرای دستور زیر راه اندازی کنید:
در اینجا از شما میخواهد تا VALIDATE PASSWORD PLUGIN را تنظیم کنید.
توجه: فعال کردن این ویژگی بستگی به خود شما دارد. اگر آن را فعال کردید، کلمه عبورهایی که با معیارهای ویژه سیستم همخوانی نداشته باشند، توسط MySQL با نشان دادن یک خطا مردود میشوند.
در صورت استفاده از یک رمز عبور ضعیف ممکن است این خطا به هنگام ورود به نرمافزاری که به صورت خودکار اعتبار اکانت MySQL را تنظیم میکند مشکلاتی را ایجاد کند، مانند پکیجهای Ubuntu برای phpMyAdmin.
بهتر است قسمت مربوط به اعتبارسنجی را همانطور غیرفعال باقی بگذارید. اما به یاد داشته باشید که همیشه برای اعتبار دیتابیس باید یک کلمه عبور امن، قوی و منحصر به فرد به کار ببرید.
برای تایید فعال سازی کلید Y و اگر میخواهید بدون فعال سازی ادامه دهید، هر کلید دیگری را که میخواهید فشار دهید.
VALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No:
اگر تایید کردید، از شما میخواهد که سطح اعتبار کلمه عبور را انتخاب کنید. دقت داشته باشید که در صورت انتخاب قویترین سطح ممکن یعنی کلید ۲، تعیین رمز ورود به این سادگیها نخواهد بود و اگر از کاراکترها، حروف کوچک و بزرگ و اعداد استفاده نکنید سیستم از شما ایراد خواهد گرفت.
همچنین اگر رمز شما بر اساس کلمات معنادار و داخل دیکشنری باشد نیز خطا میدهد.
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
بدون در نظر داشتن اینکه شما VALIDATE PASSWORD PLUGIN تعیین میکنید یا نه، بعد از این مرحله سرور از شما میخواهد تا یک کلمه عبور برای کاربر root در MySQL انتخاب نمایید.
این اکانت در MySQL یک اکانت مدیریتی است که دسترسیها و امکانات آن را افزایش میدهد. به این فکر کنید که این اکانت شبیه به کاربر root خود سرور است (هرچند اکانتی که الان میسازید یک اکانت ویژه MySQL به حساب میآید). این قسمت را خالی رها نکنید و از قوی و منحصر به فرد بودن کلمه عبور اطمینان حاصل کنید.
اگر گزینه اعتبارسنجی کلمه عبور را فعال کنید، متوجه میزان قوی بودن کلمه عبور حساب root که اخیرا وارد کردهاید را متوجه خواهید شد. در صورت ضعیف بودن و عدم وجود تطابق با استانداردهای موجود، سرور از شما میخواهد که در انتخاب کلمه عبور تجدید نظر کنید. اگر تمایل ندارید که کلمه عبور را تغییر دهید، کافی است N را در prompt وارد نمایید:
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
برای مابقی سوالات Y را وارد کنید و پس از آن با فشردن enter ادامه دهید. این کار باعث میشود برخی از اکانتهای ناشناس و همچنین تست پایگاه داده حذف شوند، ورودهای ناشناس به root را غیرفعال میکند و تغییرات جدید را اعمال میکند تا بلافاصله MySQL نسبت به تغییراتی که به وجود آوردهاید خود را سازگار کند.
توجه داشته باشید که در سیستمهای Ubuntu ورژنهای ۵٫۷ به بالای MySQL اجرا میشود که در آن حساب root MySQL به صورت پیشفرض توسط افزونه auth_socket اعتبارسنجی میکند نه با استفاده از کلمه عبور.
استفاده این افزونه در بسیاری از مواقع اجازه امنیت و کارایی بیشتری به شما میدهد، اما از طرفی میتواند کارها را در برخی موارد هنگام دادن اجازه دسترسی به امکانات مدیریتی به یک نرمافزار خارجی پیچیده کند، مثل phpMyAdmin.
اپر میخواهید از حساب root با وارد کردن کلمه عبور به MySQL متصل شوید، باید روش اعتبارسنجی را از auth_socket به mysql_native_password تغییر دهید. برای ساخت این اکانت prompt مربوط به MySQL را از سیستم خود باز کنید:
sudo mysql $
بعد از آن، بررسی کنید و ببینید هر یک حسابهای MySQL از کدام روش اعتبارسنجی استفاده میکند:
Mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
(۴ rows in set (0.00 sec)
در این مثال، خواهید دید که در اصل حساب root از افزونه auth_socket استفاده میکند. برای تنظیم کردن روش اعتبارسنجی حساب root به وارد کردن کلمه عبور، دستور ALTER USER زیر را اجرا کنید. حتما password را به انتخاب خود به یک کلمه عبور قدرتمند تغییر دهید:
سپس FLUSH PRIVILEGES را که به سرور دستور میدهد دوباره صفحات grant table را بالا بیاورد و تغییرات جدید شما را اعمال کند:
;mysql> FLUSH PRIVILEGES
مجددا با همه حسابهایتان روش اعتبارسنجی را بررسی کنید تا مطمئن شوید که حساب root دیگر از افزونه auth_socket برای اعتبارسنجی استفاده نمیکند.
اکنون در خروجی این مثال میتوانید ببینید که اکنون حساب root MySQLبا استفاده از رمزعبور اعتبارسنجی میشود. وقتی از این بابت مطمئن شدید، میتوانید از قالب MySQL خارج شوید:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
(۴ rows in set (0.00 sec)
در این هنگام، سیستم دیتابیس شما تماما آماده است و میتوانید به سراغ نصب آخرین مؤلفه مجموعه “LAMP”، یعنی PHP بروید.
mysql> exit
PHP یک مفسر است است که کدهای مربوط به نمایش محتوای پویا را پردازش میکند. همچنین میتواند اسکریپتها را اجرا کند، و برای برداشت و استفاده از اطلاعات به پایگاه داده MySQL متصل شود و محتوای پردازش شده را برای نمایش به web server بدهد.
یک بار دیگر میتوانید از قدرت سیستم apt برای نصب PHP استفاده کنید. همچنین این بار پکیجهای Helper را اضافه کنید تا کد PHP تحت سرور Apache اجرا شود و بتواند با دیتابیس MySQL ارتباط برقرار کند:
sudo apt install php libapache2-mod-php php-mysql $
این دستور باید PHP را بدون هیچ مشکلی نصب کند. این دستور باید بدون هیچ مشکلی PHP را نصب نماید و قرار است برای اطمینان آن را تست کنیم.
در اکثر مواقع، شما میخواهید اصلاحی ایجاد کنید که Apache به هنگام درخواست یک دایرکتوری فایلها را به کار ببرد. هماکنون اگر یک کاربر به یک دایرکتوری از طریق سرور درخواست دهد، در اول Apache دنبال فایلی به اسم index.html میگردد.
هدف ما این است که به web server بگوییم که فایلهای PHP را نسبت به بقیه فایلها اولویت قرار دهد تا Apache اول به جای فایل index.html، فایل index.php را جستجو کند.
برای این منظور دستور زیر وارد کنید تا فایل index.php را در یک ویرایشگر متن دارای امکانات دستورات باز نماید:
sudo nano /etc/apache2/mods-enabled/dir.conf $
این ویرایشگر چیزی شبیه به پیغام زیر است:
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
فایل فهرست PHP (در بالا درشت نوشته شده است) را درست به بعد از DirectoryIndex انتقال دهید، به این شکل:
/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
وقتی که این کار تمام شد، فایل را فشردن CTRL+X ذخیره کرده و ببندید. ذخیرهسازی را با فشردن Y تایید کرده و با زدن دکمهی enter محل ذخیرهسازی فایل را تصدیق کنید.
بعد از این مرحله، Apache web server را restart کنید تا تغییرات ایجاد شده را تشخیص دهد. برای restart کردن دستور زیر را تایپ کنید:
sudo systemctl restart apache2 $
همچنین میتوانید وضعیت سرویس apache2 را با استفاده از systemctl بررسی کنید:
sudo systemctl status apache2 $
Sample Output
apache2.service – LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago
Docs: man:systemd-sysv-generator(8)
Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
Tasks: 6 (limit: 512)
CGroup: /system.slice/apache2.service
├─۱۳۶۲۳ /usr/sbin/apache2 -k start
├─۱۳۶۲۶ /usr/sbin/apache2 -k start
├─۱۳۶۲۷ /usr/sbin/apache2 -k start
├─۱۳۶۲۸ /usr/sbin/apache2 -k start
├─۱۳۶۲۹ /usr/sbin/apache2 -k start
└─۱۳۶۳۰ /usr/sbin/apache2 -k start
دکمهی Q را فشار دهید تا از صفحهی موجود خارج شود.
برای افزایش کارایی PHP میتوانید به اختیار برخی از ماژولهای کاربردی را نصب کنید. برای افزایش کارایی PHP، میتوانید ماژولهای دیگری را نصب کنید. برای مشاهده ماژولها و کتابخانههای موجود برای PHP، نتایج جستجوی apt search را به less منتقل کنید، صفحهای که به شما اجازه میدهد از طریق نتایج دستورات دیگر را بازخوانی و بررسی کنید:
apt search php- | less $
از کلیدهای جهت برای بالا پایین کردن نتایج استفاده کنید، سپس برای خروج کلید Q را بفشارید.
نتیجه این دستور نمایش گزینههای اختیاری مختلفی است که میتوانید نصب کنید. در این بخش برای هر کدام از گزینههای پیش رو توضیح مختصری نیز آورده شده است:
bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
Tracks usage of TCP/IP and builds html files with graphs
bluefish/bionic 2.2.10-1 amd64
advanced Gtk+ text editor for web and software development
cacti/bionic 1.1.38+ds1-1 all
web interface for graphing of monitoring systems
ganglia-webfrontend/bionic 3.6.1-3 all
cluster monitoring toolkit – web front-end
golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all
PHP-like Compression and Archive Extensions in Go
haserl/bionic 0.9.35-2 amd64
CGI scripting program for embedded environments
kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
transitional package for kdevelop-php
kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all
transitional package for kdevelop-php-l10n
…
:
برای اینکه دقیقتر هر ماژول و کارایی آن را بشناسید، میتوانید در اینترنت آن را جستجو کنید. به جای آن نیز میتوانید توضیحات مفصلتری راجع به هر یک بخوانید و برای این کار کافی است دستور زیر را وارد کنید:
apt show package_name $
با این دستور خروجیهای زیادی را مشاهده خواهید کرد، که یک بخش Description نامیده میشود. در این بخش توضیحات بیشتری دربارهی نحوه عملکرد هر ماژول ارائه شده است.
برای مثال، فرض کنید میخواهید دربارهی عملکرد ماژول php-cli اطلاعات کسب کنید:
apt show php-cli $
بخاطر حجم زیاد اطلاعات، احتمالا چنین پیامی را مشاهده خواهید کرد:
Output
…
Description: command-line interpreter for the PHP scripting language (default)
This package provides the /usr/bin/php command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks.
.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
open source general-purpose scripting language that is especially suited
for web development and can be embedded into HTML.
.
This package is a dependency package, which depends on Ubuntu’s default
PHP version (currently 7.2).
…
اگر بعد از تحقیق میخواستید پکیجی را نصب کنید، میتوانید مانند دیگرنرمافزارها عمل کنید و با استفاده از دستور apt install این کار را انجام دهید.
مثلا اگر ماژول php-cli را میخواستید، کافی است عبارت زیر را تایپ کنید:
sudo apt install php-cl $
اگر خواستید ماژولهای بیشتری نصب کنید، همه را لیست کنید -به طوری که با space (فاصله) از همه جدا باشند- و دستور apt install را دنبال کنید:
…sudo apt install package1 package2 $
اکنون دیگر تمام مجموعه “LAMP” نصب و پیکربندی شده است. قبل از انجام هر کاری، پیشنهاد میکنیم که یک هاست Apache مجازی برای ذخیرهسازی جزئیات پیکربندی سرور ایجاد کنید.
هنگامی که از وب سرور Apache استفاده میکنید، میتوانید از هاستهای مجازی برای فشرده سازی جزئیات کانفیگ بهره ببرید تا از طریق یک سرور بیش از یک دامنه را هاست کنید. برای شروع یک دامنه با اسم خودتون (your-domain) ایجاد کنید.
Apache در Ubuntu 18.04 به صورت پیشفرض یک سرور block فعال دارد و به گونهای تنظیم شده است که اسناد و مدارک موجود در دایرکتوری /var/www/html را میخواند.
باوجود اینکه این قابلیت Apache برای یک سایت به خوبی عمل میکند، اما اگر از آن برای دامنهی چندین سایت استفاده کنید خیلی سنگین میشود. در سایتی که با نام خود ایجاد کردید (your-domain) به جای اصلاح /var/www/html، یک آدرس دایرکتوری جدید در /var/www ایجاد کنید و /var/www/html را به عنوان آدرس دایرکتوری پیشفرض باقی بگذارید که اگر شخصی آدرسی را جستجو کرد و با هیچ یک از آدرسهای دیگر همخوانی نداشت همین دایرکتوری پیشفرض به کار گرفته شود.
با دنبال کردن عملیات زیر، آدرس دایرکتوری اشاره شده را برای دامنه خود (your-domain) ایجاد کنید:
sudo mkdir /var/www/your_domain $
بعد از آن، مالکیت آدرس دایرکتوری ایجاد شده را از طریق متغیر محیطی $USER تعیین کنید:
sudo chown -R $USER:$USER /var/www/your_domain $
اگر هنوز مؤلفهی unmask را تعریف نکردید، باید اجازههای دسترسی root وبسایت شما به درستی عمل کنند، اما میتوانید با وارد کردن دستور زیر خیالتان را از این بابت راحت کنید:
sudo chmod -R 755 /var/www/your_domain $
سپس یک صفحه نمونه index.html را با استفاده از nano یا هر ویرایشگر مورد دلخواه دیگر ایجاد کنید:
nano /var/www/your_domain/index.htm
داخل ویرایشگر، نمونه HTML زیر را وارد کنید:
/var/www/your_domain/index.html
<html>
<head>
<title>Welcome to Your_domain!</title>
</head>
<body>
<h1>Success! The your_domain server block is working!</h1>
</body>
</html>
پس از اتمام، تغییرات را ذخیره کنید و ویرایشگر را ببندید.
برای اینکه Apache این محتوا را بخواند، لازم است که یک فایل هاست مجازی با آدرسهای صحیح ایجاد کنید. به جای اصلاح کردن فایلی که در آدرس
/etc/apache2/sites-available/000-default.conf قرار دارد، بهتر است یک فایل جدید در /etc/apache2/sites-available/your_domain.conf ایجاد کنیم:
sudo nano /etc/apache2/sites-available/your_domain.conf $
در صفحه تنظیمات زیر paste کنید. این صفحه شبیه به پیشفرض میباشد، ولی برای آدرس دایرکتوری و نام دامنه جدید به روز رسانی شده است:
/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
توجه داشته باشید که باید DocumentRoot را به آدرس دایرکتوری جدید و ServerAdmin به ایمیلی که از طریق آن مدیر سایت میتواند به آدرس دامنه جدید (your-domain) دسترسی داشته باشد به روز رسانی کنید: همچنین این دو دستور را اضافه کنید.
پس از اتمام، تغییرات را ذخیره کنید و ویرایشگر را ببندید.
حال با ابزار a2ensite فایل را فعال کنید:
sudo a2ensite your_domain.conf $
سایت پیشفرض را که در ۰۰۰-default.conf تعریف شده است غیرفعال کنید:
sudo a2dissite 000-default.conf $
در ادامه برای عیب یابی تنظیمات را تست کنید:
sudo apache2ctl configtest $
با وارد کردن دستور بالا، باید نتایج زیر را مشاهده کنید:
Output
Syntax OK
برای ثبت و اعمال تغییرات، Apache را restart کنید:
sudo systemctl restart apache2 $
اکنون Apache باید نام دامنه شما را بخواند. این موضوع را میتوانید ازطریق http://your_domain و با مشاهده پیغام زیر تست کنید:
مشاهده این پیغام به این معناست که هاست مجازی شما کاملا آماده و تنظیم میباشد. در نهایت پیش از اعمال تغییرات بیشتر، به تست PHP میرسیم تا اگر مشکلی وجود داشت آن را نیز رفع نماییم.
برای اینکه ببینید سیستم به درستی برای PHP کانفیگ شده است یا خیر، میتوانیم یک اسکریپت PHP خیلی ابتدایی به نام info.php ایجاد کنید. برای اینکه Apache فایل را به سادگی پیدا کند بتواند از آن به درستی استفاده کند، باید در “web root” ذخیره شود.
فایل را در web root که در قدم قبل ساختید، با استفاده از دستور زیر ایجاد کنید:
sudo nano /var/www/your_domain/info.php $
این دستور یک فایل خالی باز میکند. اکنون متن زیر را داخل فایل قرار دهید، که یک کد PHP معتبر است:
info.php
<?php
phpinfo();
?>
وقتی که این کار تمام شد، فایل را ذخیره کرده و ببندید.
حالا میتوانید آزمایش کنید و ببینید که آیا web server شما میتواند محتوای ایجاد شده با این اسکریپت PHP را نمایش دهد یا خیر. برای اینکه این موضوع را امتحان کنید، فقط کافی است صفحه زیر را در مرورگر خود مشاهده کنید. در اینجا شما مجددا به آدرسpublic IP خود احتیاج دارید.
آدرسی که باید مشاهده کنید لینک زیر است:
http://your_domain/info.php
صفحهای که با آن مواجه خواهید شد شبیه به عکس زیر است:
این صفحه به شما اطلاعاتی درباره سرور در محیط PHP میدهد. این صفحه برای دیباگ کردن و رفع ایرادات احتمالی مفید است و خیال شما را از بابت اعمال صحیح تنظیمات راحت میکند.
اگر این صفحه را در مرورگر خود مشاهده کردید، معنی آن این است که PHP شما به درستی عمل میکند.
بعد از این آزمایش باید فایل را حذف کنید چون میتواند اطلاعات مهمی از سرور را در اختیار اشخاص بیگانه قرار دهد. برای این منظور دستور زیر را اجرا کنید:
sudo rm /var/www/your_domain/info.php $
اگر مجددا به این اطلاعات احتیاج داشتید، بارها میتوانید این صفحه را ایجاد کنید.
نتیجه گیری
اکنون که مجموعه “LAMP” را نصب نمودید، بستری دارید که به شما اجازه میدهد هرگونه وبسایت یا نرمافزاری را که میخواهید روی سرور خود نصب و اجرا کنید و گزینههای زیادی را پیش روی شما قرار حواهد داد.
قدم بعدی این است که با استفاده از دسترسی HTTPS امنیت اتصال خود را به web server بررسی کنید و مطمئن شوید.