• پیکربندی آپاچی نمای کلی پیکربندی آپاچی در اوبونتو چرا تنظیمات فایل های پیکربندی آپاچی به طور ناگهانی از بین رفتند؟

    سرور لینوکس کولیسنیچنکو دنیس نیکولاویچ را خودتان انجام دهید

    12.2.2. پیکربندی آپاچی با netconf

    تقریباً تمام گزینه های وب سرور آپاچی را می توان با استفاده از پیکربندی netconf (یا linuxconf) تنظیم کرد. برای انجام این کار، netconf را شروع کرده و به تب بروید وظایف سرور،و سپس بر روی دکمه "Apache Webserver" کلیک کنید (شکل 12.2 را ببینید).

    برنج. 12.2. پیکربندی آپاچی با netconf

    با netconf، می توانید به راحتی گزینه های اصلی Apache را تنظیم کنید (شکل 12.3 را ببینید)، میزبان های مجازی را تعریف کنید، گزینه های زیر شاخه را تنظیم کنید، مشخصات دایرکتوری و ماژول را تعریف کنید، و گزینه هایی را برای ماژول mod_ssl تنظیم کنید (شکل 12.4) را که در زیر پیکربندی شده است. فصل

    برنج. 12.3. گزینه های پایه آپاچی

    برنج. 12.4. پیکربندی ماژول Mod_ssl

    از کتاب اورکلاک سایت خود نویسنده ماسیفسکی نیکولای

    از کتاب لینوکس برای کاربر نویسنده کوسترومین ویکتور آلکسیویچ

    پیکربندی Apache 2 برای Apache 2، مراحل توضیح داده شده بسیار ساده تر به نظر می رسند.# Content-Type را برای همه فایل ها با پسوند .gzAddEncoding اضافه کنید. gzip .gz# فشرده سازی را برای فایل های HTML و XML فعال کنیدAddOutputFilterByType DEFLATE text/htmlAddLDEFLATEx for html (در مورد آن در زیر بیشتر) AddOutputFilterByType DEFLATE image/x-icon#

    از کتاب DIY Linux Server نویسنده

    پیکربندی تست‌های آپاچی تحت Konqueror نشان داده است که این مرورگر فایل‌های آرشیو شده (CSS و جاوا اسکریپت) را درک نمی‌کند، بنابراین برای اینکه یک دهم درصد بازدیدکنندگان را از حمله قلبی نجات دهند (هنگامی که سایتی بدون سبک مناسب می‌بینند)، ارزش افزودن به این مجموعه را دارد

    برگرفته از کتاب Linux: The Complete Guide نویسنده کولیسنیچنکو دنیس نیکولاویچ

    از راهنمای شروع سریع اوبونتو 10 نویسنده کولیسنیچنکو دی.ان.

    Apache 2 config # set header Content-Encoding: gzipAddEncoding gzip .gz# فعال کردن gzip از ابتدا برای فایل‌های متنی AddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml#coputFilter-DUTY و favicon. con# همچنین برای CSS و جاوا اسکریپت -filesAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE

    از کتاب لینوکس از نگاه یک هکر نویسنده فلنوف میخائیل اوگنیویچ

    13.2.6. ابزار netconf در بخش‌های قبلی، من سعی کردم به طور کامل و متوالی توضیح دهم که چگونه می‌توانید دسترسی به شبکه را با ویرایش مستقیم فایل‌های پیکربندی پیکربندی کنید. با این حال، تنظیمات شبکه محلی را می توان با استفاده از ابزارهای ویژه نیز انجام داد.

    از کتاب نویسنده

    12 سرور آپاچی این فصل بر سرور محبوب آپاچی WWW تمرکز دارد. سرور آپاچی توسط پروژه آپاچی توسعه و نگهداری می شود. در ابتدا، سرور آپاچی نوعی از وب سرور NCSA بود که در مرکز توسعه ابر رایانه ملی ایلینوی توسعه یافت.

    از کتاب نویسنده

    12.1. نصب آپاچی برای نصب سرور آپاچی، باید بسته های apache و apache-docs را نصب کنید. اولی شامل خود سرور و دومی شامل مستندات است. توصیه می شود آخرین نسخه را نصب کنید. در نسخه های اخیر، شما همچنین باید بسته apache-common را نصب کنید که شامل

    از کتاب نویسنده

    12.5. SSL و Apache 12.5.1. نصب SSL SSL (Secure Sockets Layer) یک روش رمزگذاری است که توسط Netscape برای امنیت اینترنت توسعه یافته است. این روش از چندین روش رمزگذاری پشتیبانی می کند و احراز هویت در سطح مشتری و کاربر را فراهم می کند.

    از کتاب نویسنده

    12.5.2. اتصال SSL به Apache اکنون باید mod_ssl را به Apache متصل کنیم. به خاطر داشته باشید که به نسخه ای از mod_ssl نیاز دارید که با نسخه آپاچی شما سازگار باشد. در غیر این صورت، ماژول mod_ssl به درستی کار نخواهد کرد یا به هیچ وجه از انجام کاری امتناع می ورزد. آخرین رقم در عنوان

    از کتاب نویسنده

    16.1. نصب آپاچی بسته به توزیع، بسته ای که وب سرور آپاچی از آن نصب می شود ممکن است به ترتیب apache یا httpd و بسته مستندات به ترتیب apache-docs یا httpd-manual نامیده شود. در حالت اول، شما همچنین نیاز به نصب بسته apache-common دارید که شامل

    از کتاب نویسنده

    16.10. SSL و Apache 16.10.1. نصب SSL SSL (Secure Sockets Layer) یک روش رمزگذاری است که توسط Netscape برای ایمن سازی انتقال داده ها توسعه یافته است. این روش از چندین روش رمزگذاری پشتیبانی می کند و احراز هویت را هم در کلاینت و هم در مشتری فراهم می کند

    از کتاب نویسنده

    16.10.2. اتصال SSL به Apache نسخه mod_ssl که باید نصب کنید باید با نسخه آپاچی شما سازگار باشد، در غیر این صورت ماژول mod_ssl به درستی کار نخواهد کرد یا از انجام کاری خودداری می کند. آخرین رقم در نام ماژول نشان دهنده سازگاری با یک خاص است

    از کتاب نویسنده

    16.13. محافظت از سرور آپاچی هنگامی که سرور پیکربندی می شود، تغییر و حذف فایل پیکربندی را ممنوع می کنیم: # chattr +i /etc/httpd/conf/httpd.conf پس از آن، شما (و هیچ کس دیگری) نمی توانید این را تغییر دهید. حتی با استفاده از کانفیگور فایل کنید.همچنین مطلوب است که حقوق را روی 511 For تنظیم کنید

    از کتاب نویسنده

    26.2.1. نصب Apache و PHP مدیر Synaptic را راه اندازی کنید. در قسمت جستجوی سریع، apache را وارد کنید. روی بسته apache2 کلیک راست کرده و Mark for Install را انتخاب کنید. مدیر بسته به شما می گوید که بسته های اضافی را نصب کنید (شکل 26.1). روی دکمه کلیک کنید

    از کتاب نویسنده

    5.1.1. netconf این دستور پیکربندی شبکه را راه اندازی می کند (شکل 5.1). برنامه netconf دارای یک رابط گرافیکی کاربرپسند است و به شما امکان می دهد تنظیمات شبکه را بدون فکر کردن به فایل های پیکربندی پیکربندی کنید. برنج. 5.1. پنجره برنامه

    4 رویکرد اصلی برای پیکربندی آپاچی وجود دارد:

    1. کامپایل / نصب: ساختن از منبع به شما امکان می دهد ماژول های لازم را انتخاب کنید، پرچم ها، مسیرها و غیره را تنظیم کنید.
    2. گزینه های خط فرمان: به شما امکان می دهد آپاچی را در هنگام راه اندازی پیکربندی کنید.
    3. فایل های پیکربندی جهانی: فایل اصلی پیش فرض httpd.conf نام دارد.
    4. فایل های پیکربندی محلی: با استفاده از htaccess.

    دستورالعمل های پیکربندی موجود در فایل httpd.conf را می توان به 3 دسته تقسیم کرد:

    1. دستورالعمل هایی که روند کلی کار را کنترل می کند.
    2. دستورالعمل های میزبان مجازی
    3. تنظیمات میزبان مجازی

    بخشنامه های گروه اول هستند , , , , , .

    آنها در رابطه با یک ساختار فایل خاص یا یک URL اعمال می شوند. در مورد اول، این ، در دوم - . آپاچی با اجرای میزبانی مجازی که بر اساس بخشنامه انجام می شود می تواند به طور همزمان چندین وب سایت با نام های مختلف را سرویس دهد. . برای اعمال تغییرات در پیکربندی اصلی، سرور باید راه اندازی مجدد شود.

    پیکربندی محلی بر اساس .htaccess است. نام این فایل در قسمت AccessFileName قابل تغییر است. تغییرات در فایل htaccess بلافاصله اعمال می شود، بدون راه اندازی مجدد، اثر آن به دایرکتوری که در آن قرار دارد، با همه زیرشاخه های تو در تو گسترش می یابد. استفاده بیش از حد از htaccess می تواند بر عملکرد سرور تأثیر بگذارد.

    محتویات پیکربندی اصلی httpd.conf را می توان به 5 بخش تقسیم کرد:

    1. دستورالعمل های جهانی
    2. - قابل اجرا برای سرورهای مجازی
    3. , - قابل اجرا در دایرکتوری ها
    4. , - برای فایل ها اعمال شود.
    5. , - قابل اجرا برای URL.

    دستورالعمل می تواند چندین پارامتر داشته باشد، نوع پارامترها می تواند متفاوت باشد.

    هر دستورالعمل توسط یک ماژول خاص پردازش می شود.

    مثلا بخشنامه

    دستورالعمل زیر توسط ماژول mod_env پردازش می شود و یک متغیر محیطی تنظیم می شود:



    محتویات فایل htaccess محلی را نیز می توان به 5 بخش تقسیم کرد:

    1. AuthConfig - کنترل مجوز.
    2. محدودیت ها - کنترل دسترسی.
    3. گزینه ها - تنظیمات دایرکتوری خاص.
    4. FileInfo - تنظیم ویژگی ها برای اسناد.
    5. نمایه ها - نمایه سازی دایرکتوری.

    در اوبونتو، apache در /etc/apache2 قرار دارد و علاوه بر فایل‌های پیکربندی، شامل دایرکتوری‌های "sites-available" و "sites-enabled" است. دایرکتوری اول شامل لیستی از سایت هایی است که در سرور در دسترس هستند و دومی - آنهایی که توسط سرور ارائه می شوند. این امکان اضافه کردن و حذف سریع سایت هایی را که توسط سرور ارائه می شوند را بدون نیاز به حذف فیزیکی آنها از DocumentRoot می دهد. علاوه بر این، فایل‌های تنظیمات دیگر را می‌توان با استفاده از عبارت Include اضافه کرد و از کاراکترهای گروه‌بندی می‌توان برای گنجاندن چندین فایل تنظیمات استفاده کرد. هر دستورالعملی را می توان به هر یک از این فایل های پیکربندی اضافه کرد. سرور همچنین فایل های حاوی انواع میم سند را می خواند. نام فایل با دستور TypesConfig، معمولاً از طریق /etc/apache2/mods-available/mime.conf تنظیم می‌شود، که می‌تواند شامل اضافه‌ها و لغو نیز باشد، و /etc/mime.types پیش‌فرض است.

    httpd.conf - پیکربندی سرور آپاچی

    آپاچی با قرار دادن دستورالعمل ها در فایل های پیکربندی متن ساده پیکربندی می شود. فایل پیکربندی اصلی سرور آپاچی - httpd.conf.
    فایل های پیکربندی دیگر را می توان با استفاده از دستورالعمل Include اضافه کرد. هر دستوری را می توان در هر یک از این فایل های پیکربندی تنظیم کرد.
    آپاچی 2.4 با فایل های موجود در یک زیر شاخه (پیش فرض) پیکربندی شده است - conf(C:\Program Files\Apache Software Foundation\Apache2.4\conf\). این فایل‌ها همان فایل‌هایی هستند که برای پیکربندی OS Unix وجود دارد، اما چند دستورالعمل خاص ویندوز وجود دارد.

    فایل پیکربندی اصلی سرور Apache HTTP 2.4 معمولاً نام دارد - httpd.conf.

    این شامل دستورالعمل ها و پارامترهایی است که عملکرد وب سرور، سرورهای مجازی و همه ماژول های نرم افزار Apache 2.4 را کنترل می کند. . آپاچی یک سرور ماژولار است. این بدان معنی است که تنها اساسی ترین عملکرد در سرور اصلی گنجانده شده است. گسترش توابع، با کمک ماژول های بارگذاری شده پویا. فایل های پیکربندی شامل یک دستور در هر خط هستند. علامت معکوس "\" می تواند به عنوان آخرین کاراکتر در یک خط استفاده شود تا نشان دهد که دستورالعمل در خط بعدی ادامه دارد. بین بک اسلش و انتهای خط نباید هیچ کاراکتر یا فاصله دیگری وجود داشته باشد. دستورالعمل ها در فایل های پیکربندی حساس به حروف بزرگ و کوچک هستند، اما آرگومان های دستورالعمل اغلب به حروف بزرگ و کوچک حساس هستند. خطوطی که با کاراکتر "#" شروع می شوند، نظر در نظر گرفته می شوند و نادیده گرفته می شوند. نظرات را نمی توان در یک خط پس از دستورالعمل پیکربندی گنجاند. خطوط خالی و فاصله های قبل از دستورالعمل نادیده گرفته می شوند.

    بخشنامهیک دستور پیکربندی است که یک یا چند جنبه از رفتار سرور آپاچی را کنترل می کند.
    دستورالعمل های قرار داده شده در فایل های پیکربندی اصلی برای کل سرور اعمال می شود .

    برای بررسی فایل های پیکربندی برای خطاهای نحوی، از دستور استفاده کنید httpd.exe -t.

    هنگام نصب آپاچی 2.4 موارد زیر معرفی شدند:

    در دامنه شبکه (دامنه شبکه) - server-apache24.com
    در نام سرور - www.server-apache24.ru
    در آدرس ایمیل مدیر (آدرس پستی مدیر) - [ایمیل محافظت شده]

    از این رو، server-apache24.com- نام سایت اصلی سرور آپاچی خواهد بود.

    سایت اصلی سرور آپاچی در یک فایل پیکربندی شده است - httpd.conf.

    ایجاد تغییرات در فایل پیکربندی سرور آپاچی - httpd.conf

    برای دسترسی به سایت اصلی سرور آپاچی با نام دامنه - server-apache24.com، یک دایرکتوری روی دیسک ایجاد کنید - C:\server-apache24.ru

    server-apache24.com

    • C:\server-apache24.ru
      • سیاهههای مربوط
        • گزارش دسترسی
        • گزارش خطا
      • www
        • index.html

    دایرکتوری server-apache24.ru

    در ریشه دیسک ج:نیاز به ایجاد دایرکتوری server-apache24.com
    در او لزوماپوشه ها باید:
    سیاهههای مربوطبا فایل های خالی گزارش دسترسیو گزارش خطا
    و
    wwwبا فایل index.html

    در فایل httpd.conf خطوط را ببینید -
    209 سرور ادمین [ایمیل محافظت شده]
    218 نام سرور www.server-apache24.ru:80
    243 DocumentRoot "C:/server-apache24.ru/www"
    245

    httpd.conf - پیکربندی سرور آپاچی 2.4

    httpd.conf.
    دستورالعمل های فایل پیکربندی اصلی برای کل سرور اعمال می شود

    همه ورودی ها، به جز مواردی که با رنگ قرمز مشخص شده اند، باید نظر داده شوند. خطوطی که با یک کاراکتر شروع می شوند "#" نظرات هستند.

    # # این فایل اصلی پیکربندی سرور Apache HTTP است. این شامل دستورالعمل های پیکربندی # است که دستورالعمل های خود را به سرور می دهد. # برای اطلاعات دقیق مراجعه کنید. # به طور خاص، برای بحث در مورد هر دستورالعمل پیکربندی، # # را ببینید. # # به سادگی دستورالعمل های موجود در اینجا را بدون درک # آنچه انجام می دهند، نخوانید. آنها فقط به عنوان راهنمایی یا یادآوری اینجا هستند. اگر مطمئن نیستید # با اسناد آنلاین مشورت کنید. به شما اخطار داده شده است. /" (یا "drive:/" برای Win32)، سرور # از آن مسیر صریح استفاده خواهد کرد. اگر نام فایل‌ها *نه* با # شروع می‌شوند، مقدار ServerRoot از قبل اضافه می‌شود -- بنابراین "logs/access_log" # با ServerRoot تنظیم شده روی "/usr/local/apache2" توسط سرور # به عنوان "تفسیر می‌شود. /usr/local/apache2/logs/access_log، در حالی که "/logs/access_log" # به عنوان "/logs/access_log" تفسیر می شود. # # نکته: جایی که نام فایل‌ها مشخص می‌شود، باید از اسلش‌های رو به جلو # به‌جای اسلش‌های عقب استفاده کنید (مثلاً «c:/apache» به‌جای «c:\apache»). # اگر یک حرف درایو حذف شود، درایوی که httpd.exe # در آن قرار دارد به طور پیش فرض استفاده می شود. توصیه می شود برای جلوگیری از سردرگمی، همیشه # یک حرف درایو صریح در مسیرهای مطلق ارائه کنید. # # ServerRoot: بالای درخت دایرکتوری که در آن # پیکربندی، خطا و فایل‌های گزارش سرور نگهداری می‌شود. -دیسک محلی، اگر از mutexeهای مبتنی بر فایل استفاده می شود، حتماً یک دیسک محلی را در دستورالعمل # Mutex مشخص کنید. ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.4" # # Mutex: به شما امکان می دهد مکانیسم mutex و دایرکتوری فایل mutex # برای تک تک mutexe ها، یا تغییر پیش فرض های جهانی # # اگر mutex ها مبتنی بر فایل هستند و دایرکتوری فایل # mutex پیش فرض روی یک دیسک محلی نیست یا برای برخی از # دیسک های دیگر مناسب نیست، از نظر برداشته و دایرکتوری را تغییر دهید. به جای پیش‌فرض، پورت‌ها را در نظر بگیرید. دستورالعمل # را نیز ببینید. # #Listen 12.34.56.78:80 Listen 80 # # Dynamic Shared Object (DSO) پشتیبانی # # برای اینکه بتوانید از عملکرد یک ماژول ساخته شده به عنوان DSO استفاده کنید، باید خطوط مربوط به LoadModule را در این مکان قرار دهید. بنابراین # دستورات موجود در آن در واقع _قبل از_ استفاده در دسترس هستند. # ماژول های کامپایل شده ایستا (آنهایی که توسط "httpd -l" فهرست شده اند) نیازی به # ندارند تا در اینجا بارگذاری شوند. LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_module_module. digest.so #LoadModule authn_anon_module modules/mod_authn_ anon.so LoadModule authn_core_module modules/mod_authn_core بنابراین #LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_modun_dbd.so _socache.so #LoadModule authnz_ldap_module modules/mod_ authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so # LoadModule authz_dbd_module modules/mod_authz_dbd.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_modulemodfile. thz_host.so #LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule au thz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex .so # LoadModule buffer_module modules/mod_buffer.so #LoadModule cache_module modules/mod_cache.so #LoadModule cache_disk_module modules/mod_cache_disk.so #LoadModule cern_meta_module modules/mod_moad. gi.so #LoadModule charset_lite_module modules/mod_charset_lite.so # ماژول های ماژول_داده را بارگذاری کنید /mod_data.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_module.so #Loadbdle modules ماژول deflate_module modules/mod_deflate.so LoadModule dir_module بنابراین #Loadmodule dumpio_mudele modules/mod_dumpio.so Loadmodule env_moudule modules/mod_env.so #Loadmodule expires_module modules/mod_expires.so #LOO Admodule #Ext_Filter_Mole_MoleE. che_Mole Modules/Mod_file_cache .so #loadmodule headers_module modules/ mod_headers.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module include modules.inmodmodule. بنابراین #LoadModule info_module modules/mod_info .so LoadModule isapi_module modules/mod_isapi.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_by requests_module modules/mod_lbmethod_byrequests.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so LoadModule lbmeth od_heartbeat_module modules/mod_lbmethod_heartbeat.so #LoadModule ldap_module modules/mod_ldap.so # LoadModule log_forensic_module modules/mod_log_forensic.so #LoadModule lua_module modules/mod_lua.so LoadModule mime_module modules/mod_mime.so #LoadModule mime _magic_module modules/ mod_mime_magic.so LoadModule negotiation_module.so LoadModule negotiation_module s/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp .so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy _express_module modules/mod_proxy_express.so #Loadmoduf_proxy_express_gi بنابراین #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html. بنابراین #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule ratelimit_mod ule modules/mod_ratelimit.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so le modules/mod_remoteip.so #LoadModule request_module modules/mod_request.so #LoadModule reqtimeout_module modules/mod_reqtimeout.so #LoadModule rewrite_module modules/mod_rewrite.so #LoadModule sed_module modules/mod_sed.so #LoadModule session_module modules /mod_session.mo_ie #LoadModule_module modules LoadModule session_crypto_module modules/mod_session_crypto.so #LoadModule session_dbd_module modules/mod_session_dbd.so LoadModule setenvif_module modules/mod_setenvif.so #LoadModule slotmem_plain_module modules/mod_slotmem _plain.so #LoadModule slotmodule_module modules. socache_dbm_module modules/mod_socache_dbm.so #LoadModule socache_memcache_module modules/mod_socache_memcache.so #LoadModule socache_shmcb_module modules /mod_socache_shmcb.so #LoadModule speling_module [ایمیل محافظت شده]#ServerAdmin [ایمیل محافظت شده] # # ServerName نام و پورتی را می دهد که سرور برای شناسایی خود استفاده می کند. # این اغلب می‌تواند به‌طور خودکار تعیین شود، اما توصیه می‌کنیم برای جلوگیری از بروز مشکلات در هنگام راه‌اندازی، آن را به صراحت # مشخص کنید. # # اگر میزبان شما نام DNS ثبت شده ندارد، آدرس IP آن را در اینجا وارد کنید. شما باید # صریحاً اجازه دسترسی به فهرست‌های محتوای وب در # بلوک‌های زیر را بدهید. # AllowOverride none Require all denied # # توجه داشته باشید که از این مرحله به بعد باید به طور خاص اجازه دهید # ویژگی خاص فعال شود - بنابراین اگر چیزی آنطور که # انتظار دارید کار نمی کند، مطمئن شوید که آن را به طور خاص # در زیر فعال کرده اید. # # DocumentRoot: دایرکتوری که از آن # اسناد خود را ارائه خواهید کرد. به طور پیش‌فرض، همه درخواست‌ها از این دایرکتوری گرفته می‌شوند، اما از # پیوند نمادین و نام مستعار ممکن است برای اشاره به مکان‌های دیگر استفاده شود. # # DocumentRoot "C:/Program". Files/Apache Software Foundation/Apache2.4/htdocs" DocumentRoot "C:/server-apache24.ru/www" # بود # # مقادیر ممکن برای دستورالعمل Options عبارتند از: "هیچ"، "همه"، # یا هر کدام ترکیبی از : # Indexes شامل FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # توجه داشته باشید که "MultiViews" باید به طور واضح * نامگذاری شود --- "Options All" # آن را به شما نمی دهد. # # دستورالعمل گزینه ها هم پیچیده و هم مهم است. لطفاً برای اطلاعات بیشتر به # //httpd.apache.org/docs/2.4/mod/core.html#options # مراجعه کنید. # # گزینه‌ها فهرست‌ها FollowSymLinks بود گزینه‌ها فهرست‌ها شامل FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride دستورالعمل‌هایی را که ممکن است در فایل‌های htaccess. قرار داده شوند را کنترل می‌کند. # می تواند "همه"، "هیچ" یا هر ترکیبی از کلمات کلیدی باشد: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None was AllowOverride All # # کنترل هایی که می توانند موارد را از این سرور دریافت کنند. # نیاز به همه اعطا شده AddHandler .shtml .shtm .html .htm # # DirectoryIndex: فایلی را تنظیم می کند که در صورت درخواست دایرکتوری #، آپاچی سرویس دهد. # DirectoryIndex index.html # # خطوط زیر مانع از مشاهده فایل‌های htaccess. و .htpasswd توسط کلاینت‌های وب می‌شوند. # Require all denied # # ErrorLog: محل فایل گزارش خطا. # اگر دستورالعمل ErrorLog را در یک # کانتینر مشخص نکنید، پیام های خطای مربوط به آن میزبان مجازی در اینجا # ثبت می شود. اگر *do* یک فایل گزارش خطا برای یک # ظرف تعریف کنید، خطاهای آن میزبان در آنجا ثبت می شود و نه اینجا. # # ErrorLog "logs/error.log" ErrorLog بود c:/server-apache24.ru/logs/error.log # # LogLevel: تعداد پیام‌های ثبت‌شده در فهرست_خطا را کنترل کنید. # مقادیر ممکن عبارتند از: اشکال زدایی، اطلاعات، اطلاعیه، هشدار، خطا، کریت، # هشدار، ظهور. # هشدار LogLevel # # دستورالعمل‌های زیر برخی از نام‌های مستعار قالب را برای استفاده با یک دستورالعمل CustomLog تعریف می‌کنند (به زیر مراجعه کنید). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%(Referer)i\" \"%(User-Agent)i\"" LogFormat ترکیبی "%h %l %u %t \"%r\" %>s %b" مشترک # برای استفاده از %I و %O LogFormat "%h %l %u %t \"%r\" %> باید mod_logio.c را فعال کنید s %b \"%(مرجع)i\" \"%(User-Agent)i\" %I %O" combinationdio # # محل و قالب فایل ورود به سیستم دسترسی (فرمت مشترک Logfile). # اگر هیچ فایل لاگ دسترسی را در یک # کانتینر تعریف نکنید، آنها در اینجا ثبت خواهند شد. برعکس، اگر شما *# را تعریف کنید برای هر دسترسی، تراکنش ها در آن # ثبت می شوند و *نه* در این فایل. # # CustomLog "logs/access.log" رایج CustomLog بود c:/server-apache24.ru/logs/access.log مشترک # # اگر یک فایل لاگ با اطلاعات دسترسی، عامل و ارجاع را ترجیح می دهید # (فرمت ترکیبی Logfile) می توانید از دستورالعمل زیر استفاده کنید. # #CustomLog "logs/access.log" ترکیبی # # تغییر مسیر: به شما امکان می‌دهد اسنادی را که قبلاً در فضای نام سرور شما # وجود داشته‌اند، اما دیگر وجود نداشته‌اند، به کلاینت‌ها بگویید. مشتری # درخواست جدیدی برای سند ارائه می‌کند. در مکان جدید خود # مثال: # تغییر مسیر دائمی /foo //www.server-apache24.ru/bar # # نام مستعار: مسیرهای وب را در مسیرهای سیستم فایل نگاشت می کند و برای # دسترسی به محتوایی که در DocumentRoot زندگی نمی کند استفاده می شود. مثال: # نام مستعار /webpath /full/filesystem/path # # اگر یک دنباله / در مسیر /webpath اضافه کنید، سرور باید # آن را در URL. به مسیر فایل سیستم وجود داشته باشد.# # ScriptAlias: این کنترل‌ها که دایرکتوری‌ها حاوی اسکریپت‌های سرور هستند.# ScriptAliaseها اساساً مشابه نام‌های مستعار هستند، با این تفاوت که # سند در فهرست هدف به‌عنوان برنامه‌های کاربردی در نظر گرفته می‌شوند و # در صورت درخواست توسط سرور اجرا می‌شوند نه به‌عنوان اسنادی که به # کلاینت ارسال می‌شوند. قوانین مشابه در مورد دنباله‌سازی " /" برای ScriptAlias ​​# دستورالعمل ها در مورد مستعار اعمال می شود. # # ScriptAlias ​​/cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin/" ScriptAlias ​​/cgi-bin/ بود "C:/server-apache24.ru/cgi -bin/" # # ScriptSock: در سرورهای رشته ای، مسیر سوکت #یونیکس را که برای ارتباط با دیمون CGI mod_cgid استفاده می شود، تعیین کنید. # #Scriptsock cgisock # # "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin" باید به هر دایرکتوری ScriptAliased # CGI شما موجود باشد، اگر آن را پیکربندی کرده اید، تغییر دهید. # # AllowOverride None Options هیچکدام به همه اعطا شده نیاز دارند # # TypesConfig به فایل حاوی فهرست نگاشت ها از # پسوند نام فایل تا نوع MIME اشاره می کند. # TypesConfig conf/mime.types # # AddType به شما اجازه می دهد تا پیکربندی MIME # فایل مشخص شده در TypesConfig را برای انواع فایل خاص اضافه کنید یا آن را لغو کنید. # #AddType application/x-gzip .tgz # # AddEncoding به شما این امکان را می‌دهد که مرورگرهای خاصی # اطلاعات را در لحظه از حالت فشرده خارج کنند. توجه: همه مرورگرها از این پشتیبانی نمی کنند. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # اگر دستورالعمل‌های AddEncoding در بالا توضیح داده شده‌اند، احتمالاً # باید آن پسوندها را برای نشان دادن انواع رسانه تعریف کنید: # AddType application/x-compress . Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php # # AddHandler به شما امکان می دهد پسوندهای فایل خاصی را به "handlers" نگاشت کنید: # عملکرد غیر مرتبط با نوع فایل. اینها را می‌توان در سرور # تعبیه کرد یا با دستورالعمل Action اضافه کرد (به زیر مراجعه کنید) # # برای استفاده از اسکریپت‌های CGI خارج از فهرست‌های ScriptAliased: # (همچنین باید "ExecCGI" را به دستورالعمل "Options" اضافه کنید.) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # برای نقشه های نوع (منابع مورد مذاکره): #AddHandler type-map var # # فیلترها به شما امکان می دهند محتوا را قبل از ارسال به مشتری پردازش کنید. # # برای تجزیه فایل های .shtml برای سمت سرور شامل (SSI): # (همچنین باید "Includes" را به دستورالعمل "Options" اضافه کنید.) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml # # The mod_mime_magic ماژول به سرور اجازه می دهد تا از نکات مختلف از محتوای # خود فایل برای تعیین نوع آن استفاده کند. دستورالعمل MIMEMagicFile # به ماژول می گوید که تعاریف اشاره در کجا قرار دارند. # #MIMEMagicFile conf/magic # # پاسخ‌های خطای قابل تنظیم در سه نوع ارائه می‌شوند: # 1) متن ساده 2) تغییر مسیرهای محلی 3) تغییر مسیرهای خارجی # # برخی از مثال‌ها: #ErrorDocument 500 "سرور یک بوو بو کرد." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 //www.server-apache24.ru/subscription_info.html ErrorDocument 404 C:/server-apache24.ru/ .html ErrorDocument 500 C:/server-apache24.ru/www/500error.html # # MaxRanges: حداکثر تعداد محدوده در یک درخواست قبل از # برگرداندن کل منبع، یا یکی از # مقادیر ویژه "پیش فرض"، " هیچ" یا "نامحدود". # تنظیم پیش فرض پذیرش 200 محدوده است. #MaxRanges unlimited # # EnableMMAP and EnableSendfile: در سیستم هایی که از آن پشتیبانی می کنند، می توان از # memory-mapping یا sendfile syscall برای تحویل # فایل استفاده کرد. این معمولاً عملکرد سرور را بهبود می‌بخشد، اما باید در هنگام سرویس‌دهی از # سیستم فایل نصب‌شده در شبکه یا اگر پشتیبانی از این عملکردها در سیستم شما # قطع شده باشد، # خاموش شود. # پیش‌فرض: فعال کردن MMAP روشن، فعال کردن ارسال فایل خاموش # #فعال کردن MMAP خاموش #EnableSendfile روشن # پیکربندی تکمیلی # # فایل‌های پیکربندی در فهرست conf/extra/ می‌توانند برای افزودن ویژگی‌های اضافی یا تغییر پیکربندی پیش‌فرض # سرور، گنجانده شوند، یا می توانید به سادگی محتویات آنها را در اینجا کپی کنید و در صورت لزوم # تغییر دهید. # مدیریت مخزن سرور (مخصوص MPM) #شامل conf/extra/httpd-mpm.conf # پیام‌های خطای چندزبانه شامل conf/extra/httpd-multilang-errordoc.conf # فهرست‌های فهرست فانتزی شامل conf/extra/httpd-autoindex .conf # تنظیمات زبان شامل conf/extra/httpd-languages.conf # دایرکتوری‌های خانگی کاربر شامل conf/extra/httpd-userdir.conf # اطلاعات بی‌درنگ در مورد درخواست‌ها و پیکربندی #Include conf/extra/httpd-info.conf # میزبان های مجازی شامل conf/extra/httpd-vhosts.conf # دسترسی محلی به راهنمای Apache HTTP Server #Include conf/extra/httpd-manual.conf # تالیف و نسخه سازی توزیع شده (WebDAV) #Include conf/extra/httpd-dav. conf # تنظیمات پیش‌فرض مختلف شامل conf/extra/httpd-default.conf # پیکربندی mod_proxy_html برای درک HTML4/XHTML1 شامل conf/extra/proxy-html.conf # اتصالات امن (SSL/TLS) #شامل conf/extra/httpd-ssl .conf # # نکته: برای پشتیبانی از شروع # بدون SSL در پلتفرم‌هایی که معادل /dev/تصادفی # ندارند، اما یک mod_ssl کامپایل‌شده استاتیک باید موارد زیر وجود داشته باشد. # راه‌اندازی SSLRandomSeed داخلی SSLRandomSeed اتصال داخلی # # برای مقابله با عوامل کاربری که عمداً استانداردهای باز را با استفاده نادرست از DNT نقض می‌کنند (DNT *باید* یک # انتخاب کاربر نهایی خاص باشد) # ###BrowserMatch "MSIE 10.0;" bad_DNT # # #RequestHeader تنظیم نشده DNT env=bad_DNT #


    تغییرات .
    تیم - httpd.exe -k راه اندازی مجدد، اجازه می دهد تا هر عملیاتی که توسط آپاچی انجام می شود پایان یابد و آپاچی را مجبور می کند تا فایل پیکربندی را دوباره بخواند.


    عیب یابی نصب سرور آپاچی

    آپاچی دارای ابزاری به نام Apache Service Monitor است. با استفاده از آن می توانید وضعیت تمام سرویس های نصب شده آپاچی را در هر رایانه ای در شبکه مشاهده و مدیریت کنید.

    آپاچی 2.4 را مجددا راه اندازی کنید

    زیرا تغییر می کنددر فایل های کانفیگ اصلی تنها زمانی که سرور آپاچی را راه اندازی یا راه اندازی مجدد کنید، اعمال می شود,
    شما باید سرور را راه اندازی مجدد کنید.

    آپاچی مانیتور

    نماد ApacheMonitor را می توان با کلیک بر روی دکمه - نشان دادن آیکون های پنهان مشاهده کرد

    روی آیکون دوبار کلیک چپ کنید مانیتور سرویس آپاچی.

    با کلیک بر روی دکمه می توانید سرور آپاچی را مجددا راه اندازی کنید راه اندازی مجدد
    در پنجره Apache Service Monitor.
    یا - متوقف کردنو سپس - شروع کنید.

    اگر فقط در فایل httpd.conf تغییراتی ایجاد کردید،

    سپس با تایپ در نوار آدرس مرورگر - میزبان محلییا - 127.0.0.1 ,
    صفحه را خواهید دید - خطای 403.

    دسترسی غیرمجاز!

    شما اجازه دسترسی به دایرکتوری درخواستی را ندارید. یا سند فهرستی وجود ندارد یا دایرکتوری دارای محافظت خواندنی است.
    اگر فکر می کنید این یک خطای سرور است، لطفا با مدیر وب سایت تماس بگیرید.

    خطای 403

    127.0.0.1
    Apache/2.4.4 (Win64)

    دسترسی ممنوع است!

    شما اجازه دسترسی به فهرست درخواستی را ندارید. هیچ سند فهرستی وجود ندارد یا دایرکتوری دارای محافظت خواندنی است.
    اگر فکر می کنید این یک خطای سرور است، لطفا با مدیر وب سایت تماس بگیرید.

    خطای 403

    با حقوق مدیر به خط فرمان وارد شوید - مدیر - خط فرمان
    و وارد کنید:
    "C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt

    Microsoft Windows (c) 2016 Microsoft Corporation. کلیه حقوق محفوظ است. C:\Windows\system32> "C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt C:\Windows\system32>

    روی دیسک ج:/فایل ایجاد خواهد شد errapache.txt


    AH00112: اخطار: DocumentRoot وجود ندارد AH00112: هشدار: DocumentRoot وجود ندارد (OS 10048) معمولاً فقط یکبار استفاده از یک آدرس سوکت (پروتکل/آدرس شبکه/پورت) مجاز است. : AH00072: make_sock: نمی تواند به آدرس [::]:80 متصل شود (OS 10048) معمولاً فقط یک بار استفاده از یک آدرس سوکت (پروتکل/آدرس شبکه/پورت) مجاز است. : AH00072: make_sock: نمی تواند به آدرس 0.0.0.0:80 متصل شود AH00451: سوکت های گوش دادن در دسترس نیست، خاموش شدن AH00015: امکان باز کردن گزارش ها وجود ندارد

    AH00112: هشدار:
    C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host.server-apache24.ru
    C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host2.server-apache24.ru
    آنها وجود ندارند (وجود ندارند).

    اما نکته اصلی خطاهای سیستم عامل 10048 است:

    نمی تواند به آدرس [::]:80 متصل شود (نمی تواند به آدرس [::]:80 متصل شود)
    نمی تواند به آدرس 0.0.0.0:80 متصل شود (نمی تواند به آدرس 0.0.0.0: 80 متصل شود)

    خط فرمان را وارد کرده و تایپ کنید:
    netstat -aon

    مدیر: خط فرمان

    Microsoft Windows (c) 2016 Microsoft Corporation. کلیه حقوق محفوظ است. C:\Windows\system32> netstat -aonاتصالات فعال نام آدرس محلی آدرس خارجی وضعیت PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612 TCP [::]:80 [::]:0 LISTENING 1612 TCP 127.0.0.1:49693 0.0.0.0.0.127. TCP 127.0.0.1:49694 127.0.0.1:49693 ESTABLISHED 5612 TCP 127.0.0.1:51341 0.0.0.0:0 LISTENING 3920 TCP 127.0.0.0.060.10. CP 192. 168.0.100:139 0.0.0.0 :0 LISTENING 4 TCP 192.168.0.100:51330 34.226.135.28:443 TCP ESTABLISHED 1232 TCP 192.168.0.100:51345 52.196.845.703 52.196.845.700. 0.100:5 2796 88.212.253.127:21 ESTABLISHED 1128 TCP 192.168.0.100:53160 151.101.112.134 :443 CLOSE_WAIT 3712 TCP 192.168.0.100:53161 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53161 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.1601. 4:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53176 151.101.112.134:443 ESTABLISHED 3712 TCP 192.168.0.100 :53179 151.101 .128.233:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53192 151.101.112.64:443 CLOSE_WAIT 3712 .3712.321.11 TCP 192.100. 7.175:443 CLOSE_WAIT 3 712 TCP 192.168.0.100:53230 185.29.133.52:443 CLOSE_WAIT 3712 TCP 192.168.0.100: 53246 2.18.74.149:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53271 52.205.235.141:443 ESTABLISHED\STEABLISHED\STEABLISHED

    شناسه فرآیند، که بیشتر به عنوان PID شناخته می شود، یک عدد منحصر به فرد است. هر فرآیندی که روی سیستم اجرا می شود یک شناسه منحصر به فرد دارد.
    TCP 0.0.0.0:80 0.0.0.0: 0 LISTENING 1612
    TCP [::]:80 [::]:0 LISTENING 1612

    باز کن Task Manager

    فقط سرویس Apache2.4 دارای PID - 1612 است

    در کاتالوگ C:/Program Files/Apache Software Foundation/Apache2.4/conf/extra/
    فایل را در Notepad باز کنید - httpd-vhosts.conf

    قبل از هر گونه تغییر، یک نسخه پشتیبان از فایل تهیه کنید - httpd-vhosts.conf.

    در بخش های VirtualHost جایگزین کنید
    بر

    httpd-vhosts.conf - محتویات فایل پیکربندی سرور آپاچی 2.4

    # هاست های مجازی # # ماژول های مورد نیاز: mod_log_config # اگر می خواهید چندین دامنه/نام میزبان را در # دستگاه خود حفظ کنید، می توانید کانتینرهای هاست مجازی را برای آنها تنظیم کنید. اکثر پیکربندی‌ها # فقط از میزبان‌های مجازی مبتنی بر نام استفاده می‌کنند تا سرور نیازی به نگرانی در مورد # آدرس IP نداشته باشد. این با ستاره‌های دستورالعمل‌های زیر نشان داده شده است.

    در کاتالوگ C:\Windows\System32\drivers\etc\
    فایل را در Notepad باز کنید - میزبان ها
    و یک خط به آن اضافه کنید:

    127.0.0.1 لوکال هاست www.server-apache24.ru server-apache24.ru

    سرور آپاچی را با کلیک بر روی دکمه ریستارت کنید راه اندازی مجدد
    در مانیتور سرویس آپاچی

    در نوار آدرس مرورگر وارد کنید - server-apache24.com
    و صفحه فهرست اصلی سایت سرور Apache2.4 که ایجاد کرده اید را ببینید

    صفحه فهرست سایت باید در زیر شاخه www قرار داشته باشد (C:\server-apache24.ru\www\)

    پس از نصب سرور آپاچی 2.4 وارد خط فرمان شده و دستورات زیر را وارد کنید:

    httpd.exe -t

    دو اخطار دریافت خواهد شد.

    مدیر: خط فرمان

    Microsoft Windows (c) 2016 Microsoft Corporation. کلیه حقوق محفوظ است. C:\Windows\system32> سی دی C:\Program Files\Apache Software Foundation\Apache2.4\bin\ C:\Program Files\Apache Software Foundation\Apache2.4\bin> httpd.exe -t AH00112: هشدار: DocumentRoot وجود ندارد AH00112: هشدار: DocumentRoot وجود ندارد نحو OK C:\Program Files\Apache Software Foundation\Apache2.4\bin>

    Apache HTTP Server یک محصول نرم افزاری پیچیده است که بر روی پلتفرم ها و سیستم عامل های مختلف در سراسر جهان اجرا می شود. بنابراین، برای عملکرد صحیح در سیستم نصب شده، باید آن را پیکربندی (پیکربندی) کرد.
    به طور پیش فرض تنظیمات آپاچی در فایل httpd.conf در دایرکتوری conf قرار دارد. در ادامه دستورالعمل های اصلی موجود در فایل httpd.conf و معانی متداول آنها توضیح داده می شود.

    در حال ویرایش فایل httpd.conf

    1. برای بارگذاری ماژول mod_rewrite، این خط را پیدا کرده و از نظر خارج کنید (نماد "#" در ابتدای خط را بردارید:
    LoadModule rewrite_module modules/mod_rewrite.so
    2. برای بارگیری مفسر PHP، خط زیر را به انتهای بلوک بارگذاری ماژول اضافه کنید:
    LoadModule php5_module "C:/php/php5apache2_2.dll"
    3. دایرکتوری حاوی فایل پیکربندی PHP را با افزودن خط زیر در زیر تعریف کنید:
    PHPIniDir "C:/php"
    4. خط را پیدا کرده و از نظر خارج کنید:
    نام سرور لوکال هاست: 80
    5. خط را پیدا کنید:
    DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
    دایرکتوری ریشه مدیریت سایت را اختصاص دهید (کمی قبل آن را ایجاد کرده اید):
    DocumentRoot "c:/apache"
    6. این بلوک را پیدا کنید:

    گزینه ها FollowSymLinks
    AllowOverride None
    دستور رد، اجازه
    انکار از همه

    و با موارد زیر جایگزین کنید:

    گزینه ها شامل فهرست ها FollowSymLinks است
    AllowOverride All
    اجازه از همه

    7. بلوک کنترل دایرکتوری اصلی را حذف یا نظر دهید (به آن نیازی نخواهیم داشت)، که بدون نظر چیزی شبیه به این است:

    گزینه ها فهرست ها FollowSymLinks
    AllowOverride None
    دستور اجازه، انکار
    اجازه از همه

    8. بلوک را پیدا کنید:

    DirectoryIndex index.html

    جایگزین کنید با:

    DirectoryIndex index.html index.htm index.shtml index.php

    9. خط را پیدا کنید:
    ErrorLog "logs/error.log"
    موارد زیر را جایگزین کنید (در این صورت مشاهده فایل خطای سرور جهانی راحت تر خواهد بود):
    ErrorLog "C:/apache/error.log"
    10. خط را پیدا کنید:
    CustomLog "logs/access.log" رایج است
    تغییر به:
    CustomLog "C:/apache/access.log" رایج است
    11. برای کار SSI (فعال کردن سمت سرور) خطوط زیر در بلوک هستند ، باید پیدا کنید و از نظر بردارید:
    AddType text/html .shtml
    AddOutputFilter INCLUDES.shtml
    12. زیر را در همان بلوک اضافه کنید ، دو خط:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    13. و در نهایت، خطوط را پیدا کنید و از نظر خارج کنید:
    شامل conf/extra/httpd-autoindex.conf
    conf/extra/httpd-vhosts.conf را وارد کنید
    شامل conf/extra/httpd-manual.conf
    شامل conf/extra/httpd-default.conf
    تغییرات را ذخیره کنید و فایل "httpd.conf" را ببندید

    اکنون فایل "httpd-vhosts.conf" واقع در پوشه "conf\extra" را باز کرده و تغییرات زیر را در آن اعمال کنید:

    بلوک‌های نمونه میزبان مجازی موجود باید نظر داده یا حذف شوند و موارد زیر درج شوند:

    DocumentRoot "C:/apache/localhost/www"
    نام سرور لوکال هاست
    ErrorLog "C:/apache/localhost/error.log"
    CustomLog "C:/apache/localhost/access.log" رایج است

    نمونه ای از ایجاد هاست مجازی

    اگر نیاز به راه اندازی هاست مجازی خود دارید، موارد زیر را انجام دهید:

    فایل "httpd-vhosts.conf" را باز کنید و یک بلوک در آن ایجاد کنید که چیزی شبیه به این است:

    # پوشه ای که ریشه هاست شما در آن خواهد بود.
    DocumentRoot "C:/apache/test.ru/www"
    # دامنه ای که توسط آن می توانید به هاست مجازی دسترسی داشته باشید.
    نام سرور test.ru
    # نام مستعار (نام اضافی) دامنه.
    ServerAlias ​​www.test.ru
    # فایلی که خطاها در آن نوشته می شود.
    ErrorLog "C:/apache/test.ru/error.log"
    # فایل گزارش دسترسی میزبان.
    CustomLog "C:/apache/test.ru/access.log" رایج است

    سپس در پوشه "apache"، یک پوشه "test.ru" ایجاد کنید (درست مانند آن، با یک نقطه)، که در آن، به نوبه خود، یک پوشه "www" ایجاد کنید.

    گام بعدی در ایجاد هاست مجازی تغییر فایل C:\WINDOWS\system32\drivers\etc\hosts سیستم عامل است. این فایل را باز کنید و دو خط به آن اضافه کنید:
    127.0.0.1 test.ru
    127.0.0.1 www.test.ru

    اکنون سرور آپاچی را با میانبر "Restart" واقع در منوی "شروع" مجدداً راه اندازی کنید، یک مرورگر را باز کنید، test.ru یا www.test.ru را در نوار آدرس تایپ کنید و خود را در هاست مجازی خود خواهید یافت. فقط مراقب باشید، اکنون می توانید با نام میزبان مجازی (www.test.ru در صورت وجود) فقط با نظر دادن یا حذف خط: 127.0.0.1 www.test.ru، در "میزبان" بالا به سایت اصلی دسترسی پیدا کنید. " فایل.

    اسناد آپاچی، با سرور در حال اجرا، در http://localhost/manual/ موجود است

    نصب و پیکربندی وب سرور آپاچی اکنون کامل شده است.

    ایجاد فایل های دسته ای برای شروع و توقف خدمات

    موافق باشید که ویرایش دستی فایل "host" هر بار که سرویس ها را شروع می کنید راحت نیست، بنابراین برای شروع راحت تر و همزمان سرویس های Apache، MySQL و تغییر فایل "hosts"، ما دو فایل دسته ای ایجاد می کنیم: شروع و توقف، که تمام کارهای روتین را به طور خودکار اجرا می کند.

    هنگام استفاده از هاست های مجازی، باید دو فایل در دایرکتوری C:\apache ایجاد کنید: vhosts-off.txt - حاوی محتویات اصلی فایل "hosts" و vhosts-on.txt - حاوی تمام میزبان های مجازی. توجه داشته باشید که هنگام ایجاد هاست های مجازی جدید، باید آنها را به فایل vhosts-on.txt اضافه کنید نه به C:\WINDOWS\system32\drivers\etc\hosts. به نمونه های زیر نگاه کنید.

    فایل vhosts-off.txt (ممکن است شامل یک خط باشد):
    لوکال هاست 127.0.0.1

    نمونه ای از فایل vhosts-on.txt با میزبان های مجازی www.test.ru و test.ru:

    لوکال هاست 127.0.0.1
    127.0.0.1 www.test.ru
    127.0.0.1 test.ru

    در همان دایرکتوری C:\apache، دو فایل دسته ای ایجاد کنید: start-webserver.bat - برای شروع خدمات و جایگزینی فایل "hosts" و stop-webserver.bat - برای توقف خدمات و پاک کردن فایل "hosts".

    راه اندازی فایل start-webserver.bat:

    @echo خاموش
    اکو
    اگر وجود ندارد C:\apache\vhosts-on.txt goto no_vhosts
    echo ایجاد میزبان مجازی:
    کپی /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
    اکو
    :no_vhosts
    راه اندازی NET Apache2.2
    NET MySQL را راه اندازی می کند

    توقف فایل stop-webserver.bat:

    @echo خاموش
    اکو
    اگر وجود ندارد C:\apache\vhosts-off.txt goto no_vhosts
    echo Restore فایل میزبان:
    کپی /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
    اکو
    :no_vhosts
    NET stop Apache2.2
    NET توقف MySQL

    اگر از هاست های مجازی استفاده نمی کنید یا می خواهید خدماتی را بدون تغییر فایل "hosts" اجرا کنید، به سادگی فایل های vhosts-on.txt و vhosts-off.txt را از دایرکتوری C:\apache حذف کنید.

    مفاهیم:دستورالعمل های پیکربندی فایل های پیکربندی، دستورالعمل ها. دستورالعمل های پیکربندی اولیه فرآیندهای سرور کنترل دسترسی به فهرست ها و فایل ها

    پیکربندی (lat. configuratio - ترتیب متقابل) یک ابزار منطقی و روش شناختی خاص، یک تکنیک ذهنی برای ترکیب دانش از موضوعات مختلف، ایده های مختلف در مورد یک شی است.

    دستورالعمل ها، (از لاتین directio - جهت). راهنمایی کلی که توسط یک مقام بالاتر به زیردستان داده می شود (سرور تا ایستگاه کاری و غیره) .

    فایل پیکربندی فایلی با فرمت نسبتاً ساده است. هر خط یک کلمه کلیدی و یک یا چند آرگومان است. برای سادگی بیشتر خطوط فقط یک آرگومان دارند. هر چیزی که از علامت # پیروی می کند یک نظر است و نادیده گرفته می شود.

    آپاچی با تغییر فایل های سرویس در دایرکتوری /etc/httpd/conf/ پیکربندی می شود. فایل اصلی پیکربندی وب سرور httpd.conf است. دستورالعمل های پیکربندی را می توان در فایل های مختلفی قرار داد که شامل ساختار اصلی Include filename.conf است.

    اگر مکان هر فایل یا دایرکتوری در فایل پیکربندی به طور ضمنی مشخص شده باشد (موقعیت صریح از ریشه سیستم فایل شروع می شود - با کاراکتر "/")، آپاچی از دایرکتوری مشخص شده در دستورالعمل ServerRoot برای تعیین مکان واقعی استفاده می کند. هدف.

    شرح ماژول های آپاچی و دستورالعمل های پیکربندی

    دستورالعمل ها را می توان در سطوح زیر استفاده کرد:

    یک دستورالعمل - سطح پیکربندی سرور فقط در فایل پیکربندی اصلی قابل استفاده است.

    سطح V - دایرکتیو را می توان برای میزبان های مجازی مختلف به طور متفاوتی استفاده کرد.

    سطح D - برای هر دستورالعمل دایرکتوری در این سطح، می توانید تنظیمات خود را تنظیم کنید.

    سطح H فایل‌های .htaccess - این دستورالعمل مجاز است در فایل‌های .htaccess در مکان‌هایی که توسط سرور مجاز است استفاده شود.

    در هر نقطه، استفاده از پارامتر نام فایل در دستورالعمل، یک مسیر مطلق (شروع با "/") یا نسبی از دایرکتوری ServerRoot به فایل را نشان می دهد.

    CORE - هسته وب سرور (ماژول اصلی آپاچی)

    نام فایل AccessConfig

    محل فایل پیکربندی را تنظیم می کند. فایل پیکربندی سیستم پیش فرض conf/access.conf است. برای غیرفعال کردن خواندن این فایل، توصیه می شود /dev/null را تنظیم کنید.

    فایل فایل AccessFileName ...

    نام فایل‌های دسترسی مورد استفاده برای پیکربندی سریع را تنظیم می‌کند، پیش‌فرض htaccess. است.

    ماژول ماژول AddModule ... [A]

    یک ماژول بارگذاری شده پویا را فعال می کند که به عنوان یک فایل کتابخانه جداگانه ارائه شده است.

    ماژول ماژول AddModule ...

    یک ماژول بارگذاری شده پویا را فعال می کند که به عنوان یک فایل کتابخانه مستقل ارائه شده یا در ماژول اصلی httpd کامپایل شده است.

    AllowOverride param param...

    قوانینی را تنظیم می کند که توسط آنها Apache از دستورالعمل های فایل های htaccess داخلی استفاده می کند.

    هیچکدام - نادیده می گیرد.

    همه - از همه دستورالعمل ها استفاده می کند.

    Options - به شما امکان می دهد از Options و XBitHack استفاده کنید.

    نمایه ها - دستورالعمل هایی برای مدیریت نمایه سازی دایرکتوری.

    FileInfo - دستورالعمل هایی برای مدیریت انواع فایل ها و کنترل کننده های آنها.

    AuthConfig - دستورالعمل‌هایی برای دسترسی به فهرست‌های Auth*.

    محدودیت - اجازه / رد / دستورات دستورات.

    قلمرو AuthName

    AuthType

    برای تعیین نحوه درخواست و ارسال نام کاربری و رمز عبور برای دسترسی به فهرست های وب سایت استفاده می شود. اغلب آنها از Basic استفاده می کنند، کمتر - Digest و دیگران.

    آدرس BindAddress [A]

    آدرسی را که آپاچی اتصالات را می پذیرد را مشخص می کند. می توانید از نام میزبان، آدرس IP یا * استفاده کنید.

    ClearModuleList[A]

    دستورالعمل لیست ماژول های بارگذاری شده را پاک می کند. پس از این دستورالعمل، باید از دستورالعمل های AddModule برای کار با ماژول های لازم استفاده کنید.

    ContentDigest روشن|خاموش

    ارسال هش MD5 داده ها را فعال یا غیرفعال می کند. برای تمام صفحات منتقل شده محاسبه می شود و کش نیست.

    نام اصلی CoreDumpDirectory [A]

    آپاچی را به دایرکتوری که فایل‌های dump هسته تولید شده توسط خرابی‌ها در آن ذخیره می‌شوند، اشاره می‌کند.

    DefaultType mimetype

    اگر آپاچی نتواند نوع را از طریق فایل mime.types یا دستورالعمل های AddType تعیین کند، نوع MIME ارسال شده به کلاینت ها را مشخص می کند. پیش فرض روی متن/ساده تنظیم شده است.

    ...

    گروهی از دستورالعمل ها را ترکیب می کند که رفتار آپاچی را هنگام دسترسی به اسناد واقع در این دایرکتوری مشخص می کند. مجاز به استفاده از ماسک های نام - نمادها *، ? با قوانین پوسته اگر از ماسک استفاده می شود، یک tilde ~ قبل از نام قرار می گیرد.

    ...

    گروهی از دایرکتوری ها را تعریف می کند که توسط یک عبارت منظم داده می شوند و قوانینی را برای آپاچی تنظیم می کند تا با دایرکتوری ها و فایل های این گروه کار کند.

    DocumentRoot dirname

    محل ریشه درخت دایرکتوری را که ساختار داده وب سرور در زیر آن قرار دارد به سرور نشان می دهد.

    ErrorDocument نام فایل|رشته|URL

    در صورت بروز خطا به صفحات مشخص شده هدایت می شود. همچنین می‌توانید برای موقعیتی که به وجود آمده است، نظر بدهید، که باید با یک نقل قول شروع شود. مثال:

    ErrorDocument 500 http://foo.example.com/cgi-bin/tester

    ErrorDocument 404 /cgi-bin/bad_urls.pl

    ErrorDocument 401 /subscription_info.html

    خطای سند 403 "با عرض پوزش نمی توانم امروز به شما اجازه دسترسی بدهم"

    نام فایل ErrorLog

    نام فایل گزارش خطا. اگر رشته پارامتر با (/) شروع شود، مسیر فایل باید از ServerRoot مشخص شود. اگر با (|) شروع شود، پیام های خطا به دستور مشخص شده در ورودی استاندارد ارسال می شود. به طور خاص، از این طریق، به عنوان مثال، می توانید ذخیره کردن گزارش را بلافاصله در SQL DBMS پیاده سازی کنید یا آنها را بلافاصله به صورت فشرده ذخیره کنید، به عنوان مثال، به gzip منتقل کنید. نسخه 1.3 آپاچی و نسخه‌های جدیدتر اگر سیستم از آن پشتیبانی کند، به‌طور پیش‌فرض پیام‌ها را در syslog چاپ می‌کند. اما این را می توان با استفاده از syslog:facility غیرفعال کرد.

    ...

    کنترل دسترسی به فایل بخش ها به همان ترتیبی که در فایل پیکربندی پس از خواندن بخش‌های دستورالعمل پردازش می‌شوند و فایل های htaccess.، اما قبل از خواندن بخش های دایرکتوری . آرگومان باید حاوی یک نام فایل یا یک ماسک حاوی "?" باشد. - هر کاراکتری، "*" - هر رشته. با کاراکتر اضافی ~، می توان از رگ های توسعه یافته استفاده کرد. عبارات (به بخش REGULAR EXPRESSIONS در grep(1) مراجعه کنید) به عنوان مثال: با فایل های گرافیکی رایج در اینترنت مطابقت دارد.

    ...

    مثل ، اما از عبارات منظم استفاده می کند.

    این فقط به راه اندازی آپاچی و فرآیندهای فورکینگ در محیط و حقوق مربوط به نام داده شده مربوط می شود.

    HostNameLookups روشن|خاموش|دوبرابر

    کنترل می کند که آیا نام میزبان بازدیدکننده می تواند از DNS معکوس تعیین شود یا خیر. به کندی کار می کند و به طور پیش فرض غیرفعال در نظر گرفته می شود. Double نشان می دهد که نام میزبان باید تحت یک بررسی اضافی در برابر آدرس IP میزبان درخواست کننده قرار گیرد.

    IdentityCheck روشن|خاموش

    احراز هویت RFC1413 را فعال کنید. فعال کردن عملکرد زمان دسترسی به سرور را به میزان قابل توجهی افزایش می دهد.

    ...

    وفقط در صورتی باید اجرا شود که این گزینه در داخلی Apache تعریف شده باشد. کاراکتر [!] قبل از پارامتر نشان می دهد که بلوک دستورالعمل ها فقط در صورتی خوانده می شود که پارامتر تعریف نشده باشد.

    ...

    مشخص می کند که دستورالعمل هایی که در داخل یک بلوک قرار می گیرند که توسط یک جفت دایرکتیو تشکیل شده است وفقط در صورتی باید اجرا شود که ماژول داده شده در آپاچی کامپایل شده باشد. کاراکتر [!] قبل از ماژول نشان می دهد که بلوک دستورالعمل ها فقط در صورتی خوانده می شود که پارامتر تعریف نشده باشد.

    شامل نام فایل [A]

    این دستورالعمل به شما امکان می دهد فایل های پیکربندی را در پیکربندی سرور قرار دهید.

    KeepAlive روشن|خاموش [A]

    به سرویس گیرنده اجازه می دهد تا به صورت متوالی چندین فایل را بدون قطع اتصال TCP درخواست کند.

    KeepAliveTimeout ثانیه [A]

    زمان (بر حسب ثانیه) تا بسته شدن اتصال TCP را مشخص می کند که آپاچی منتظر درخواست بعدی مشتری می ماند.

    ...

    به شما امکان می دهد تعیین کنید کدام روش HTTP (به عنوان مثال، GET یا POST) در داخل آن قرار می گیرد ... دستورات کنترل دسترسی

    می توان از روش ها استفاده کرد: GET، POST، PUT، DELETE، CONNECT، OPTIONs، TRACE، PATCH، PROPFIND، PROPPATCH، MKCOL، COPY، MOVE، LOCK، UNLOCK.

    پورت گوش دادن [A]

    باعث می شود آپاچی به آدرس ها و پورت های مشخص شده گوش دهد. به عنوان مثال، برای وادار کردن سرور به گوش دادن به پورت های 80 و 8000، از موارد زیر استفاده کنید:

    برای اجرای آپاچی بر روی اینترفیس های مختلف با شماره پورت مشخص شده، از:

    192.170.2.1:80 گوش کنید

    192.170.2.5:8000 گوش کنید

    طول ListenBacklog[A]

    حداکثر طول صف پردازش اتصال.

    ...

    جزئیات در apache-manual :)

    ...

    جزئیات در apache-manual

    نام فایل قفل[A]

    دستورالعمل مسیر فایل قفل را تعیین می کند.

    LogLevel emerg|هشدار|crit|خطا|هشدار|توجه|اطلاعات|اشکال‌زدایی

    سطح محتوای اطلاعاتی پروتکل (فایل ورود به سیستم عملیات سرور) را تنظیم می کند. استفاده از حداقل سطح کریت توصیه می شود.

    تعداد MaxClients[A]

    این دستورالعمل محدودیتی را برای تعداد درخواست های همزمان به سرور تعیین می کند. در واقع، این تعداد نمی تواند از تعداد پردازش های فرزند سرور بیشتر شود که به طور پیش فرض نمی تواند بیشتر از 256 باشد. برای رفع این وضعیت، HARD_SERVER_LIMIT را در httpd.h ویرایش کنید و آن را کامپایل کنید.

    تعداد درخواست MaxKeepAlive[A]

    در صورت فعال بودن KeepAlive به سرویس گیرنده اجازه می دهد تا بدون قطع اتصال TCP، تعداد فایل های مشخص شده را به صورت متوالی درخواست کند. اگر پارامتر روی 0 تنظیم شود، آپاچی فقط با در نظر گرفتن پارامتر KeepAliveTimeout اتصال را می بندد.

    MaxRequestsPerChild count[A]

    این دستورالعمل محدودیتی را برای تعداد درخواست هایی که یک پردازش کودک فردی می تواند پردازش کند، تعیین می کند. اگر MaxRequestsPerChild روی 0 تنظیم شود، تعداد درخواست ها نامحدود است.

    تعداد سرورهای MaxSpare[A]

    این دستورالعمل حداکثر تعداد مورد نظر فرآیندهای سرور بیکار را تنظیم می کند. اگر از نسخه مایکروسافت ویندوز آپاچی استفاده می کنید، دستورالعمل بی فایده است.

    تعداد سرورهای MinSpare [A]

    این دستورالعمل حداقل تعداد مورد نظر فرآیندهای سرور بیکار را تنظیم می کند. اگر از نسخه مایکروسافت ویندوز آپاچی استفاده می کنید، دستورالعمل بی فایده است.

    پورت NameVirtualHost[A]

    نشان می دهد که درخواست ها به نام پورت داده شده باید با نام میزبانی که آدرس داده می شود از هم جدا شوند (هدر HTTP "Host:"). به شما امکان می دهد چندین میزبان مجازی برای یک آدرس IP تعریف کنید.

    گزینه های پارامترهای پارامتر ...

    تنظیمات عملکرد Apache را برای محتوای مشخص شده مشخص می کند. تمام تنظیمات ممکن به طور مفصل در apache-manual توضیح داده شده است. اغلب استفاده می شود: Indexes - در صورتی که فایل فهرستی در آن یافت نشود، نمایش محتویات دایرکتوری را روشن می کند (دستورالعمل DirectoryIndex). ExecCGI - قرار دادن فایل های اجرایی (cgi، اسکریپت های perl) را در این دایرکتوری فعال می کند. شامل - شامل توانایی قرار دادن فایل ها در فهرست SSI است. هر تنظیم توسط ماژول مربوطه که از آن استفاده می کند پشتیبانی می شود و اگر ماژول صحیح بارگذاری نشود ممکن است کار نکند. هر دستورالعمل گزینه ها علاوه بر گزینه های شناخته شده از قبل تعریف شده برای دایرکتوری های والد در نظر گرفته می شود. هر تنظیم را می توان با + یا - برای "روشن یا خاموش کردن" در این زمینه پیشوند کرد.

    نام فایل PidFile [A]

    دستورالعمل نام فایلی را که سرور شناسه فرآیند را روی آن می نویسد، تعیین می کند.

    پورت آپاچی را مشخص می کند - عددی از 0 تا 65535 (دقت داشته باشید که برخی از پورت ها ممکن است توسط پروتکل های دیگر استفاده شوند، به /etc/services مراجعه کنید). پورت استاندارد پروتکل http 80 است.

    نیازمند userid|گروه|کاربر معتبر|مالک فایل|مالک گروه [A]

    مشخص می کند که کدام کاربران به دایرکتوری دسترسی دارند.

    نیاز به userid - فقط این کاربران دسترسی دارند

    نیاز گروه نام گروه [گروه-نام] - همه کاربران این گروه ها

    نیاز به کاربر معتبر - همه کاربران معتبر.

    نام فایل ResourceConfig[A]

    سرور پس از خواندن httpd.conf دستورالعمل های بیشتری را از این فایل می خواند. نام فایل نسبت به ServerRoot است. می توان آن را غیرفعال کرد: ResourceConfig /dev/null

    RLimitCPU حداکثر| ثانیه[ حداکثر| ثانیه] [A]

    RLimitMEM حداکثر|بایت[حداکثر|بایت] [A]

    RLimitNPROC حداکثر|تعداد[حداکثر|تعداد] [A]

    ارضای هر|همه [A]

    وقتی از Allow و Require استفاده می شود، خط مشی دسترسی را مشخص می کند. زمانی استفاده می شود که دسترسی به منطقه با نام کاربری/رمز عبور و آدرس مشتری محدود باشد. در این حالت، پیش‌فرض ("همه") از مشتری می‌خواهد که آدرس را تأیید کرده و نام کاربری و رمز عبور صحیح را وارد کند. در مورد پارامتر "any"، کلاینت در صورت وارد کردن نام کاربری و رمز عبور صحیح یا عبور از محدودیت میزبان، دسترسی پیدا می کند. می توان از آن برای محدود کردن دسترسی با رمز عبور استفاده کرد، اما به مشتریان اجازه می دهد از یک آدرس خاص بدون رمز عبور عبور کنند.

    نام فایل ScoreBoardFile [A]

    این دستورالعمل برای تعیین نام فایل مورد استفاده توسط سرور برای ارتباط بین فرآیندهای فرزند و والد مورد نیاز است. می توانید با راه اندازی Apache و مشاهده اینکه آیا فایلی با نام داده شده ایجاد کرده است، متوجه شوید که آیا این فایل مورد نیاز است یا خیر. اگر چنین است، پس باید مطمئن شوید که فقط یک نسخه از آپاچی از آن استفاده می کند.

    SendBufferSize بایت[A]

    اندازه بافر TCP را تنظیم می کند.

    ایمیل سرور ادمین

    آدرس ایمیلی را که سرور در پیام های خطا به مشتری نشان می دهد را تنظیم می کند.

    نام میزبان ServerAlias

    یک نام میزبان مجازی جایگزین را مشخص می کند.

    نام سرور نام میزبان

    دستورالعمل نام سرور را تعیین می کند. در لینک بیلدینگ استفاده می شود. اگر نام تنظیم نشده باشد، سرور سعی می کند آن را از آدرس IP خود دریافت کند.

    مسیر ServerPath

    دستورالعمل، نام مسیر ارثی را برای میزبان تعیین می کند.

    مسیر سرور روت[A]

    دایرکتوری محل زندگی سرور را تنظیم می کند. معمولا شامل زیر شاخه های conf/ و logs/ می باشد. مسیرها برای فایل های پیکربندی دیگر نسبت به این دایرکتوری ساخته شده اند.

    امضای سرور در|ff|mail

    رشته ای را در پایین سند ایجاد شده توسط سرور پیکربندی می کند. به طور پیش‌فرض غیرفعال است، روشن - نسخه سرور و نام سرور میزبان مجازی را نشان می‌دهد، ایمیل یک mailto اضافه می‌کند: پیوند به ServerAdmin

    ServerTokens Minimal|OS|کامل [A]

    هدر ارسال شده توسط سرور به کلاینت را کنترل می کند که سیستم عامل سرور و ماژول های کامپایل شده را توصیف می کند.

    ServerType مستقل|inetd[A]

    نحوه راه اندازی سرور توسط سیستم را مشخص می کند. inetd - از فرآیند سیستم inetd اجرا می شود. مستقل - به عنوان یک فرآیند دیمون.

    تعداد سرورهای شروع[A]

    تعداد فرآیندهای فرزند ایجاد شده در راه اندازی را تنظیم می کند. به هر حال تعداد بسته به بار به صورت پویا تغییر می کند، معمولاً دلیلی برای تغییر این تنظیم وجود ندارد.

    زمانی که آپاچی منتظر می ماند: دریافت درخواست GET، دریافت بسته های TCP در درخواست های POST و PUT، مکث بین ACK ها هنگام ارسال بسته های TCP در پاسخ ها.

    UseCanonicalName روشن|خاموش

    باعث می شود Apache نام صفحاتی را که با استفاده از مقادیر SERVER_NAME با SERVER_PORT ایجاد می کند ایجاد کند.

    نام کاربری

    شناسه کاربری را تنظیم می کند که توسط آن سرور به درخواست ها پاسخ می دهد. برای استفاده از دایرکتیو، سرور باید به صورت روت در حال اجرا باشد.

    ...[آ]

    دایرکتیوهایی که در داخل یک بلوک تشکیل شده توسط یک جفت دستورالعمل قرار می گیرند ومن پیکربندی میزبان مجازی داده شده را تعریف می کنم. هر میزبان مجازی باید یک آدرس IP، شماره پورت یا نام میزبان منحصر به فرد داشته باشد. اگر برای مثال، سرور یک رابط شبکه برای شبکه داخلی و یک رابط دیگر برای شبکه خارجی داشته باشد، استفاده از دستورالعمل منطقی است.

    mod_env - تنظیم و عبور متغیرها برای پردازش در فایل های CGI/SSI

    متغیر PassEnv[متغیر] ...

    یک متغیر محیطی (به عنوان مثال HOME) را به کنترل کننده ها منتقل می کند.

    مقدار متغیر SetEnv

    مقدار داده شده را برای متغیر محیطی مشخص شده می نویسد.

    متغیر UnsetEnv[متغیر] ...

    متغیر را بازنشانی می کند و خواندن آن را از کنترل کننده ها غیرممکن می کند.

    mod_setenvif - استفاده از شرطی ها برای تنظیم متغیرهای محیطی

    BrowserMatch regex env-variable[=value] ] ... [A]

    از عبارت منظم تصویب شده به عنوان فیلتر برای سربرگ User-Agent از مرورگر مشتری استفاده می کند. در یک ضربه موفق، متغیر را به مقدار داده شده مقداردهی اولیه می کند. اگر فقط نام یک متغیر مشخص شده باشد، با عدد 1 مقداردهی اولیه می شود. اگر متغیری با یک "!" - متغیر ریست شده است.

    BrowserMatchNoCase regex env-variable[=value] ] ... [A]

    مشابه BrowserMatch عمل می‌کند، و اجازه می‌دهد تا تفاوت‌های حروفی بین مقدار User-Agent تصویب شده و عبارت منظم مورد استفاده به عنوان فیلتر وجود داشته باشد.

    SetEnvIf ویژگی regex env-variable[=value] ] ... [A]

    عمل انجام شده توسط دایرکتیو کاملاً شبیه به BrowserMatch است، اما هر هدر دیگری را می توان به جای User-Agent استفاده کرد: Remote_Host; Remote_Addr; remote_user; روش_درخواست؛ Request_URI; ارجاع دهنده

    SetEnvIfNoCase ویژگی regex env-variable[=value] ] ... [A]

    تفاوت SetEnvIf با BrowserMatchNoCase از BrowserMatch در بالا یکسان است.

    mod_unique_id - یک متغیر محیطی منحصر به فرد UNIQUE_ID ایجاد می کند

    این متغیر به طور تصادفی از آدرس IP سرور، شماره فرآیند در حال اجرا، مهرهای زمانی و شمارنده‌های داخلی اضافی تولید می‌شود.

    این متغیر برای استفاده در اسناد ترکیبی در نظر گرفته شده است که امکان ردیابی همان درخواست با روش‌های دیگر وجود ندارد.

    mod_mime - طراحی شده برای تعیین نوع mime یک فایل هنگام ارسال آن به مشتری

    افزونه AddCharset ...

    برای پسوندهای فایل مشخص شده، به Apache می‌گوید که هنگام پاسخ دادن به مشتری، مجموعه نویسه‌های داده شده را ارسال کند.

    AddEncoding پسوند MIME-enc ...

    برای پسوندهای فایل مشخص شده، به Apache می گوید که آیا فایل را با استفاده از رمزگذاری MIME مورد نظر منتقل کند یا خیر.

    افزونه نام کنترل کننده AddHandler ...

    به Apache می‌گوید که فایل‌های با پسوندهای داده شده باید به یک هندلر خاص ارسال شوند. کنترل کننده می تواند داخلی (cgi-sript و موارد دیگر) یا خارجی باشد که قبلاً توسط دستورالعمل Action توضیح داده شده است.

    افزونه MIME-lang AddLanguage ...

    رابطه ای بین پسوند فایل و کد زبان ارسال شده در پاسخ برقرار می کند.

    افزونه AddType MIME...

    جدول انواع MIME را با نگاشت جدیدی از پسوند فایل و کد MIME برای پاسخ به مشتری تکمیل می کند.

    زبان پیش فرض MIME

    زبان پاسخ را طوری تنظیم می‌کند که اگر با روش‌های دیگر امکان‌پذیر نباشد، همیشه ارسال شود.

    ForceType نوع MIME

    یک پاسخ با نوع MIME داده شده را در دایرکتوری که دستورالعمل داده شده به آن مرتبط است، وادار می کند.

    پسوند RemoveEncoding...

    رمزگذاری MIME در پاسخ فایل‌های با پسوندهای داده شده را حذف می‌کند.

    پسوند RemoveHandler...

    به آپاچی می‌گوید که برای فایل‌هایی با پسوندهای داده شده، کنترلرها را اجرا نکند.

    پسوند RemoveType ...

    نوع MIME در پاسخ به سرویس گیرنده را به نوع پیش فرض MIME بازنشانی می کند

    کنترلر SetHandler

    فراخوانی این کنترل کننده را برای همه فایل هایی که این دستورالعمل به آنها اختصاص داده شده است مجبور می کند.

    نام فایل TypesConfig[A]

    مکان جدول جستجوی نوع MIME را مشخص می کند. پیش فرض - conf.mime.types

    mod_mime_magic - ماژولی که از قوانین پیچیده برای تعیین نوع MIME فایل ارسال شده در پاسخ استفاده می کند.

    نام فایل MimeMagicFile

    عمل ماژول را با استفاده از فایل مشخص شده در ناحیه سند داده شده وب سرور یا در تمام اسناد موجود در آپاچی فعال می کند.

    mod_negotiation - اطمینان از مذاکره انواع داده های منتقل شده بین مشتری و سرور

    CacheNegotiatedDocs[A]

    ذخیره اسناد با محتوای قابل مذاکره در سرورهای پروکسی میانی و رایانه سرویس گیرنده را فعال می کند.

    زبان اولویت زبان MIME ... [A]

    اولویت زبان های مورد استفاده در پاسخ به مشتری را زمانی که امکان تعیین دقیق یا یافتن زبان سند درخواستی مشتری وجود ندارد، تعیین می کند.

    mod_alias - به شما امکان می دهد اسناد را در فهرست های وب سرور به روشی دلخواه تر مرتب کنید

    نام مستعار URL-path file system-path

    به آپاچی می‌گوید که اسنادی که در «زیر» URL داده شده قرار دارند، باید «زیر» مکان داده شده در سیستم فایل جستجو شوند.

    AliasMatch URL-regexp filesystem-path

    قوانین پیچیده تری را برای جستجوی داده ها در سیستم فایل بر اساس نتایج مقایسه URL ها با یک عبارت منظم تعریف می کند.

    URL مسیر URL را تغییر مسیر دهید

    کد پاسخ مشخص شده (302 به طور پیش‌فرض) را برمی‌گرداند و مشتری را در پاسخ به درخواست مسیر URL و اسناد «زیر» به یک URL دیگر هدایت می‌کند. وضعیت را می توان به عنوان یک عدد یا به صورت نمادین مشخص کرد: دائمی (301)، دما (302)، seeother (303)، رفته (410). برای کد پاسخ 410، URL پاسخ باید حذف شود.

    RedirectMatch URL-regexp URL

    مشابه Redirect، با استفاده از یک عبارت منظم به جای تطبیق دقیق برای مقایسه URL ارسال شده.

    URL مسیر URL RedirectTemp

    مشابه تغییر مسیر با استفاده از کد پاسخ 302.

    URL مسیر URL دائمی تغییر مسیر

    مشابه تغییر مسیر با استفاده از کد پاسخ 301.

    مسیر فایل سیستم مسیر URL ScriptAlias

    مانند Alias ​​عمل می کند اما به طور خودکار کنترل کننده cgi-handler را برای اجرا برای همه فایل های داخل فهرست هدف تنظیم می کند.

    ScriptMatch URL-regexp filesystem-path

    مشابه ScriptAlias، با اعتبار سنجی عبارت منظم URL.

    mod_rewrite - مدیریت مکان اسناد روی سرور

    در مجموعه کوتاهی از توضیحات دستورالعمل های آپاچی، توصیف وظایف حل شده توسط این ماژول پیچیده دشوار است. به عنوان راهنمای عمل، بهتر است از بخش‌های ویژه apache-manual "Module mod_rewrite URL Rewriting Engine" و "URL Rewriting Guide" استفاده کنید. ساده ترین راه برای یادگیری نحوه استفاده از این ماژول، در نظر گرفتن وظایف خاص و راه حل های آنها با استفاده از آن است.

    یک فرآیند اصلی (والد) وجود دارد که مسئول ایجاد فرآیندهای فرزند است که به نوبه خود به اتصالات گوش می دهد و درخواست های مشتری را پردازش می کند. آپاچی همیشه سعی می کند چند فرآیند سرور بیکار را برای رسیدگی به درخواست های دریافتی آماده نگه دارد.بنابراین، کلاینت ها لازم نیست منتظر بمانند تا پردازش های فرزند جدید ایجاد شود تا قبل از ارائه درخواست آنها فورک شود. فرآیند والد، پردازش های فرزند را برای ارائه درخواست ها ایجاد می کند.

    به طور کلی، آپاچی بسیار مستقل است، بنابراین اکثر وب سایت ها نیازی به تغییر این دستورالعمل ها از مقادیر پیش فرض خود ندارند.

    برای سایت‌هایی که نیاز به ارائه بیش از 256 درخواست همزمان دارند، ممکن است بخواهید MaxClients را افزایش دهید و برای سایت‌هایی که روی سرورهایی با حافظه محدود میزبانی می‌شوند، ممکن است بخواهید مقدار MaxClients را کاهش دهید تا سرور مجبور به تعویض حافظه به دیسک نشود. برگشت) که منجر به کندی شدید می شود.

    انتخاب ماژول یکی از مهم ترین مراحل در تامین امنیت وب سرور آپاچی است. ما باید با یک قانون خوب هدایت شویم: کمتر، بیشتر است. برای فعال کردن عملکرد مورد نیاز و ارائه حفاظت خوب، ماژول های زیر باید فعال شوند:

    httpd_core - هسته آپاچی، با هر نصب آپاچی مورد نیاز است.

    mod_access - دسترسی به دایرکتوری های سرور را بر اساس آدرس IP مشتری یا نام میزبان کنترل می کند.

    mod_auth - برای احراز هویت کاربران با استفاده از فایل های متنی مورد نیاز است.

    mod_dir - برای جستجوی فایل های فهرست مورد نیاز است: "index.html"، "default.html"، و غیره.

    mod_log_config - ثبت درخواست های ارسال شده به سرور را ارائه می دهد. mod_mime - شامل دستورالعمل هایی است که سازماندهی انواع مختلف MIME را در سرور تسهیل می کند.

    سایر ماژول های آپاچی باید غیرفعال شوند. ما می توانیم با خیال راحت آنها را خاموش کنیم، زیرا به آنها نیازی نخواهیم داشت. با غیرفعال کردن ماژول‌های غیرضروری، از سوء استفاده مهاجم از آسیب‌پذیری که در یکی از این ماژول‌ها یافت می‌شود جلوگیری می‌کنیم.

    همچنین شایان ذکر است که دو ماژول آپاچی (mod_autoindex و mod_info) خطرناک ترین هستند. ماژول اول به شما امکان می دهد فهرست را به طور خودکار فهرست کنید و به طور پیش فرض فعال است. برای مشاهده نحوه کار، مثلاً http://server_name/icons/ را وارد کنید و اگر فایل های فهرستی در این دایرکتوری وجود نداشت، محتویات کل دایرکتوری نمایش داده می شود. ماژول دوم، mod_info، هرگز نباید از طریق اینترنت قابل دسترسی باشد زیرا کل پیکربندی وب سرور آپاچی را نشان می دهد.

    سوال بعدی نحوه کامپایل ماژول ها است. به نظر من روش ایستا (کدها در فایل های اجرایی ساخته می شوند) بهتر از روش پویا است (کدها در زمان راه اندازی برنامه جمع آوری می شوند). با انتخاب یک روش استاتیک، نیاز به ماژول دیگری به نام mod_so را نیز از بین می‌بریم.

    کار مستقل:کار با سرور پایگاه داده MySQL. ایجاد جداول درج، بازیابی و به روز رسانی داده ها در پایگاه داده.

    کار آزمایشگاهی شماره 12.نصب و پیکربندی وب سرور آپاچی

    کار مستقل:کار با سرور پایگاه داده MySQL.