راه اندازی استک 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 بهدرستی بر روی سرور مجازی شما نصب و پیکربندی خواهد شد.