# ⚙️ آموزش نصب LEMP در Gentoo Linux
پشته LEMP یکی از رایجترین زیرساختها برای میزبانی وبسایتها است. در Gentoo، این فرآیند ممکن است نسبت به توزیعهای باینری زمانبرتر باشد، اما در عوض کنترل کامل بر پیکربندی و بهینهسازی عملکرد دارید.
---
## 🧩 اجزای LEMP
| جزء | وظیفه |
| ------------------- | ----------------------------------------- |
| **Linux (Gentoo)** | سیستمعامل پایه |
| **Nginx** | وبسرور سبک و سریع |
| **MariaDB / MySQL** | پایگاه داده |
| **PHP + FPM** | زبان اسکریپتنویسی با پشتیبانی از FastCGI |
---
## 🛠️ مراحل نصب گامبهگام
### ✅ ۱. بهروزرسانی سیستم
```bash
sudo emerge --sync
sudo emerge --ask --deep --newuse @world
```
---
### ✅ ۲. نصب Nginx
```bash
sudo emerge --ask www-servers/nginx
```
🔧 تنظیم USE flags (در صورت نیاز):
```bash
echo "www-servers/nginx ssl http2 threads" >> /etc/portage/package.use/nginx
```
فعالسازی سرویس:
```bash
sudo rc-update add nginx default
sudo /etc/init.d/nginx start
```
بررسی:
`http://localhost`
صفحه پیشفرض nginx باید نمایش داده شود.
---
### ✅ ۳. نصب MariaDB (جایگزین MySQL)
```bash
sudo emerge --ask dev-db/mariadb
```
نصب و پیکربندی اولیه:
```bash
sudo emerge --config dev-db/mariadb
```
فعالسازی سرویس:
```bash
sudo rc-update add mariadb default
sudo /etc/init.d/mysql start
```
اجرای اسکریپت امنیتی:
```bash
sudo mysql_secure_installation
```
---
### ✅ ۴. نصب PHP + FPM
```bash
sudo emerge --ask dev-lang/php
```
🔧 اطمینان از فعال بودن USE flags مناسب:
```bash
echo "dev-lang/php fpm mysql mysqli cgi opcache" >> /etc/portage/package.use/php
```
بازسازی PHP با USE جدید:
```bash
sudo emerge --ask dev-lang/php
```
فعالسازی PHP-FPM:
```bash
sudo rc-update add php-fpm default
sudo /etc/init.d/php-fpm start
```
---
### ✅ ۵. پیکربندی Nginx برای اجرای PHP
ویرایش فایل تنظیمات:
```bash
sudo nano /etc/nginx/nginx.conf
```
در بلاک `server` اضافه کنید:
```nginx
location ~ \.php$ {
root /var/www/localhost/htdocs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
```
📂 اطمینان حاصل کنید که فایل `index.php` در مسیر `/var/www/localhost/htdocs/` موجود است:
```bash
echo "<?php phpinfo(); ?>" | sudo tee /var/www/localhost/htdocs/info.php
```
ریاستارت سرویسها:
```bash
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php-fpm restart
```
تست در مرورگر:
`http://your-server-ip/info.php`
---
## 🛡️ نکات امنیتی
* حذف فایل `info.php` پس از تست
* فعالسازی HTTPS با Let’s Encrypt و Nginx
* محدود کردن دسترسی به `/phpmyadmin` یا مسیرهای مدیریتی
* استفاده از فایروال (مانند iptables یا nftables)
---
## 🔁 نکته درباره مدیریت بستهها در Gentoo
* از `eselect php` برای انتخاب نسخه PHP استفاده کنید.
* لاگها را بررسی کنید:
`/var/log/nginx/` و `/var/log/php-fpm.log`
---
## ✅ نتیجهگیری
با اجرای این مراحل، شما یک سرور LEMP کامل و بهینهشده روی Gentoo لینوکس راهاندازی کردهاید. با توجه به قابلیت شخصیسازی بالای Gentoo، میتوانید این محیط را دقیقاً مطابق نیاز خود تنظیم و بهینهسازی کنید.