خطای Apache در LAMP زمانی که Apache شروع به کار میکند، دو فایل log به ترتیب در /opt/bitnami/apache2/logs/access_log و /opt/bitnami/apache2/logs/error_log ایجاد میشوند.
رفع خطای apache در lamp
- از access_log برای رهگیری درخواستهای client استفاده میشود. زمانی که client درخواست فایلی را به سمت سرور ارسال میکند، آپاچی چند مشخصهی مرتبط با آن درخواست چون آدرس IP آن client، فایل درخواست شده، کد وضعیت HTTP و زمان درخواست را در این فایل ذخیره میکند.
- از error_log برای ثبت اتفاقات مهم استفاده میشود. این فایل شامل پیامهای خطا، پیامهای راهاندازی و هر اتفاق قابلتوجه دیگری است که در چرخهی حیات سرور اتفاق میافتد. هنگام استفاده از آپاچی و زمان مواجه شدن با یک مشکل، این فایل اولین فایلی است که باید بررسی شود.
اگر هیچ خطایی وجود نداشته باشد با چنین پیامی مواجه خواهید شد:
Syntax OK
خطاهای راهاندازی
- بررسی فایل error_log آپاچی
برای این کار فایل error_log را از مسیر /opt/bitnami/apache2/logs/error_log باز کنید تا اطلاعاتی دربارهی دلیل خطای اتفاق افتاده به دست بیاورید.
- بررسی کنید که پورت موردنظر مشغول نباشد
اگر فرآیند دیگری در حال استفاده از پورت موردنظر شما باشد، چنین پیامی دریافت میکنید:
(۹۸)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:port_number
no listening sockets available, shutting down
برای پی بردن به اینکه چه فرآیندی در حال استفاده از پورت موردنظر است، میتوانید از دستور cmd زیر استفاده کنید:
sudo netstat -ltnp | grep :port_number
در ستون انتهایی میتوانید ID یا نام فرآیند مذکور را مشاهده کنید. سپس از دستور زیر استفاده کنید:
ps aux | grep process_name
در ستون دوم دنبال pid بگردید تا اطلاعات بیشتری دربارهی آن فرآیند به دست بیاورید.
اگر فرآیند دیگری در حال استفاده از پورت موردنظر بود یا پورت را تغییر داده و از پورت دیگری استفاده کنید، یا آن فرآیند را متوقف کنید.
- بررسی مجوزها و مالکیت
برای اتصال Apache به پورتهای خاص، آن را در حالت کاربر root اجرا کنید. اگر مجوز اتصال Apache به برخی پورتها را نداشته باشید با چنین پیامی مواجه خواهید شد:
(۱۳)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:port_number
no listening sockets available, shutting down
اگر Apache قادر به باز کردن فایل log یا پیکربندی نیست، بررسی کنید که آیا مالک این فایلها همان کاربری است که Apache را نصب کرده و اگر جواب مثبت بود، آیا مجوز نوشتن در فایلهای log و مجوز خواندن فایل پیکربندی را دارد یا نه. اگر ایراد از این بخش باشد چنین پیامهای خطایی دریافت میکنید:
(۱۳)Permission denied: AH00649: could not open transfer log file …/access_log.
AH00015: Unable to open logs
(۱۳)Permission denied: AH00091: httpd: could not open error log file …/error_log.
AH00015: Unable to open logs
httpd: Could not open configuration file …/httpd.conf: Permission denied
apache config test fails, aborting
خطاهای SSL
پیام «Your connection to this site is only partially encrypte» زمانی نمایش داده میشود که شما SSL را برای سایت خود فعال کردهاید، اما در صفحهی وبسایت شما آدرسهای HTTP رمزنگاری نشدهای وجود دارد.
اطلاع از اینکه آیا ایراد از این موضوع است یا خیر، صفحهی موردنظر را باز کنید و دنبال هر لینکی بگردید که با http:// شروع میشود. برای حل این مشکل theme یا قالبهای خود را بهشکل دستی بهروزرسانی کنید و تمام آدرسهای http:// را با //: جایگزین کنید. برای نمونه:
<img src=’//example.com/img.png’/>
نکته: بنا به دلایل امنیتی هرگز کلید محرمانهی سرور SSL خود را در فرومهای عمومی فاش نکنید!
مطالب مرتبط: