راه اندازی استک LAMP
استک LAMP شامل Linux (سیستمعامل)، Apache (وب سرور)، MySQL (پایگاه داده) و PHP (مفسر سمت سرور) است. این استک یکی از محبوبترین پیکربندیها برای میزبانی وبسایتهای پویا محسوب میشود. در ادامه، مراحل نصب و پیکربندی استک LAMP بر روی سرور Ubuntu برای شما توضیح داده شده است:
بهروزرسانی سیستم
ابتدا مخازن سیستم را بهروزرسانی کنید تا آخرین نسخههای نرمافزارها دریافت شوند:
sudo apt updateنصب Apache
Apache وبسرور اصلی در استک LAMP است. برای نصب آن از دستور زیر استفاده کنید:
sudo apt install apache2 -yسپس بررسی کنید که سرویس Apache در حال اجرا باشد:
sudo systemctl status apache2در صورتی که در خروجی دستور فوق، عبارت active (running) را مشاهده کردید، به این معنی است که Nginx به درستی نصب و اجرا شده است.
تنظیم فایروال
برای تنظیم فایروال، میتوانید از UFW (Uncomplicated Firewall) استفاده کنید که مستندات نصب و فعالسازی آن در اینجا موجود است. برای فعال کردن دسترسی به وبسرور از طریق HTTP و HTTPS، دستورات زیر را اجرا کنید:
sudo ufw allow in "Apache"
sudo ufw enableنصب و ایمنسازی MySQL
برای مدیریت پایگاه داده، MySQL را نصب کنید:
sudo apt install mysql-server -yسپس برای افزایش امنیت MySQL، ابزار زیر را اجرا کنید:
sudo mysql_secure_installationایجاد دیتابیس و کاربر MySQL
پس از نصب MySQL، نیاز به ایجاد یک دیتابیس و یک کاربر جدید برای مدیریت آن دارید. برای این کار، در ابتدا وارد محیط MySQL شوید:
sudo mysqlسپس دستورات زیر را اجرا کنید:
CREATE DATABASE lamp_db;
CREATE USER 'lamp_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON lamp_db.* TO 'lamp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;میتوانید دستورات فوق و اسامی مذکور را با توجه به نیازهای خود تغییر دهید.
نصب PHP
برای اجرای اسکریپتهای PHP در Apache، باید PHP و افزونه MySQL را نصب کنید:
sudo apt install php libapache2-mod-php php-mysql -yسپس نسخه PHP نصب شده را بررسی کنید:
php -vتنظیم Apache برای PHP
Apache بهطور پیشفرض فایل index.html را در اولویت قرار میدهد. برای تغییر این اولویت، باید فایل پیکربندی Apache را ویرایش کنید. در ابتدا، فایل مورد نظر را با ویرایشگر مورد نظر خود باز کنید:
sudo nano /etc/apache2/mods-enabled/dir.confسپس، محتوای آن را پاک کنید و قطعه کد زیر را درون فایل، قرار دهید:
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>پس از ویرایش، Apache را مجدداً راهاندازی کنید:
sudo systemctl restart apache2ساخت virtual host برای وبسایت
برای میزبانی بیشتر از یک دامنه و وبسایت، باید virtual host ایجاد کنید. بهمنظور این کار، متناسب با نام دامنهتان، میتوانید دایرکتوری زیر را ایجاد کنید (به جای your-domain نام دامنه یا نام دلخواه خود را وارد کنید):
sudo mkdir /var/www/your_domainدر ادامه، مالکیت دایرکتوری ساخته شده را با اجرای دستور زیر، به کاربر فعلی که در حال کار با آن هستید، تغییر دهید:
sudo chown -R $USER:$USER /var/www/your_domainدر ادامه، یک فایل پیکربندی در دایرکتوری sites-available ایجاد کنید:
sudo nano /etc/apache2/sites-available/your_domain.confدر ادامه، قطعه کد زیر را درون فایل قرار دهید (به جای your_domain نام دامنه یا آدرس IP سرور خود را وارد کنید):
<VirtualHost *:80>
ServerName your_domain
ServerAdmin webmaster@localhost
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>برای فعالسازی virtual host، دستور زیر را اجرا کنید:
sudo a2ensite your_domainبرای غیرفعال کردن صفحه پیشفرض Apache، دستور زیر را اجرا کنید (در صورتی که قصد ندارید از دامنه خودتان استفاده کنید و فقط قصد استفاده از IP را دارید، اجرای این دستور، ضروری است):
sudo a2dissite 000-defaultبرای بررسی اینکه فایل پیکربندیتان، خطای نحوی ندارد، دستور زیر را اجرا کنید:
sudo apache2ctl configtestدر نهایت، Apache را با اجرای دستور زیر، مجدداً راهاندازی کنید:
sudo systemctl reload apache2ساخت صفحه سایت و تست PHP
با انجام مراحل فوق، وبسایت فعال است؛ اما هنوز صفحه ریشه سایت، خالی است. با اجرای دستور زیر، یک صفحه برای آن ایجاد کنید:
nano /var/www/your_domain/index.phpسپس کد زیر را درون فایل صفحه ایجاد شده، قرار دهید:
<?php
phpinfo();اتصال دامنه و فعالسازی SSL
برای اتصال دامنه به سرور و فعالسازی SSL، از این راهنما استفاده کنید.
با اجرای گامهای فوق، استک LAMP بهدرستی بر روی سرور مجازی شما نصب و پیکربندی خواهد شد.



