آنچه در این مقاله میخوانید
آموزش نصب وب سرور آپاچی در دبیان
۲۹ فروردین ۱۴۰۴
آیا تا بهحال به این فکر کردهاید که چه چیزی باعث میشود وبسایتها روی اینترنت فعال و در دسترس باشند؟ آپاچی (َApache) یکی از پرطرفدارترین سرورهای وب در دنیای اینترنت است که بیش از نیمی از وبسایتهای فعال جهان را میزبانی میکند، ویژگی هایی مثل پشتیبانی از اکثر سیستم عامل ها، پشتیبانی رسانه ای قدرتمند و قابلیت ادغام با نرم افزارهای پرکاربرد دیگر باعث شده اند که آپاچی به یک انتخاب ایده آل تبدیل شود. اگرچه وبسرورهای بسیاری وجود دارند که میتوانند محتوای شما را در بستر اینترنت، نمایش دهند، اما آشنایی با نحوه عملکرد آپاچی به دلیل همهگیر بودن آن، مفید است. در این مقاله از لیارا، به شما نشان میدهیم که چرا آشنایی با نحوه عملکرد آپاچی میتواند برای هر کسی که میخواهد سایت خود را به بهترین شکل مدیریت کند، ضروری باشد. تا پایان با ما همراه باشید.
پیشنیازهای نصب آپاچی در دبیان
پیش نیاز اصلی نصب این وبسرور، یک سرور دیبان نسخه ۱۲ میباشد. با مراجعه به صفحه خرید سرور مجازی دبیان، پیش نیاز اصلی این وبسرور را فراهم کنید. بعد از اینکه خیالتان از جانب سرور راحت شد، باید پیشنیازهای زیر را هم برای نصب وبسرور آپاچی آماده کنید:
- کاربر غیر ریشه با دسترسی sudo
- فعال بودن فایروال برای مسدود کردن پورت های غیرضروری

آنچه در ادامه میخوانید:
- مرحله اول: نصب وبسرور Apache
- مرحله دوم: پیکربندی فایروال
- مرحله سوم: بررسی وبسرور
- مرحله چهارم: مدیریت سرویس آپاچی
- مرحله پنجم: راهاندازی یک هاست مجازی
- مرحله ششم: آشنایی با فایلها و دایرکتوریهای مهم آپاچی
- جمعبندی
- سوالات متداول
همچنین برای درک کامل مقاله، توصیه میشود در ابتدا، به مطالعه و بررسی مقالههای زیر، بپردازید:
- سرور مجازی یا VPS چیست؟ معرفی انواع VPS + کاربردها
- SSH چیست؟ + نحوه استفاده از SSH برای اتصال به سرور مجازی (VPS)
مرحله اول: نصب وبسرور Apache
آپاچی در مخازن پیشفرض دبیان در دسترس است، بنابراین میتوانید آن را بهراحتی با استفاده از دستورات زیر نصب کنید.
ابتدا با دستور زیر پکبجهای محلی را بهروزرسانی کنید تا آخرین تغییرات و نسخهها از منابع رسمی دریافت شود:
sudo apt update
سپس، پکیج Apache2 را با دستور زیر نصب کنید:
sudo apt install apache2
پس از تایید نصب، ابزار apt، آپاچی و تمامی وابستگیهای مورد نیاز آن را نصب خواهد کرد.
مرحله دوم: پیکربندی فایروال
قبل از تست آپاچی، بهتر است تنظیمات فایروال UFW که قبلا برای محدود کردن دسترسیها به سرور پیکربندی کرده بودید را تغییر دهید تا بعضی از پورتها باز شوند و امکان دسترسی خارجی به آن پورتها فراهم شود.
هنگام نصب، آپاچی بهطور خودکار در UFW ثبت میشود و چند پروفایل برای دسترسی به آپاچی از طریق فایروال ارائه میدهد. حالا شما باید یکی از این پروفایلها را اننخاب کنید.
برای مشاهده پروفایلها، دستور زیر را اجرا کنید:
sudo ufw app list
این دستور، لیست این پروفایل ها را در اختیار شما قرار می دهد:
Output
Available applications:
AIM
Bonjour
CIFS
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .
پروفایلهای آپاچی با WWW شروع میشوند:
WWW
: این پروفایل تنها پورت80
(ترافیک وب معمولی و بدون رمزنگاری) را باز میکند.WWW Cache
: این پروفایل تنها پورت8080
را باز میکند (که گاهی برای کشینگ و پراکسیهای وب استفاده میشود).WWW Full
: این پروفایل هم پورت80
(ترافیک وب معمولی و بدون رمزنگاری) و هم پورت443
(ترافیک رمزنگاری شده TLS/SSL) را باز میکند.WWW Secure
: این پروفایل تنها پورت443
(ترافیک رمزنگاری شده TLS/SSL) را باز میکند.
پیشنهاد میکنیم که محدودترین پروفایلی را که همچنان اجازه میدهد ترافیک پیکربندی شده شما عبور کند را فعال کنید. از آنجا که در این راهنما هنوز SSL را برای سرور خود پیکربندی نکردهاید، فقط به باز کردن پورت 80
نیاز دارید. با دستور زیر آنرا باز کنید:
sudo ufw allow 'WWW'
برای تائید تغییرات، میتوانید وضعیت فایروال را بررسی کنید:
sudo ufw status
خروجی زیر، فهرستی از ترافیک HTTP مجاز را نمایش خواهد داد:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)
همانطور که در خروجی مشاهده کردید، پروفایل شما فعال شده است تا دسترسی به وبسرور آپاچی را امکانپذیر کند.
بیشتر بخوانید: نحوه تنظیم سرور وب آپاچی روی سرور مجازی لینوکس (VPS)
مرحله سوم: بررسی وبسرور
در پایان فرایند نصب، دبیان آپاچی را راهاندازی میکند و اکنون وبسرور باید فعال و در حال اجرا باشد. برای اطمینان از فعال بودن سرویس، دستور زیر را اجرا کنید:
sudo systemctl status apache2
خروجی:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
Active: active (running) since Wed 2022-07-06 22:05:45 UTC; 23s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 2796 (apache2)
Tasks: 55 (limit: 9509)
Memory: 21.0M
CPU: 67ms
CGroup: /system.slice/apache2.service
├─2796 /usr/sbin/apache2 -k start
├─2798 /usr/sbin/apache2 -k start
└─2799 /usr/sbin/apache2 -k start
خروجی بالا تائید میکند که سرویس با موفقیت راهاندازی شده است. اما بهترین روش برای تست ایناست که صفحهای از آپاچی درخواست کنید.
برای این کار ،دستور زیر را در خط فرمان سرور خود وارد کنید:
hostname -I
بعد از اجرای دستور بالا، شما چندین آدرس دریافت خواهید کرد که با فاصله از هم جدا شدهاند. میتوانید هرکدام را در مرورگر وب خود امتحان کنید تا مطمئن شوید کار میکنند یا خیر.
روش دیگر استفاده از ابزار icanhazip.com
است. این سایت با بازشدن، آدرس IP عمومی سرور شما را از طریق اینترنت به شما نمایش میدهد. اگر ابزار curl
را قبلا نصب نکردهاید، میتوانید آن را با استفاده از دستور زیر نصب کنید:
sudo apt install curl
سپس از دستور curl
برای دریافت آدرس IP عمومی خود از طریق icanhazip.com
با استفاده از IPv4 استفاده کنید:
curl -4 icanhazip.com
زمانی که آدرس IP سرور خود را پیدا کردید، آن را در نوار آدرس مرورگر خود وارد کنید:
http://your_server_ip
در آخر باید صفحه پیشفرض آپاچی Debian 12 را مشاهده کنید:

این صفحه نشان میدهد که آپاچی به درستی کار میکند.
همچنین بخوانید: نحوه نصب انجین ایکس، MySQL و پی اچ پی (LEMP) بر روی سرور مجازی لینوکس
مرحله چهارم: مدیریت سرویس آپاچی
تقریباً در مراحل پایانی نصب وب سرور آپاچی هستیم ولی بهتر است قبل از انجام پیکربندی های نهایی، وضعیت سرویس آپاچی را بررسی کنید.
با دستور زیر از فعال بودن سرویس آپاچی مطمئن شوید:
sudo systemctl stop apache2
خروجی:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since [timestamp]
Docs: https://httpd.apache.org/docs/2.4/
Process: [process_id] ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: [main_pid] (apache2)
Tasks: [task_count]
Memory: [memory_usage]
CGroup: /system.slice/apache2.service
├─[main_pid] /usr/sbin/apache2 -k start
├─[worker_pid] /usr/sbin/apache2 -k start
└─[worker_pid] /usr/sbin/apache2 -k start
خروجی بالا تایید می کند که سرویس با موفقیت اجرا شده است، اما بهترین راه برای تست سرویس آپاچی این است که با استفاده از مرورگر، صفحه پیش فرض آپاچی را درخواست کنید چون اگر این صفحه برای شما باز شود، می توانید مطمئن باشید که این سرویس از طریق IP شما به درستی اجرا می شود.
حالا برای راهاندازی وبسرور زمانی که متوقف شده است، دستور زیر را اجرا کنید:
sudo systemctl start apache2
سپس برای توقف سرویس و سپس راهاندازی مجدد آن، دستور زیر را وارد کنید:
sudo systemctl restart apache2
اگر فقط در حال اعمال تغییرات پیکربندی هستید، آپاچی معمولاً میتواند بدون قطع ارتباطات مجدداً بارگذاری شود. برای این کار، از دستور زیر استفاده کنید:
sudo systemctl reload apache2
بهطور پیشفرض، آپاچی طوری پیکربندی شده است که بهطور خودکار موقع راهاندازی سرور شروع بهکار کند. اگر نمیخواهید اینطور شود، میتوانید با اجرای دستور زیر این ویژگی را غیرفعال کنید:
sudo systemctl disable apache2
سپس برای فعالسازی مجدد سرویس بهمنظور شروع خودکار هنگام راهاندازی سرور، دستور زیر را وارد کنید:
sudo systemctl enable apache2
اکنون آپاچی بهطور خودکار هنگام راهاندازی مجدد سرور شروع به کار خواهد کرد.
همچنین بخوانید: مقایسه وبسرور Apache و NGINX؛ کدام را انتخاب کنیم؟
مرحله پنجم: راهاندازی یک هاست مجازی
وبسرور آپاچی این امکان را به شما میدهد که از هاست مجازی استفاده کنید. هاست مجازی تقریبا مشابه بلوکهای سرور در وبسرور Nginx است و اگر بخواهید جزئیات پیکربندی را به صورت جداگانه مدیریت کرده و سرور شما میزبان بیش از یک دامنه باشد، استفاده از هاست مجازی پیشنهاد میشود.
در این آموزش از دامنه Domain.info
استفاده میکنیم، اما شما باید نام دامنه خودتان را جایگزین کرده و بخشهایی که از Domain.info
استفاده کردهایم را با نام دامنه خودتان تغییر دهید. برای ایجاد هاست مجازی مراحل زیر را دنبال کنید.
ایجاد یک دایرکتوری برای دامنه
آپاچی به طور پیشفرض یک بلوک سرور فعال دارد که برای ارائه داکیومنتهای موجود در دایرکتوری /var/www/html
پیکربندی شده است. این پیکربندی برای زمانی که تنها یک سایت روی سرور دارید کاملاً مناسب است.
اما اگر قصد دارید چندین وبسایت را روی سرور خود راهاندازی کنید، ممکن است اوضاع کمی پیچیده شود. پس بهتر است این پیچیدگیها را به سادگی حل کنیم.
کافی است در مسیر /var/www
یک دایرکتوری جدید برای سایت Domain.info
ایجاد کنید و بگذارید /var/www/html
به عنوان دایرکتوری پیشفرض باقی بماند، تا در صورتی که سایتهای دیگر نتواستند به درخواست کاربر پاسخ دهند، این دایرکتوری بهعنوان پیشفرض ارائه شود.
برای ایجاد دایرکتوری دامنه، دستور زیر را اجرا کنید:
sudo mkdir -p /var/www/your_domain
سپس با استفاده از دستور زیر، مالکیت دایرکتوری را به کاربر فعلی تغییر دهید:
sudo chown -R $USER:$USER /var/www/your_domain
اگر تا الان مقدار umask
را تغییر نداده اید، پروسه مجوزدهی به فایلهای root وبسایت به درستی انجام خواهد شد. اما برای اطمینان از این موضوع، بهتر است مجوزهای لازم برای خواندن، نوشتن و اجرای فایل های این دایرکتوری را با دستور زیر لحاظ کنید:
sudo chmod -R 755 /var/www/your_domain
همچنین بخوانید: نحوه نصب وب سرور آپاچی Apache روی سرور مجازی لینوکس Linux یا VPS
ایجاد یک صفحه برای وبسایت
تا الان هاست جدید را راهاندازی کردهاید و مجوزهای آن را هم به درستی تنظیم کردهاید. حالا باید یک صفحه برای این وبسایت ایجاد کنید.
برای این کار میتوانید از ویرایشگر nano یا هر ویرایشگر دلخواه دیگر استفاده کنید.
sudo nano /var/www/Domain.info/index.html
کد html زیر را کپی کرده و در فایل index پیست کنید:
<html>
<head>
<title>Welcome to Your_domain!</title>
</head>
<body>
<h1>Success! The your_domain virtual host is working!</h1>
</body>
</html>
بعد، آن را ذخیره کرده و ببندید. اگر از ویرایشگر nano استفاده کردید، از Ctrl+O
برای ذخیره و سپس از Ctrl+X
هم برای خروج از فایل استفاده کنید.
همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راهاندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه بهصرفه
خرید سرور مجازی ابری
ایجاد فایل پیکربندی هاست مجازی
برای اینکه آپاچی بتواند محتویات این فایل را ارائه دهد باید یک فایل پیکربندی هاست مجازی ایجاد کنید که برای این کار میتوانید از دستور زیر استفاده کنید:
sudo nano /etc/apache2/sites-available/Domain.info.conf
سپس، متن زیر را در این فایل کپی کنید و Domain.info
را با اسم دامنه خود جایگزین کنید.
VirtualHost *:80>
ServerAdmin admin@Domain.info
ServerName Domain.info
ServerAlias Domain.info
DocumentRoot /var/www/Domain.info/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
بعد از اتمام این کار، فایل را ذخیره کرده و آن را ببندید.
فعالسازی فایل پیکربندی هاست مجازی
برای فعال سازی این فایل با استفاده از ابزار a2ensite، دستور زیر را اجرا کنید:
sudo a2ensite Domain.info.conf
حالا نوبت این است که فایل پیکربندی مجازی پیش فرض (000-default-conf) را غیرفعال کنید:
sudo a2dissite 000-default.conf
در آخر، آپاچی را ریاستارت کنید تا تغییرات جدید اعمال شوند:
sudo systemctl restart apache2
تست هاست مجازی
در حال حاضر آپاچی آماده ارائه دامنه شما است و کافیست مرورگر خود را باز کنید و http://your_domain
خود را جستجو کنید.

مشاهده صفحه ایندکس نشان دهنده این است که سرور آپاچی کار خود را بهدرستی انجام داده است.
مرحله ششم: آشنایی با فایلها و دایرکتوریهای مهم آپاچی
حالا که با نحوه مدیریت سرویس آپاچی آشنا شدید، بهتر است چند دقیقه وقت بگذارید و با برخی از دایرکتوریها و فایلهای مهم آن آشنا شوید. این آشنایی به شما کمک میکند تا در آینده راحتتر بتوانید تنظیمات و پیکربندیهای لازم را انجام دهید.
محتوا:
/var/www/html
: محتوای اصلی وب که بهطور پیشفرض فقط شامل صفحه پیشفرض آپاچی است که قبلاً مشاهده کردید، از دایرکتوری/var/www/html
ارائه میشود. این مسیر با تغییر فایلهای پیکربندی آپاچی قابل تغییر است.
پیکربندی سرور:
/etc/apache2
: دایرکتوری پیکربندی آپاچی که تمام فایلهای پیکربندی این وبسرور در آن قرار دارند./etc/apache2/apache2.conf
: فایل اصلی پیکربندی آپاچی که برای تغییرات پیکربندی جهانی آپاچی استفاده میشود. این فایل مسئول بارگذاری بسیاری از فایلهای دیگر موجود در دایرکتوری پیکربندی است./etc/apache2/ports.conf
: این فایل پورتهایی را که آپاچی بر روی آنها گوش میدهد مشخص میکند. بهطور پیشفرض، آپاچی بر روی پورت80
گوش میدهد و در صورت فعال بودن ماژولی برای پشتیبانی از SSL، بر روی پورت443
نیز گوش میدهد./etc/apache2/sites-available/
: دایرکتوری که هاستهای مجازی هر سایت در آن ذخیره میشود. آپاچی فقط زمانی از این فایلها استفاده میکند که به دایرکتوریsites-enabled
لینک شوند. معمولاً تمام پیکربندیهای سرور بلاک در این دایرکتوری انجام شده و سپس با دستورa2ensite
به دایرکتوری دیگر لینک میشوند./etc/apache2/sites-enabled/
: دایرکتوری که هاستهای مجازی فعال هر سایت در آن ذخیره میشود. معمولاً اینها با استفاده از دستورa2ensite
به فایلهای پیکربندی در دایرکتوریsites-available
لینک میشوند. آپاچی هنگام شروع یا بارگذاری مجدد، فایلها و لینکهای موجود در این دایرکتوری را برای تدوین یک پیکربندی کامل میخواند./etc/apache2/conf-available/, /etc/apache2/conf-enabled/
: این دایرکتوریها همان روابط را با دایرکتوریهایsites-available
وsites-enabled
دارند، اما برای ذخیره قطعات پیکربندی که به هاست مجازی تعلق ندارند استفاده میشوند. فایلهای موجود در دایرکتوریconf-available
میتوانند با دستورa2enconf
فعال و با دستورa2disconf
غیرفعال شوند./etc/apache2/mods-available/, /etc/apache2/mods-enabled/
: این دایرکتوریها بهترتیب ماژولهای موجود و فعال را ذخیره میکنند. فایلهایی که با.load
تمام میشوند، قطعاتی برای بارگذاری ماژولهای خاص را شامل میشوند، در حالی که فایلهای.conf
پیکربندی آن ماژولها را نگهداری میکنند. ماژولها میتوانند با استفاده از دستوراتa2enmod
وa2dismod
فعال یا غیرفعال شوند.
لاگهای سرور:
/var/log/apache2/access.log
: بهطور پیشفرض، هر درخواست به وبسرور شما در این فایل لاگ ثبت میشود مگر اینکه آپاچی طوری پیکربندی شده باشد که خلاف این عمل کند./var/log/apache2/error.log
: بهطور پیشفرض، تمام خطاها در این فایل ثبت میشوند. دستورLogLevel
در پیکربندی آپاچی مشخص میکند که چه میزان جزئیات در لاگهای خطا قرار میگیرد.
سرور مجازی دبیان بدون پیچیدگی، در چند ثانیه آماده استفاده است. همین الان با سادگی تمام، شروع به کار با آن کنید!
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه بهصرفه
خرید سرور مجازی دبیان
جمعبندی
آپاچی یکی از پرکاربردترین وبسرورهایی است که تقریبا در ۶۸ درصد وبسایتها استفاده میشود. مراحل نصب وبسرور آپاچی در اوبونتو و دبیان تقریبا مشابه است و اگر مراحل نصب و پیکربندی این وبسرور را به همان ترتیبی که در این مقاله توضیح دادیم، دنبال کنید، قطعاً با مشکلی مواجه نخواهید شد. از اینکه تا انتهای مقاله همراه ما بودید، سپاسگزاریم.
سوالات متداول
وب سرور آپاچی فقط مناسب سرورهای لینوکسی است؟
خیر، البته اکثر سرورهای لینوکسی از وبسرور آپاچی استفاده میکنند اما برای نصب آپاچی روی ویندوز نیز هیچ محدودیتی ندارید.
چگونه میتوانم وضعیت سرویس Apache را بررسی کنم؟
با استفاده از دستور sudo systemctl status apache2
میتوانید وضعیت اجرای Apache را بررسی کنید.
چگونه Apache را مجدداً بارگذاری کنم بدون قطع ارتباطات فعال؟
از دستور sudo systemctl reload apache2
استفاده کنید تا تغییرات پیکربندی اعمال شده و سرویس بدون قطع ارتباطات جاری بهروزرسانی شود.
فایلهای پیکربندی Apache در کجا قرار دارند؟
فایلهای اصلی پیکربندی در دایرکتوری /etc/apache2
قرار دارند. به عنوان مثال، فایل apache2.conf
فایل اصلی تنظیمات است.
چگونه میتوانم یک هاست مجازی (Virtual Host) برای چندین دامنه تنظیم کنم؟
دایرکتوریهای sites-available
و sites-enabled
در /etc/apache2/
برای مدیریت هاستهای مجازی استفاده میشوند. ابتدا فایل پیکربندی هاست مجازی خود را در sites-available
ایجاد و سپس با دستور a2ensite
آن را فعال کنید.
چطور میتوانم یک دایرکتوری متفاوت برای ارائه وبسایتام تنظیم کنم؟
به جای استفاده از دایرکتوری پیشفرض /var/www/html
، میتوانید یک دایرکتوری جدید مثلاً /var/www/your_domain
ایجاد کرده و در فایلهای پیکربندی Apache به آن ارجاع دهید.
ماژولهای Apache چگونه مدیریت میشوند؟
ماژولهای موجود در دایرکتوریهای mods-available
و mods-enabled
قرار دارند. با استفاده از دستورات a2enmod
و a2dismod
میتوانید ماژولها را فعال یا غیرفعال کنید.
لاگهای Apache در کجا ذخیره میشوند؟
لاگهای دسترسی در فایل /var/log/apache2/access.log
و لاگهای خطا در فایل /var/log/apache2/error.log
ثبت میشوند.
چگونه Apache را به صورت خودکار در زمان راهاندازی سرور فعال یا غیرفعال کنم؟
برای فعالسازی خودکار Apache در زمان راهاندازی سرور از دستور sudo systemctl enable apache2
و برای غیرفعال کردن آن از دستور sudo systemctl disable apache2
استفاده کنید.