
به اشتراک بگذارید
استارت نشدن Httpd یکی از رایجترین خطاهایی است که مدیران سرور لینوکسی و کاربران سی پنل با آن مواجه میشوند. این مشکل معمولا با پیام Failed to start httpd service یا خطاهای مشابه در هنگام راهاندازی سرویس Apache ظاهر میشود. و علت بروز آن نیز می تواند خطاهایی مثل اشغال بودن پورتها، خطای تنظیمات Apache یا محدودیتهای SELinux باشد. اما خبر خوب این است که در بیشتر مواقع، با چند مرحله ساده میتوانید علت اجرا نشدن httpd را شناسایی و رفع کنید.
در این مقاله از بلاگ وب داده قصد داریم با یک راهنمای جامع و بر اساس تجربه عملی، روشهای عیب یابی سرویس httpd را توضیح دهیم تا حتی کاربران مبتدی هم بتوانند مشکل را به آسانی بر طرف کنند. پس تا انتها همراه ما باشید.
در این مقاله از بلاگ وب داده قصد داریم با یک راهنمای جامع و بر اساس تجربه عملی، روشهای عیب یابی سرویس httpd را توضیح دهیم تا حتی کاربران مبتدی هم بتوانند مشکل را به آسانی بر طرف کنند. پس تا انتها همراه ما باشید.
🔗 برای استفاده از سرویسهای پایدار میزبانی وب، پیشنهاد میکنیم به لینک زیر مراجعه کنید.
آنچه در این مقاله میخوانید:
خطای Failed to start httpd service چیست؟
خطای Failed to start httpd (خطای راهاندازی httpd) به معنای این است که وب سرور آپاچی روی سرور شما راهاندازی نمیشود و نمیتواند کار خود را شروع کند. به عبارتی httpd همان نرمافزار Apache است که وظیفه نمایش وبسایتها را بر عهده دارد. وقتی این خطا رخ میدهد، به این معناست که:
🔶وبسایت شما از دسترس خارج می شود.
🔶 بازدیدکنندگان به جای سایت، صفحه خطا میبینند.
🔶 سرویس وب به هر دلیلی نمیتواند اجرا شود.
و به زبان بسیار ساده تر، تصور کنید Apache مثل یک پیشخدمت رستوران است که غذا (وبسایت) را به مشتریها (بازدیدکنندگان) سرو میکند. این خطا یعنی پیشخدمت نمیتواند سر کار بیاید، پس هیچ غذایی سرو نمیشود و رستوران تعطیل است!
🔶وبسایت شما از دسترس خارج می شود.
🔶 بازدیدکنندگان به جای سایت، صفحه خطا میبینند.
🔶 سرویس وب به هر دلیلی نمیتواند اجرا شود.
و به زبان بسیار ساده تر، تصور کنید Apache مثل یک پیشخدمت رستوران است که غذا (وبسایت) را به مشتریها (بازدیدکنندگان) سرو میکند. این خطا یعنی پیشخدمت نمیتواند سر کار بیاید، پس هیچ غذایی سرو نمیشود و رستوران تعطیل است!
دلایل استارت نشدن Httpd
قبل از شروع عیبیابی، باید بفهمیم Apache چگونه کار میکند. هنگامی که دستور systemctl start httpd را اجرا میکنید، Apache ابتدا فایلهای پیکربندی را بررسی میکند، سپس سعی میکند پورتهای 80 و 443 را باز کند، و در نهایت تمام Virtual Host ها را بارگذاری میکند. اگر در هر یک از این مراحل مشکلی وجود داشته باشد، این سرویس استارت نمیشود و در حقیقت با خطا در start کردن سرویس httpd مواجه می شوید.
اما راهاندازی نشدن سرویس Apache میتواند به عوامل مختلفی مرتبط باشد. در ادامه به برخی از مهم ترین دلایل این خطا اشاره میکنیم:
اما راهاندازی نشدن سرویس Apache میتواند به عوامل مختلفی مرتبط باشد. در ادامه به برخی از مهم ترین دلایل این خطا اشاره میکنیم:
1- اشغال پورت 80 یا 443 و خطای Httpd
یکی از رایج ترین دلایل خطای راهاندازی httpd، اشغال شدن پورت های اصلی وب سرور (مانند 80 یا 443) توسط سرویس های دیگری مثل Nginx یا Lighttpd یا یک panel نظارتی است. در چنین شرایطی Apache نمیتواند اجرا شود و به شما ارور می دهد. برای اطمینان، ابتدا باید با دستور زیر سرویس اشغالکننده پورت را شناسایی کرده و در صورت نیاز متوقف کنید:
netstat -tulnp | grep :80 اگر خروجی این دستورات نشان داد که پروسهای غیر از httpd روی پورت 80 در حال اجراست، باید آن را متوقف کنید. برای این کار دستور زیر را وارد کنید:
systemctl stop nginx
در دستور بالا به عنوان مثال systemctl روی پورت 80 در حال اجرا بوده با استفاده از این دستور آن را متوقف و سپس مجدد سرویس آپاچی را با استفاده از دستور اول استارت کنید.

📌نکته مهم: در بعضی موارد، httpd قدیمی هنوز در حال اجرا است. قبل از start کردن مجدد، حتما با ps aux | grep httpd بررسی کنید و فرآیندهای zombie را kill کنید.
2- خطا در فایلهای کانفیگ Apache
دومین دلیل خطای Failed to start httpd service، اشتباهات Syntax در فایلهای Config است. حتی یک علامت semicolon جا مانده یا یک ServerName اشتباه میتواند Apache را از کار بیندازد.
برای تست پیکربندی بدون restart کردن Apache می توانید از دستور زیر استفاده کنید:
برای تست پیکربندی بدون restart کردن Apache می توانید از دستور زیر استفاده کنید:
httpd -t
# یا در سیستمهای CentOS/RHEL:
apachectl configtest
# خروجی باید "Syntax OK" باشد. اگر خطا نشان داد، دقیقاً خط و فایل مشکلدار را به شما میگوید:
#AH00526: Syntax error on line 45 of /etc/httpd/conf/httpd.conf:
#Invalid command 'ServerNam', perhaps misspelled 
رایجترین خطاهای Syntax:
🔴 ServerName بدون نقطه (.): باید حتما یک FQDN معتبر باشد.
🔴 DocumentRoot به مسیر نامعتبر: مسیری که وجود ندارد.
🔴 تگهای باز نشده: مثلا
🔴 ماژولهای غیرفعال: استفاده از Directive ای که ماژول آن لود نشده
🔴 ServerName بدون نقطه (.): باید حتما یک FQDN معتبر باشد.
🔴 DocumentRoot به مسیر نامعتبر: مسیری که وجود ندارد.
🔴 تگهای باز نشده: مثلا
<VirtualHost> بدون </VirtualHost>🔴 ماژولهای غیرفعال: استفاده از Directive ای که ماژول آن لود نشده
📌 نکته مهم: در صورت تغییر در فایلهای کانفیگ، همیشه قبل از ذخیره یک بکاپ تهیه کنید.
3- کمبود منابع سرور
اگر سرور شما منابع محدودی مانند RAM یا CPU داشته باشد، امکان دارد سرویس httpd در هنگام راهاندازی به دلیل فشار بیش از حد استارت نشود. در چنین شرایطی معمولا پیام خطای OOM (Out of Memory) یا کرش ناگهانی سرویس در لاگها دیده میشود. برای رفع این مشکل میتوانید مصرف منابع را با دستورهایی مانند
top یا htop بررسی کنید، ماژولهای غیرضروری آپاچی را غیرفعال کنید یا در صورت نیاز میزان RAM و CPU سرور را ارتقا دهید.4- خطای SELinux یا دسترسیها در آپاچی
در برخی مواقع فعال بودن SELinux یا تنظیمات نادرست سطح دسترسی فایلها باعث میشود Apache اجازه خواندن یا نوشتن روی مسیرهای حیاتی مثل DocumentRoot یا لاگها را نداشته باشد و سرویس بالا نیاید. در این حالت باید وضعیت SELinux را بررسی کنید (getenforce) و همچنین Permission فایلها و فولدرهای وبسرور را بازبینی کنید.
روشهای عیبیابی سرویس httpd
برای حل مشکل استارت نشدن آپاچی باید مرحله به مرحله سرویس Apache بررسی شود یعنی یک پروسه سیستماتیک برای تشخیص و رفع خطا داشته باشیم. این یعنی از سادهترین بررسی ها مثل اشغال بودن پورتها و خطا در استارت کردن سرویس httpd شروع کرده و سپس لاگها، فایلهای کانفیگ و ماژولها را چک کنید تا علت دقیق خطا در استارت کردن سرویس httpd مشخص شود.
1- بررسی لاگهای Apache
اولین مرحله برای عیبیابی سرویس httpd بررسی لاگها است. ولی چگونه لاگ خطای httpd را بررسی کنیم؟ برای این کار کافی است از دستور زیر در ترمینال لینوکس استفاده کنید:
این دستورها محتوای لاگ سیستم و خطاهای Apache را نمایش میدهند تا بفهمید دقیقا چرا خطا در استارت کردن سرویس httpd رخ داده است:
این دستورها محتوای لاگ سیستم و خطاهای Apache را نمایش میدهند تا بفهمید دقیقا چرا خطا در استارت کردن سرویس httpd رخ داده است:
journalctl -xe
cat /var/log/httpd/error_log در دستور بالا بخش journalctl -xe برای دیدن علت خطا در استارت کردن سرویس httpd است که به کمک آن لاگهای سیستم به همراه جزئیات خطاهای اخیر، مخصوصا خطاهای مربوط به سرویسها نمایش داده می شود.
و در ادامه با دستور cat /var/log/httpd/error_log ، محتوای فایل لاگ اصلی Apache را خط به خط به شما نمایش داده می شود. در این فایل جزئیات خطاهایی که مانع اجرای سرویس شدهاند (مثل خطای پیکربندی یا دسترسی) ثبت میشود و دقیقا نشان میدهد چرا سرویس httpd در استارت کردن با خطا مواجه شده است.
و در ادامه با دستور cat /var/log/httpd/error_log ، محتوای فایل لاگ اصلی Apache را خط به خط به شما نمایش داده می شود. در این فایل جزئیات خطاهایی که مانع اجرای سرویس شدهاند (مثل خطای پیکربندی یا دسترسی) ثبت میشود و دقیقا نشان میدهد چرا سرویس httpd در استارت کردن با خطا مواجه شده است.

2- بررسی ماژولهای غیرفعال یا خراب در آپاچی
گاهی نصب یا حذف ناقص ماژولهایی مانند PHP یا SSL باعث میشود آپاچی نتواند به درستی بارگذاری شود و در نهایت علت اجرا نشدن httpd همین ماژولهای معیوب باشد. بهطور ساده اگر یک ماژول نسخه ناسازگار یا پیکربندی ناقص داشته باشد، سرویس httpd در هنگام استارت کردن متوقف میشود. در این حالت باید با دستور httpd -M لیست ماژول های فعال را بررسی و ماژول مشکل دار را غیرفعال یا دوباره نصب کنید.
3- بررسی SELinux برای رفع خطای httpd
یکی دیگر از روشها عیب یابی استارت نشدن این سرویس این است که در صورت نیاز میتوانید بهطور موقت SELinux را خاموش کنید. این کار باعث میشود محدودیت های امنیتی SELinux برای مدت کوتاه غیرفعال کنید (یعنی آن را در حالت Permissive یا مقدار صفر قرار میدهد) تا مطمئن شوید که علت خطا در استارت کردن سرویس httpd به SELinux مربوط می شود یا خیر. پس با استفاده از دستور زیر می توانید به صورت موقت SELinux را خاموش کنید.
setenforce 0 📌 نکته مهم : خاموش کردن SELinux فقط برای تست توصیه میشود و باید در نهایت دوباره آن را فعال کنید.
4- ری استارت صحیح سرویس (service httpd restart)
در برخی مواقع نیز یک Restart ساده میتواند مشکل را حل کند. دستور زیر سرویس httpd را متوقف کرده سپس دوباره اجرا میکند، یعنی در واقع یک بار کل پردازه Apache خاموش و روشن میشود تا تنظیمات تازه اعمال شده یا خطاهای موقت برطرف شوند. برای این کار کافی است دستور زیر را در ترمینال سرور لینوکس خود اجرا کنید:
systemctl restart httpd رفع خطای httpd در سی پنل cPanel
اگر از هاست سی پنل استفاده میکنید، روشهای خاص cPanel برای رفع این مشکل وجود دارد که سریع تر و ایمن تر هستند.
کاربرانی که از سرویس های سی پنل استفاده می کنند اغلب این مشکل را بهصورت مستقیم در محیط مدیریتی WHM یا پنل cPanel مشاهده میکنند. یعنی زمانی که سرویس Apache در بکاند دچار خطا میشود، پیام خطا مستقیما در این بخشها نمایش داده میشود و کاربر میتواند وضعیت سرویس httpd را بررسی یا اقدام به ری استارت آن کند. برای حل مشکل آپاچی در cPanel می توانید از دو راه حل زیر برای رفع این ارور استفاده کنید.
کاربرانی که از سرویس های سی پنل استفاده می کنند اغلب این مشکل را بهصورت مستقیم در محیط مدیریتی WHM یا پنل cPanel مشاهده میکنند. یعنی زمانی که سرویس Apache در بکاند دچار خطا میشود، پیام خطا مستقیما در این بخشها نمایش داده میشود و کاربر میتواند وضعیت سرویس httpd را بررسی یا اقدام به ری استارت آن کند. برای حل مشکل آپاچی در cPanel می توانید از دو راه حل زیر برای رفع این ارور استفاده کنید.
1- بررسی Service Manager در WHM
از بخش Service Manager میتوانید مطمئن شوید که سرویس Apache فعال است و در حالت Enable قرار دارد. این بخش در واقع کنترل پنل سرویس های اصلی سرور است و به شما امکان میدهد سرویس httpd را روشن، خاموش یا ریاستارت کنید تا مطمئن شوید مشکل خطای استارت کردن سرویس httpd از غیرفعال بودن آن نیست.
2- استفاده از EasyApache
یکی دیگر از روشهای رفع خطای httpd در سی پنل Rebuild Apache در (Web Host Manager) WHM است، که این روش برای رفع خطاهای پیچیدهتر در WHM میتواند به بازسازی پیکربندی کمک کند. در این روش کافی است وارد WHM شوید، بخش EasyApache 4 را باز کنید و مراحل Build یا Rebuild را اجرا کنید تا ماژولها و تنظیمات Apache دوباره ساخته شوند و مشکل خطای استارت کردن سرویس httpd برطرف شود.
مراحلی که نیاز است گام به گام اجرا کنید:
مراحلی که نیاز است گام به گام اجرا کنید:
- ابتدا وارد WHM شوید (پورت 2087)
- به قسمت “EasyApache 4” بروید.
- سپس گزینه “Rebuild” را بزنید.
- اکنون مدت 10 تا 15 دقیقه منتظر بمانید تا فرآیند تکمیل شود.
- سپس “Restart Apache” کنید.
📌 نکته مهم : Rebuild Apache ممکن است تنظیمات سفارشی شما را بازنویسی کند. پس حتما قبل از انجام این کار backup بگیرید.
cp -r /etc/httpd/conf /root/httpd-conf-backup-$(date +%Y%m%d)
cp /usr/local/apache/conf/httpd.conf /root/httpd.conf.backup 3- بررسی Virtual Host های مشکل دار
در محیط cPanel، هر اکانت یک Virtual Host جداگانه دارد. گاهی یک اکانت مشکل دار میتواند کل Apache را از کار بیندازد.
برای پیدا کردن Virtual Host مشکل دار از دستور زیر استفاده کنید:
برای پیدا کردن Virtual Host مشکل دار از دستور زیر استفاده کنید:
# تست تکتک فایلهای conf:
for conf in /etc/apache2/conf.d/userdata/*/*.conf; do
echo "Testing: $conf"
httpd -t -f "$conf" 2>&1 | grep -v "Syntax OK"
done جلوگیری از بروز مجدد خطای راهاندازی httpd
پیشگیری همیشه بهتر از درمان است. اکنون که با روشهای رفع خطای استارت نشدن Httpd برای پیشگیری از بروز مجدد آن توصیه های زیر را رعایت کنید که تا حد ممکن با خطای Failed to start httpd service مواجه نشوید.
1- مانیتورینگ منابع سرور لینوکسی :
گاهی خطای Failed to start httpd به دلیل کمبود RAM یا CPU اتفاق میافتد. سعی کنید در سرور لینوکسی خود ابزارهایی مانند htop، atop، یا Prometheus را برای مانیتورینگ نصب کنید.
# نصب htop:
yum install htop -y
# مشاهده لحظهای منابع:
htop 
2- Backup گرفتن از فایلهای Config :
همیشه قبل از هر تغییری در فایلهای Apache، backup بگیرید:
# اسکریپت خودکار backup:
#!/bin/bash
BACKUP_DIR="/root/apache-backups"
DATE=$(date +%Y%m%d-%H%M)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/httpd-conf-$DATE.tar.gz /etc/httpd/conf /etc/httpd/conf.d
# نگه داشتن فقط 10 backup آخر:
ls -t $BACKUP_DIR/*.tar.gz | tail -n +11 | xargs rm -f
echo "Backup completed: httpd-conf-$DATE.tar.gz" جمع بندی، رفع خطای استارت نشدن httpd
خطای استارت نشدن Httpd (Failed to start httpd service) ممکن است برای بسیاری از کاربران نگرانکننده باشد، اما با بررسی دقیق علت های احتمالی قابل رفع است باید بدانید که 70% خطاهای Apache ناشی از اشتباهات انسانی در ویرایش دستی است.
بررسی لاگها، اطمینان از عدم اشغال بودن پورت 80، بازبینی فایلهای کانفیگ و استفاده از ابزارهای مدیریتی cPanel از جمله مهمترین گامها برای رفع آن هستند. تجربه نشان داده است که با کمی دقت و دانش پایه، کاربران میتوانند به راحتی این مشکل را حل کنند.
توصیه ما این است که همواره قبل از تغییرات اساسی از تنظیمات بکاپ بگیرید و از منابع معتبر آموزشی استفاده کنید تا مدیریت سرور ایمن تر و حرفه ای تری داشته باشید. امیداواریم این مقاله از بلاگ وب داده برای شما مفید بوده باشد در صورتی که تجربه ای در این زمینه داشتید خوشحال می شویم آن را با ما در میان بگذارید.
بررسی لاگها، اطمینان از عدم اشغال بودن پورت 80، بازبینی فایلهای کانفیگ و استفاده از ابزارهای مدیریتی cPanel از جمله مهمترین گامها برای رفع آن هستند. تجربه نشان داده است که با کمی دقت و دانش پایه، کاربران میتوانند به راحتی این مشکل را حل کنند.
توصیه ما این است که همواره قبل از تغییرات اساسی از تنظیمات بکاپ بگیرید و از منابع معتبر آموزشی استفاده کنید تا مدیریت سرور ایمن تر و حرفه ای تری داشته باشید. امیداواریم این مقاله از بلاگ وب داده برای شما مفید بوده باشد در صورتی که تجربه ای در این زمینه داشتید خوشحال می شویم آن را با ما در میان بگذارید.
سوالات متداول درباره استارت نشدن آپاچی
چرا سرویس Apache یا httpd روی سرور من استارت نمیشود؟
همانطور که در همین مقاله نیز توضیح داده شده علت آن میتواند اشغال بودن پورتها، خطای کانفیگ یا کمبود منابع باشد.
خطای Failed to start httpd service در سی پنل چطور رفع میشود؟
خطای httpd در cPanel بیشتر در چه شرایطی رخ میدهد؟
رفرنس هایی که در این مقاله استفاده شده است:
1- Apache HTTP Server Documentation (2024-2025) – Official Apache Foundation
2- cPanel & WHM Documentation – Apache Troubleshooting (2025)
1- Apache HTTP Server Documentation (2024-2025) – Official Apache Foundation
2- cPanel & WHM Documentation – Apache Troubleshooting (2025)



