# 🧱 ساخت وبسرور و میزبانی سایت روی لینوکس شخصی
## 🎯 هدف:
راهاندازی یک وبسرور کامل بر روی یک سیستم لینوکسی و قرار دادن یک وبسایت (HTML یا PHP) روی آن، برای استفاده شخصی یا عمومی.
---
## 🛠️ مرحله ۱: آمادهسازی سیستم
### پیشنیازها:
* یک توزیع لینوکسی نصبشده (مانند Ubuntu, CentOS, Debian و …)
* دسترسی root یا کاربر با sudo
* اتصال به اینترنت
---
## 🌐 مرحله ۲: نصب Apache (یا Nginx)
### نصب Apache (وبسرور محبوب):
#### در Ubuntu/Debian:
```bash
sudo apt update
sudo apt install apache2 -y
```
#### در CentOS/RHEL:
```bash
sudo yum install httpd -y
sudo systemctl enable httpd
sudo systemctl start httpd
```
#### در Arch Linux:
```bash
sudo pacman -S apache
sudo systemctl start httpd
sudo systemctl enable httpd
```
---
## 💾 مرحله ۳: قرار دادن فایلهای سایت
فایلهای سایت (HTML, CSS, JS یا PHP) را در دایرکتوری پیشفرض Apache قرار دهید:
```bash
cd /var/www/html
sudo rm index.html
sudo nano index.html
```
🔻 یک محتوای ساده HTML وارد کنید:
```html
<!DOCTYPE html>
<html>
<head><title>سایت من</title></head>
<body><h1>به وبسایت لینوکسی من خوش آمدید!</h1></body>
</html>
```
---
## 📦 مرحله ۴: نصب PHP (اختیاری)
برای پشتیبانی از فایلهای PHP:
```bash
sudo apt install php libapache2-mod-php php-mysql -y
sudo systemctl restart apache2
```
سپس یک فایل تست بسازید:
```bash
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
```
---
## 🧪 تست سایت
مرورگر را باز کرده و آدرس زیر را وارد کنید:
```
http://your-server-ip/
```
📌 اگر سایت یا فایل `phpinfo()` را مشاهده کردید، همهچیز درست کار میکند.
---
## 🔓 مرحله ۵: باز کردن پورتها (برای دسترسی از بیرون)
#### برای Ubuntu با UFW:
```bash
sudo ufw allow 'Apache'
```
#### برای CentOS با firewalld:
```bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
```
---
## 🌍 مرحله ۶: میزبانی سایت روی اینترنت (اختیاری)
اگر میخواهید دیگران هم به سایت دسترسی داشته باشند:
1. آیپی سیستم خود را در اینترنت پیدا کنید (مثلاً با `curl ifconfig.me`)
2. پورت 80 را در مودم یا روتر به IP داخلی سیستم خود فوروارد کنید (Port Forwarding)
3. اگر از اینترنت متغیر استفاده میکنید، میتوانید از **Dynamic DNS** مثل `noip.com` استفاده کنید.
---
## ✅ مرحله ۷: نکات امنیتی
* دایرکتوریهای حساس را قفل کنید.
* از رمز عبور برای صفحات خاص استفاده کنید (htpasswd).
* به جای root با کاربر عادی کار کنید.
* از HTTPS و Let's Encrypt برای SSL رایگان استفاده کنید.
---
## 🏁 نتیجهگیری
شما با موفقیت یک وبسرور واقعی با لینوکس راهاندازی کردهاید و حالا میتوانید هر وبسایتی را روی آن میزبانی کنید. این روش برای پروژههای شخصی، آموزشی یا حتی سایتهای کوچک بسیار مفید و اقتصادی است.