• Apache yapılandırması. Ubuntu'da Apache yapılandırmasına genel bakış Apache yapılandırma dosyalarının ayarları neden aniden uçup gitti?

    Kendin yap Linux sunucusu Kolisnichenko Denis Nikolaevich

    12.2.2. Apache'yi netconf ile yapılandırma

    Hemen hemen tüm Apache web sunucusu seçenekleri, netconf (veya linuxconf) yapılandırıcısı kullanılarak ayarlanabilir. Bunu yapmak için netconf'u başlatın ve sekmeye gidin sunucu görevleri, ve ardından "Apache Webserver" düğmesine tıklayın (bkz. Şekil 12.2).

    Pirinç. 12.2. Apache'yi netconf ile yapılandırma

    Netconf ile, temel Apache seçeneklerini kolayca ayarlayabilir (bkz. Şekil 12.3), sanal ana bilgisayarları tanımlayabilir, alt dizin seçeneklerini ayarlayabilir, dizin ve modül özelliklerini tanımlayabilir ve aşağıda yapılandırılan mod_ssl modülü için seçenekleri ayarlayabilirsiniz (bkz. Şekil 12.4). bölüm.

    Pirinç. 12.3. Apache Temel Seçenekleri

    Pirinç. 12.4. Mod_ssl modülü yapılandırması

    Sitenizde Hız Aşırtma kitabından yazar Matsievsky Nikolai

    Kullanıcı için Linux kitabından yazar Kostromin Viktor Alekseevich

    Apache 2'yi Yapılandırma Apache 2 için açıklanan adımlar çok daha basit görünüyor.# .gzAddEncoding gzip .gz# uzantılı tüm dosyalar için Content-Type ekleyin HTML ve XML dosyaları için sıkıştırmayı etkinleştirAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# ve simgeler için (aşağıda bununla ilgili daha fazla bilgi)AddOutputFilterByType DEFLATE image/x-icon#

    Kendin Yap Linux Sunucusu kitabından yazar

    Apache Testlerinin Konqueror altında yapılandırılması, bu tarayıcının arşivlenmiş dosyaları (CSS ve JavaScript) anlamadığını göstermiştir, bu nedenle ziyaretçilerin yüzde onda birini kalp krizinden kurtarmak için (uygun stiller olmayan bir site gördüklerinde), bu sete eklemeye değer

    Kitaptan Linux: Eksiksiz Kılavuz yazar Kolisnichenko Denis Nikolaevich

    Ubuntu 10 Hızlı Başlangıç ​​Kılavuzundan yazar Kolisnichenko D. N.

    Apache 2 config # set header İçerik Kodlama: gzipAddEncoding gzip .gz# metin dosyaları için gzip'i baştan etkinleştir -filesAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE

    Bir bilgisayar korsanının gözünden Linux kitabından yazar Flenov Mihail Evgenieviç

    13.2.6. netconf yardımcı programı Önceki bölümlerde, yapılandırma dosyalarını doğrudan düzenleyerek ağ erişimini nasıl yapılandırabileceğinizi ayrıntılı ve sırayla açıklamaya çalıştım. Ancak, yerel ağ ayarları özel yardımcı programlar kullanılarak da yapılabilir.

    yazarın kitabından

    12 Apache Sunucusu Bu bölüm, popüler Apache WWW sunucusuna odaklanmaktadır. Apache sunucusu, Apache Projesi tarafından geliştirilmiş ve sürdürülmüştür. Başlangıçta, Apache sunucusu, Illinois Ulusal Süper Bilgisayar Geliştirme Merkezi'nde geliştirilen NCSA Web sunucusunun bir varyasyonuydu.

    yazarın kitabından

    12.1. Apache Kurulumu Apache sunucusunu kurmak için apache ve apache-docs paketlerini kurmanız gerekir. İlki sunucunun kendisini, ikincisi ise belgeleri içerir. En son sürümü kurmanız tavsiye edilir. Son sürümlerde ayrıca aşağıdakileri içeren apache-common paketini de kurmanız gerekir.

    yazarın kitabından

    12.5. SSL ve Apache 12.5.1. SSL Kurulumu SSL (Secure Sockets Layer), Netscape tarafından İnternet güvenliği için geliştirilmiş bir şifreleme yöntemidir. Bu yöntem, birden çok şifreleme yöntemini destekler ve hem istemci düzeyinde hem de kullanıcı düzeyinde kimlik doğrulama sağlar.

    yazarın kitabından

    12.5.2. SSL'yi Apache'ye Bağlamak Şimdi mod_ssl'yi Apache'ye bağlamak kalıyor. Apache sürümünüzle uyumlu bir mod_ssl sürümüne ihtiyacınız olduğunu unutmayın. Aksi takdirde mod_ssl modülü düzgün çalışmaz veya hiçbir şey yapmayı reddeder. Başlıktaki son rakamlar

    yazarın kitabından

    16.1. Apache Kurulumu Dağıtıma bağlı olarak, Apache web sunucusunun kurulduğu paket apache veya httpd, dokümantasyon paketi ise sırasıyla apache-docs veya httpd-manual olarak adlandırılabilir. İlk durumda, aşağıdakileri içeren apache-common paketini de kurmanız gerekecektir.

    yazarın kitabından

    16.10. SSL ve Apache 16.10.1. SSL Kurulumu SSL (Güvenli Yuva Katmanı), veri iletimini güvenli hale getirmek için Netscape tarafından geliştirilmiş bir şifreleme yöntemidir. Bu yöntem, birden çok şifreleme yöntemini destekler ve hem istemcide hem de istemcide kimlik doğrulama sağlar.

    yazarın kitabından

    16.10.2. SSL'yi Apache'ye Bağlamak Kurmanız gereken mod_ssl sürümü, sizin Apache sürümünüz ile uyumlu olmalıdır, aksi takdirde mod_ssl modülü düzgün çalışmaz veya hiçbir şey yapmayı reddeder. Modül adındaki son rakamlar, belirli bir modülle uyumluluğu gösterir.

    yazarın kitabından

    16.13. Apache sunucusunu koruma Sunucu yapılandırıldığında, yapılandırma dosyasının değiştirilmesini ve silinmesini yasaklayacağız: # chattr +i /etc/httpd/conf/httpd.conf Bundan sonra siz (başka hiç kimse) bunu değiştiremeyeceksiniz Konfigüratör kullanılarak bile dosya dosyası. Hakların 511 olarak ayarlanması da arzu edilir.

    yazarın kitabından

    26.2.1. Apache ve PHP Kurulumu Synaptic yöneticisini başlatın. Hızlı Arama alanına apache yazın. Apache2 paketine sağ tıklayın ve Yüklemek için İşaretle'yi seçin. Paket yöneticisi size ek paketler kurmanızı söyleyecektir (Şekil 26.1). Düğmeye bas

    yazarın kitabından

    5.1.1. netconf Bu komut, ağ yapılandırıcısını başlatır (Şekil 5.1). netconf programı, kullanıcı dostu bir grafik arayüze sahiptir ve yapılandırma dosyalarını düşünmeden ağ ayarlarını yapılandırmanıza olanak tanır. Pirinç. 5.1. Program penceresi

    Apache yapılandırması için 4 ana yaklaşım vardır:

    1. Derleme / kurulum: kaynaktan derleme, gerekli modülleri seçmenize, gerekli bayrakları, yolları vb. ayarlamanıza olanak tanır.
    2. Komut satırı seçenekleri: Başlangıçta Apache'yi yapılandırmanıza izin verir.
    3. Genel Yapılandırma Dosyaları: Varsayılan ana dosya httpd.conf olarak adlandırılır.
    4. Yerel yapılandırma dosyaları: .htaccess kullanımı.

    httpd.conf dosyasındaki yapılandırma yönergeleri 3 kategoriye ayrılabilir:

    1. Genel çalışma sürecini kontrol eden direktifler.
    2. Sanal konak direktifleri.
    3. Sanal ana bilgisayar ayarları.

    Birinci grubun direktifleri şunlardır: , , , , , .

    Belirli bir dosya yapısına veya bir URL'ye göre uygulanırlar. Birinci durumda, bu , saniyede - . Apache, yönergeye dayalı olarak yapılan sanal barındırma uygulayarak aynı anda farklı adlara sahip birden çok web sitesine hizmet verebilir. . Ana yapılandırmadaki değişikliklerin etkili olabilmesi için sunucunun yeniden başlatılması gerekir.

    Yerel yapılandırma .htaccess tabanlıdır. Bu dosyanın adı AccessFileName bölümünde değiştirilebilir. .htaccess dosyasında yapılan değişiklikler, yeniden başlatmaya gerek kalmadan hemen etkili olur, etkisi, tüm iç içe geçmiş alt dizinlerle birlikte bulunduğu dizine kadar uzanır. .htaccess'in aşırı kullanımı sunucu performansını etkileyebilir.

    Ana httpd.conf yapılandırmasının içeriği 5 bölüme ayrılabilir:

    1. küresel direktifler.
    2. - sanal sunucular için geçerlidir.
    3. , - dizinler için geçerlidir.
    4. , - dosyalara uygula.
    5. , - URL için geçerlidir.

    Yönerge birkaç parametreye sahip olabilir, parametrelerin türü değişebilir.

    Her direktif belirli bir modül tarafından işlenir.

    Örneğin, direktif

    Aşağıdaki yönerge mod_env modülü tarafından işlenecek ve bir ortam değişkeni ayarlanacaktır:



    Yerel .htaccess dosyasının içeriği de 5 bölüme ayrılabilir:

    1. AuthConfig - yetkilendirme kontrolü.
    2. Limitler - erişim kontrolü.
    3. Seçenekler - belirli dizin ayarları.
    4. FileInfo - belgeler için öznitelikleri ayarlama.
    5. İndeksler - dizin indeksleme.

    Ubuntu'da apache /etc/apache2 konumunda bulunur ve yapılandırma dosyalarına ek olarak "sites-available" ve "sites-enabled" dizinlerini içerir. İlk dizin, sunucuda bulunan sitelerin bir listesini ve ikincisi - sunucu tarafından sunulanları içerir. Bu, sunucu tarafından hizmet verilecek siteleri DocumentRoot'tan fiziksel olarak kaldırmak zorunda kalmadan hızla eklemeyi ve kaldırmayı mümkün kılar. Ek olarak, Include deyimi kullanılarak diğer ayar dosyaları eklenebilir ve gruplama karakterleri, birden çok ayar dosyasını dahil etmek için kullanılabilir. Bu yapılandırma dosyalarından herhangi birine herhangi bir talimat eklenebilir. Sunucu ayrıca belge mim türlerini içeren dosyaları da okur; dosya adı TypesConfig yönergesi tarafından belirlenir, genellikle /etc/apache2/mods-available/mime.conf aracılığıyla, ayrıca eklemeler ve geçersiz kılmalar da içerebilir ve /etc/mime.types varsayılandır.

    httpd.conf - Apache sunucu yapılandırması

    Apache, direktifleri düz metin yapılandırma dosyalarına yerleştirerek yapılandırılır. Apache sunucusu ana yapılandırma dosyası - httpd.conf.
    Diğer yapılandırma dosyaları, Include direktifi kullanılarak eklenebilir. Bu yapılandırma dosyalarından herhangi birinde herhangi bir yönerge ayarlanabilir.
    Apache 2.4, bir alt dizindeki (varsayılan) dosyalarla yapılandırılmıştır - konf(C:\Program Files\Apache Software Foundation\Apache2.4\conf\). Bunlar, OS Unix yapılandırmasıyla aynı dosyalardır, ancak Windows'a özgü birkaç yönerge vardır.

    Apache HTTP 2.4 sunucusunun ana yapılandırma dosyasının adı genellikle - httpd.conf.

    Web sunucusunun, sanal sunucuların ve tüm Apache 2.4 yazılım modüllerinin çalışmasını kontrol eden yönergeler ve parametreler içerir. . Apache modüler bir sunucudur. Bu, ana sunucuya yalnızca en temel işlevlerin dahil edildiği anlamına gelir. Dinamik olarak yüklenen modüllerin yardımıyla işlevlerin genişletilmesi. Yapılandırma dosyaları, her satırda bir yönerge içerir. Ters eğik çizgi "\", yönergenin bir sonraki satırda devam ettiğini belirtmek için bir satırdaki son karakter olarak kullanılabilir. Ters eğik çizgi ile satır sonu arasında başka karakter veya boşluk olmamalıdır. Yapılandırma dosyalarındaki yönergeler büyük/küçük harfe duyarsızdır, ancak yönerge bağımsız değişkenleri genellikle büyük/küçük harfe duyarlıdır. "#" karakteri ile başlayan satırlar yorum olarak kabul edilir ve yoksayılır. Açıklamalar, bir yapılandırma direktifinden sonraki bir satıra dahil edilemez. Yönergeden önceki boş satırlar ve boşluklar yoksayılır.

    Direktif Apache sunucusunun davranışının bir veya daha fazla yönünü kontrol eden bir yapılandırma komutudur.
    Ana yapılandırma dosyalarına yerleştirilen yönergeler, sunucunun tamamı için geçerlidir. .

    Yapılandırma dosyalarında sözdizimi hataları olup olmadığını kontrol etmek için şu komutu kullanın: httpd.exe -t.

    Apache 2.4 kurulurken aşağıdakiler tanıtıldı:

    Ağ Etki Alanında (Ağ Etki Alanı) - server-apache24.com
    Sunucu Adında - www.server-apache24.ru
    Yöneticinin E-posta Adresinde (Yöneticinin Posta Adresi) - [e-posta korumalı]

    Buradan, server-apache24.com- Apache sunucusunun ana sitesinin adı olacaktır.

    Ana Apache sunucu sitesi bir dosyada yapılandırılmıştır - httpd.conf.

    Apache sunucusu yapılandırma dosyasında değişiklik yapma - httpd.conf

    Alan adına göre Apache sunucusunun ana sitesine erişmek için - server-apache24.com, diskte bir dizin oluşturun - C:\server-apache24.ru

    server-apache24.com

    • C:\server-apache24.ru
      • kütükler
        • erişim günlüğü
        • hata günlüğü
      • www
        • index.html

    dizin sunucusu-apache24.ru

    Diskin kökünde C: bir dizin oluşturmanız gerekir server-apache24.com
    onda zorunlu olarak klasörler şöyle olmalıdır:
    kütükler boş dosyalarla erişim günlüğü Ve hata günlüğü
    Ve
    www dosya ile index.html

    httpd.conf dosyasındaki satırlara bakın -
    209 Sunucu Yöneticisi [e-posta korumalı]
    218 SunucuAdı www.server-apache24.ru:80
    243 DocumentRoot "C:/server-apache24.ru/www"
    245

    httpd.conf - Apache 2.4 sunucu yapılandırması

    httpd.conf.
    Ana yapılandırma dosyası yönergeleri tüm sunucu için geçerlidir

    Kırmızı ile vurgulananlar dışındaki tüm girişler yorumlanmalıdır. Bir karakterle başlayan satırlar "#" yorumlardır.

    # # Bu, ana Apache HTTP sunucusu yapılandırma dosyasıdır. Sunucuya yönergelerini veren # yapılandırma yönergelerini içerir. # Ayrıntılı bilgi için bakınız. # Özellikle, her yapılandırma direktifinin bir tartışması için bkz. # #. # # Buradaki talimatları, ne yaptıklarını anlamadan # # OKUMAYIN. Bunlar yalnızca ipucu veya hatırlatma olarak buradalar. Emin değilseniz # çevrimiçi belgelere başvurun. Uyarıldınız. # # Yapılandırma ve günlük dosyası adları: Sunucunun kontrol dosyalarının çoğu için belirttiğiniz dosya adları " ile başlıyorsa " /" (veya Win32 için "drive:/"), # sunucusu bu açık yolu kullanacaktır. Dosya adları "/" ile *başlamıyorsa*, ServerRoot'un değeri başa eklenir -- yani "logs/access_log" # ServerRoot "/usr/local/Apache2" olarak ayarlandığında sunucu # tarafından " olarak yorumlanır /usr/local/apache2/logs/access_log", "/logs/access_log" # ise "/logs/access_log" olarak yorumlanacaktır. # # NOT: Dosya adlarının belirtildiği yerlerde, ters eğik çizgiler yerine eğik çizgiler # kullanmalısınız (örneğin, "c:\apache" yerine "c:/apache"). # Bir sürücü harfi atlanırsa, varsayılan olarak httpd.exe dosyasının bulunduğu # sürücü kullanılacaktır. Karışıklığı önlemek için her zaman mutlak yollarda açık bir sürücü harfi # sağlamanız önerilir. # # ServerRoot: Sunucunun # yapılandırma, hata ve günlük dosyalarının tutulduğu dizin ağacının üst kısmı. # # Dizin yolunun sonuna eğik çizgi eklemeyin. -yerel disk, dosya tabanlı muteksler kullanılıyorsa, # Mutex yönergesinde bir yerel disk belirttiğinizden emin olun.ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.4" # # Mutex: bağımsız muteksler için muteks mekanizması ve muteks dosya dizini # veya genel varsayılanları değiştirin # # Muteksler dosya tabanlıysa ve varsayılan # muteks dosya dizini yerel bir diskte değilse veya başka # kişi için uygun değilse, dizini yorumdan kaldırın ve değiştirin sebep.varsayılan yerine portlar.Ayrıca # direktifine bakın # # Apache'nin tüm bağlı IP adreslerine glomming yapmasını # önlemek için bunu aşağıda gösterildiği gibi belirli IP adreslerini dinle olarak değiştirin. # #Dinle 12.34.56.78:80 Dinle 80 # # Dinamik Paylaşılan Nesne (DSO) Desteği # # DSO olarak oluşturulmuş bir modülün işlevselliğini kullanabilmek için # bu konuma karşılık gelen `LoadModule" satırlarını yerleştirmelisiniz bu nedenle, içerdiği # direktifler kullanılmadan _önce gerçekten mevcuttur. # Statik olarak derlenmiş modüllerin ('httpd -l" ile listelenenler) buraya yüklenmesine # gerek yoktur. LoadModule takma ad_module modülleri/mod_alias.so LoadModule allowmethods_module modülleri/mod_allowmethods.so LoadModule asis_module modülleri/mod_asis.so LoadModule auth_basic_module modülleri/mod_auth_basic.so _anon_module modülleri/mod_authn_ anon.so LoadModule authn_core_module modülleri/mod_authn_core .so #LoadModule authn_dbd_module modülleri/mod_authn_dbd.so #LoadModule authn_dbm_module modülleri/mod_authn_dbm.so authnz_ldap_module modülleri/mod_ authnz_ldap.so LoadModule authz_core_module modülleri/mod_authz_core.so # LoadModule authz_dbd_module modülleri/mod_authz_dbd.so #LoadModule authz_dbm_module modülleri/mod_authz_dbm.so LoadModule authz_groupfile_module modülleri/mod_authz_groupfile.so LoadModule authz_host_module modülleri/mod_authz_host.so #LoadModule authz _owner_module modülleri/mod_authz_owner.so LoadModule au thz_user_module modülleri/mod_authz_user.so LoadModule autoindex_module modülleri/mod_autoindex .so # LoadModule tampon_module modülleri/mod_buffer.so #LoadModule önbellek_module modülleri/mod_cache.so #LoadModule önbellek_disk_module modülleri/mod_cache_disk.so #LoadModule cern_meta_module modülleri/mod_cern_meta.so LoadModule cgi_module modülleri/mod_cgi.so #LoadModule charset_lite_ modül modülleri/mod_charset_lite.so # Data_module modüllerini yükle /mod_data.so #LoadModule dav_module modülleri/mod_dav.so #LoadModule dav_fs_module modülleri/mod_dav_fs.so #LoadModule dav_lock_module modülleri/mod_dav_lock.so #LoadModule dbd_module modülleri/mod_dbd.so #LoadModule deflate_module modülleri/ mod_deflate.so LoadModule dir_module modüller /mod_dir. Yani #Loadmodule dumpio_mudele modülleri/mod_dumpio.so Loadmodule env_moudule modülleri/mod_env.so #Loadmodule Ext_Filter_Mole Modülleri/Mod_Ext_Filter.so #LoAadmodule File_cache_Mole Modülleri/Mod_file_cache .so #loadmodule headers_module modülleri/ mod_headers.so #LoadModule Heartbeat_module modülleri/mod_heartbeat.so #LoadModule Heartmonitor_module modülleri/mod_heartmonitor.so #LoadModule ident_module modülleri/mod_ident.so LoadModule imagemap_module modülleri/mod_imagemap.so LoadModule include_module modülleri/mod_include.so #LoadModule info_module modülleri/mod_info .so Yük Modülü isapi_module modülleri/mod_isapi.so #LoadModule lbmethod_bybusyness_module modülleri/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modülleri/mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modülleri/mod_lbmethod_bytraffic.so # LoadModule lbmeth od_heartbeat_module modülleri/mod_lbmethod_heartbeat.so #LoadModule ldap_module modülleri/mod_ldap.so # LoadModule log_forensic_module modülleri/mod_log_forensic.so #LoadModule lua_module modülleri/mod_lua.so LoadModule mime_module modülleri/mod_mime.so #LoadModule mime _magic_module modülleri/ mod_mime_magic.so LoadModule müzakere_module modülleri/mod_negotiation.so #LoadModule proxy_module modülleri/mod_proxy.so #LoadMo dule proxy_ajp_module modülleri/mod_proxy_ajp .so #LoadModule proxy_balancer_module modülleri/mod_proxy_balancer.so #LoadModule proxy_connect_module modülleri/mod_proxy_connect.so #LoadModule proxy _express_module modülleri/mod_proxy_express.so #LoadModule proxy_fcgi_module modülleri/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modülleri/ mod_proxy_ftp.so #LoadModule proxy_html_module modülleri/mod_proxy_html. yani #LoadModule proxy_http_module modülleri/mod_proxy_http.so #LoadModule proxy_scgi_module modülleri/mod_proxy_scgi.so #LoadModule ratelimit_mod ule modülleri/mod_ratelimit.so #LoadModule reflektör_module modülleri/mod_reflector.so #LoadModule uzakip_module modülleri/mod_remoteip.so #LoadMo dule request_module modülleri/mod_request.so #LoadModule reqtimeout_module modülleri/mod_reqtimeout.so #LoadModule rewrite_module modülleri/mod_rewrite.so #LoadModule sed_module modülleri/mod_sed.so #LoadModule session_module modülleri /mod_session.so #LoadModule session_cookie_module modülleri/mod_session_cookie.so #LoadModule session_crypto_modu dosya modülleri/mod_session_crypto.so #LoadModule session_dbd_module modülleri/mod_session_dbd.so LoadModule setenvif_module modülleri/mod_setenvif.so #LoadModule slotmem_plain_module modülleri/mod_slotmem _plain.so #LoadModule slotmem_shm_module modülleri/mod_slotmem_shm.so #LoadModule socache_dbm_module modülleri/mod_socache_d bm.so #LoadModule socache_memcache_module modülleri/mod_socache_memcache.so #LoadModule socache_shmcb_module modülleri /mod_socache_shmcb.so #LoadModule speling_module [e-posta korumalı]#SunucuYöneticisi [e-posta korumalı] # # SunucuAdı, sunucunun kendisini tanımlamak için kullandığı adı ve bağlantı noktasını verir. # Bu genellikle otomatik olarak belirlenebilir, ancak başlatma sırasında sorunları önlemek için açıkça # belirtmenizi öneririz. # # Sunucunuzun kayıtlı bir DNS adı yoksa, IP adresini buraya girin # SunucuAdı www.server-apache24.ru:80 # # Sunucunuzun dosya sisteminin tamamına erişimi engelleyin. Aşağıdaki diğer # blokta web içeriği dizinlerine erişime # açıkça izin vermelisiniz. # AllowOverride hiçbiri Tümünü gerektir reddedildi # # Bu noktadan itibaren özellikle # belirli özelliğin etkinleştirilmesine izin vermeniz gerektiğini unutmayın - bu nedenle, bir şey beklediğiniz gibi çalışmıyorsa, aşağıda özel olarak # etkinleştirdiğinizden emin olun. # # DocumentRoot: # belgelerinizi sunacağınız dizin.Varsayılan olarak, tüm istekler bu dizinden alınır, ancak diğer konumlara işaret etmek için # sembolik bağlantı ve takma ad kullanılabilir. # # DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.4/htdocs" DocumentRoot "C:/server-apache24.ru/www" # idi # # Seçenekler yönergesi için olası değerler "Yok", "Tümü", # veya herhangi biri kombinasyonu : # Dizinler FollowSymLinks'i içerir SymLinksifOwnerMatch ExecCGI MultiViews # # "MultiViews"un *açıkça* adlandırılması gerektiğini unutmayın --- "Tüm Seçenekler" # bunu size vermez. # # Seçenekler yönergesi hem karmaşık hem de önemlidir. Daha fazla bilgi için lütfen # //httpd.apache.org/docs/2.4/mod/core.html#options # adresine bakın. # # Seçenekler Dizinler FollowSymLinks, Seçenekler Dizinler FollowSymLinks'i içerir SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride, .htaccess dosyalarına hangi yönergelerin yerleştirilebileceğini kontrol eder. # "Tümü", "Hiçbiri" veya anahtar kelimelerin herhangi bir kombinasyonu olabilir: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride Hiçbiri, AllowOverride All idi # # Bu sunucudan kimlerin bilgi alabileceğini kontrol eder. # Require all AddHandler server-parsed .shtml .shtm .html .htm # # DirectoryIndex: Bir dizin istendiğinde Apache'nin sunacağı dosyayı ayarlar #. # DirectoryIndex index.html # # Aşağıdaki satırlar .htaccess ve .htpasswd dosyalarının Web istemcileri tarafından görüntülenmesini # engeller. # Tümünün reddedilmesini iste # # ErrorLog: Hata günlüğü dosyasının konumu. # Bir # kapsayıcı içinde bir ErrorLog yönergesi belirtmezseniz, o sanal ana bilgisayarla ilgili hata mesajları burada günlüğe kaydedilir. Bir # kapsayıcı için bir hata günlük dosyası tanımlarsanız, bu ana bilgisayarın hataları burada değil burada günlüğe kaydedilir. # # ErrorLog "logs/error.log", ErrorLog idi c:/server-apache24.ru/logs/error.log # # LogLevel: error_log'a kaydedilen mesajların sayısını kontrol edin. # Olası değerler şunları içerir: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # # Aşağıdaki yönergeler, bir CustomLog yönergesiyle # kullanım için bazı biçim takma adlarını tanımlar (aşağıya bakın). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%(Referer)i\" \"%(User-Agent)i\"" birleştirilmiş LogFormat "%h %l %u %t \"%r\" %>s %b" ortak # %I ve %O LogFormat "%h %l %u %t \"%r\" %> kullanmak için mod_logio.c'yi etkinleştirmeniz gerekir s %b \"%(Referer)i\" \"%(User-Agent)i\" %I %O" birleştirilmiş # # Erişim günlük dosyasının konumu ve biçimi (Ortak Günlük Dosyası Biçimi). # Bir # kap içinde herhangi bir erişim günlük dosyası tanımlamazsanız, bunlar burada günlüğe kaydedilir. Tersine, erişim başına günlük dosyalarını *yaparsanız* # işlemler burada günlüğe kaydedilir ve bu dosyada *değil* olur. # # CustomLog "logs/access.log" ortak, CustomLog idi c:/server-apache24.ru/logs/access.log common # # Erişim, aracı ve yönlendiren bilgileri içeren bir günlük dosyası tercih ederseniz # (Birleşik Günlük Dosyası Biçimi) aşağıdaki yönergeyi kullanabilir. # #CustomLog "logs/access.log" birleştirildi # # Yeniden Yönlendirme: Müşterilere, sunucunuzun ad alanında eskiden var olan, ancak artık # bulunmayan belgeler hakkında bilgi vermenizi sağlar. İstemci # belge için yeni bir istekte bulunacak yeni konumunda # Örnek: # Kalıcı yeniden yönlendirme /foo //www.server-apache24.ru/bar # # Alias: Web yollarını dosya sistemi yollarına eşler ve # DocumentRoot altında yaşamayan içeriğe erişmek için kullanılır. # Alias ​​​​/webpath /full/filesystem/path # # /webpath'in sonuna bir / eklerseniz, sunucu dosya sistemi yolunun # URL'sinde bulunmasını # gerektirecektir.# # ScriptAlias: Bu kontroller dizinler sunucu betiklerini içerir.# ScriptAliases, esas olarak Takma Adlarla aynıdır, tek fark, hedef dizindeki # belgenin uygulamalar olarak ele alınması ve # istemciye gönderilen belgeler yerine # istendiğinde sunucu tarafından çalıştırılmasıdır. " /" ScriptAlias# yönergelerine Alias ​​olarak uygulanır. # # ScriptAlias ​​​​/cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin/", ScriptAlias ​​​​/cgi-bin/ "C:/server-apache24.ru/cgi idi -bin/" # # ScriptSock: İş parçacıklı sunucularda, mod_cgid'in CGI arka plan programı ile iletişim kurmak için kullanılan UNIX # soketine giden yolu belirleyin. # #Scriptsock cgisock # # "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin", eğer konfigüre ettiyseniz, ScriptAliased # CGI dizininiz ne ise o şekilde değiştirilmelidir. # # AllowOverride Yok Seçenekler Yok Tüm verilenleri gerektir # # TypesConfig, # dosya adı uzantısından MIME tipine kadar eşlemelerin listesini içeren dosyaya işaret eder. # TypesConfig conf/mime.types # # AddType, belirli dosya türleri için TypesConfig'te belirtilen MIME yapılandırma # dosyasına eklemenize veya bu dosyayı geçersiz kılmanıza olanak tanır. # #AddType application/x-gzip .tgz # # AddEncoding, belirli tarayıcıların sıkıştırılmış bilgileri anında açmasını sağlar. Not: Tüm tarayıcılar bunu desteklemez. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # Yukarıdaki AddEncoding direktifleri yorumlanmışsa, o zaman # muhtemelen bu uzantıları medya türlerini belirtmek için tanımlamanız gerekir: # AddType application/x-compress . Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php # # AddHandler, belirli dosya uzantılarını "işleyicilere" eşlemenizi sağlar: # dosya türüyle ilgili olmayan eylemler. Bunlar sunucu # içine yerleştirilebilir veya Action yönergesi ile eklenebilir (aşağıya bakın) # # CGI betiklerini ScriptAliased dizinleri dışında kullanmak için: # ("Seçenekler" yönergesine "ExecCGI" eklemeniz gerekir.) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # Tip haritaları için (anlaşmalı kaynaklar): #AddHandler type-map var # # Filtreler, içeriği istemciye gönderilmeden önce işlemenizi sağlar. # # .shtml dosyalarını sunucu taraflı içerikler (SSI) için ayrıştırmak için: # ("Seçenekler" direktifine "İçerirler"i de eklemeniz gerekir.) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml # # mod_mime_magic modülü, sunucunun türünü belirlemek için dosyanın içeriğinden çeşitli ipuçları kullanmasına izin verir. MIMEMagicFile # yönergesi, modüle ipucu tanımlarının nerede olduğunu söyler. # #MIMEMagicFile conf/magic # # Özelleştirilebilir hata yanıtları üç şekilde gelir: # 1) düz metin 2) yerel yönlendirmeler 3) harici yönlendirmeler # # Bazı örnekler: #ErrorDocument 500 "Sunucu boo boo yaptı." #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/www/404error .html ErrorDocument 500 C:/server-apache24.ru/www/500error.html # # MaxRanges: Tüm kaynağı veya özel # değerlerden birini döndürmeden # önce bir istekteki maksimum Aralık sayısı "varsayılan", " hiçbiri" veya "sınırsız". # Varsayılan ayar, 200 Aralığı kabul etmektir. #MaxRanges sınırsız # # EnableMMAP ve EnableSendfile: Bunu destekleyen sistemlerde, # dosya teslim etmek için # bellek eşleme veya sendfile sistem çağrısı kullanılabilir. Bu genellikle sunucu performansını artırır, ancak ağa bağlı # dosya sistemlerinden hizmet verilirken veya sisteminizde bu işlevler için destek # bozulursa # kapatılmalıdır. # Varsayılanlar: EnableMMAP Açık, EnableSendfile Kapalı # #EnableMMAP kapalı #EnableSendfile açık # Ek yapılandırma # # conf/extra/ dizinindeki yapılandırma dosyaları, ekstra özellikler eklemek veya sunucunun varsayılan yapılandırmasını # değiştirmek için dahil edilebilir veya içeriklerini buraya kopyalayabilir ve # gerektiği gibi değiştirebilirsiniz. # Sunucu havuzu yönetimi (MPM'ye özel) #Include conf/extra/httpd-mpm.conf # Çok dilli hata mesajları Include conf/extra/httpd-multilang-errordoc.conf # Süslü dizin listeleri Include conf/extra/httpd-autoindex .conf # Dil ayarları Dahil conf/extra/httpd-languages.conf # Kullanıcı ev dizinleri Dahil conf/extra/httpd-userdir.conf # İstekler ve yapılandırma hakkında gerçek zamanlı bilgi #Include conf/extra/httpd-info.conf # Sanal konaklar Conf/extra/httpd-vhosts.conf içerir # Apache HTTP Sunucusuna yerel erişim Kılavuz #Include conf/extra/httpd-manual.conf # Dağıtılmış yazma ve sürüm oluşturma (WebDAV) #Include conf/extra/httpd-dav. conf # Çeşitli varsayılan ayarlar Şunları içerir: conf/extra/httpd-default.conf # Mod_proxy_html'yi HTML4/XHTML1'i anlayacak şekilde yapılandırın .conf # # Not: /dev/random eşdeğeri olmayan ancak statik olarak derlenmiş bir mod_ssl olan platformlarda SSL olmadan # başlamayı desteklemek için aşağıdakiler mevcut olmalıdır. # SSLRandomSeed başlangıç ​​yerleşik SSLRandomSeed connect yerleşik # # DNT'yi kötüye kullanarak açık standartları kasten ihlal eden kullanıcı aracılarıyla başa çıkmak için aşağıdaki açıklamayı kaldırın (DNT *belirli bir # son kullanıcı seçimi olmalıdır) # # #BrowserMatch "MSIE 10.0;" bad_DNT # # #RequestHeader DNT env=bad_DNT # ayarını kaldır


    Değişiklikler .
    Takım - httpd.exe -k yeniden başlat, Apache tarafından gerçekleştirilen herhangi bir işlemin sona ermesine izin verir ve Apache'yi yapılandırma dosyasını yeniden okumaya zorlar.


    Apache Sunucu Kurulumunda Sorun Giderme

    Apache, Apache Service Monitor adlı bir yardımcı programla birlikte gelir. Bununla, ağdaki herhangi bir bilgisayarda kurulu tüm Apache hizmetlerinin durumunu görüntüleyebilir ve yönetebilirsiniz.

    Apache 2.4'ü yeniden başlatın

    Çünkü değişiklikler ana yapılandırma dosyalarında yalnızca Apache sunucusunu başlattığınızda veya yeniden başlattığınızda etkili olur,
    sunucuyu yeniden başlatmanız gerekir.

    ApacheMonitör

    ApacheMonitor simgesi, düğme tıklanarak görülebilir - gizli simgeleri göster

    Simgeye çift sol tıklayın Apache Hizmet İzleyicisi.

    Düğmeye tıklayarak Apache sunucusunu yeniden başlatabilirsiniz. Tekrar başlat
    Apache Hizmet İzleyicisi penceresinde.
    Veya - durmak ve daha sonra - başlangıç.

    Yalnızca httpd.conf dosyasında değişiklik yaptıysanız,

    sonra tarayıcının adres çubuğuna yazarak - yerel ana bilgisayar veya - 127.0.0.1 ,
    sayfayı göreceksiniz - Hata 403.

    Erişim Yasaklandı!

    İstenen dizine erişim izniniz yok. Dizin belgesi yok veya dizin okuma korumalı.
    Bunun bir sunucu hatası olduğunu düşünüyorsanız, lütfen web yöneticisi ile iletişime geçin.

    Hata 403

    127.0.0.1
    Apache/2.4.4 (Win64)

    Giriş reddedildi!

    İstenen dizine erişim izniniz yok. Dizin belgesi yok veya dizin okuma korumalı.
    Bunun bir sunucu hatası olduğunu düşünüyorsanız, lütfen web yöneticisi ile iletişime geçin.

    Hata 403

    Komut satırında yönetici haklarıyla oturum açın - Yönetici - Komut İstemi
    ve girin:
    "C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt

    Microsoft Windows (c) 2016 Microsoft Corporation. Tüm hakları saklıdır. C:\Windows\system32> "C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt C:\Windows\system32>

    diskte C:/ dosya oluşturulacak errapache.txt


    AH00112: Uyarı: DocumentRoot mevcut değil AH00112: Uyarı: DocumentRoot mevcut değil (OS 10048) Genellikle bir soket adresinin (protokol/ağ adresi/bağlantı noktası) yalnızca bir kullanımına izin verilir. : AH00072: make_sock: [::]:80 adresine bağlanamadı (OS 10048) Genellikle bir soket adresinin (protokol/ağ adresi/bağlantı noktası) yalnızca bir kullanımına izin verilir. : AH00072: make_sock: 0.0.0.0:80 adresine bağlanamadı AH00451: kullanılabilir dinleme soketi yok, kapatılıyor AH00015: Günlükler açılamıyor

    AH00112: Uyarı:
    C:/Program Dosyaları/Apache Software Foundation/Apache2.4/docs/dummy-host.server-apache24.ru
    C:/Program Dosyaları/Apache Software Foundation/Apache2.4/docs/dummy-host2.server-apache24.ru
    Onlar yok (mevcut değil).

    Ancak asıl mesele OS hataları 10048:

    [::]:80 adresine bağlanamadı ([::]:80 adresine bağlanamadı)
    0.0.0.0:80 adresine bağlanamadı (0.0.0.0:80 adresine bağlanamadı)

    Komut istemine girin ve şunu yazın:
    netstat -aon

    Yönetici: Komut satırı

    Microsoft Windows (c) 2016 Microsoft Corporation. Tüm hakları saklıdır. C:\Windows\system32> netstat -aon Aktif bağlantılar Ad Yerel adres Harici adres Durum PID TCP 0.0.0.0:80 0.0.0.0:0 DİNLEME 1612 TCP [::]:80 [::]:0 DİNLEME 1612 TCP 127.0.0.1:49693 127.0.0.1:49694 KURULU 5612 TCP 127.0.0.1:49694 127.0.0.1:49693 KURULU 5612 TCP 127.0.0.1:51341 0.0.0.0:0 DİNLEME 3920 TCP 127.0.0.1:52006 0.0.0.0:0 DİNLEME 3708 TCP 192. 168.0.100:139 0.0.0.0 :0 DİNLEME 4 TCP 192.168.0.100:51330 34.226.135.28:443 KURULUŞ 1232 TCP 192.168.0.100:51345 52.196.85.70:443 KURULUŞ 1232 TCP 192.168.0.100:5 2796 88.212.253.127:21 KURULDU 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:53162 151.101.128.134:4 43 CLOSE_WAIT 3712 TCP 192.168.0.100:53176 151.101.112.134:443 KURULU 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 TCP 192.168.0.100:53223 23.61.217.1 75: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 KURULUŞ 5236 C:\Windows\system32>

    Daha yaygın olarak PID olarak bilinen işlem kimliği benzersiz bir sayıdır. Sistemde çalışan her işlemin benzersiz bir kimliği vardır.
    TCP 0.0.0.0:80 0.0.0.0:0 DİNLEME 1612
    TCP [::]:80 [::]:0 DİNLEME 1612

    açık Görev Yöneticisi

    Yalnızca Apache2.4 hizmetinin PID'si vardır - 1612

    katalogda C:/Program Dosyaları/Apache Software Foundation/Apache2.4/conf/extra/
    dosyayı Not Defteri'nde açın - httpd-vhosts.conf

    Herhangi bir değişiklik yapmadan önce, dosyanın bir yedek kopyasını oluşturun - httpd-vhosts.conf.

    VirtualHost bölümlerinde değiştirin
    Açık

    httpd-vhosts.conf - Apache 2.4 sunucu yapılandırma dosyasının içeriği

    # Sanal Ana Bilgisayarlar # # Gerekli modüller: mod_log_config # Makinenizde birden çok etki alanı/ana bilgisayar adı tutmak istiyorsanız, bunlar için VirtualHost kapsayıcıları kurabilirsiniz. Çoğu yapılandırma # yalnızca ada dayalı sanal ana bilgisayarlar kullanır, bu nedenle sunucunun # IP adresleri hakkında endişelenmesine gerek yoktur. Bu, aşağıdaki yönergelerde yıldızlarla gösterilir. # # Lütfen # adresindeki belgelere bakın.

    katalogda C:\Windows\System32\drivers\etc\
    dosyayı Not Defteri'nde açın - ana bilgisayarlar
    Ve ona bir satır ekleyin:

    127.0.0.1 localhost www.server-apache24.ru server-apache24.ru

    Düğmeye tıklayarak Apache sunucusunu yeniden başlatın Tekrar başlat
    Apache Hizmet İzleyicisi'nde.

    Tarayıcının adres çubuğuna girin - server-apache24.com
    ve oluşturduğunuz Apache2.4 sunucusu ana site dizini sayfasına bakın

    Site dizini sayfası www alt dizininde bulunmalıdır (C:\server-apache24.ru\www\)

    Apache 2.4 sunucusunu kurduktan sonra komut satırına girin ve şu komutları girin:

    httpd.exe -t

    İki uyarı alınacaktır.

    Yönetici: Komut satırı

    Microsoft Windows (c) 2016 Microsoft Corporation. Tüm hakları saklıdır. C:\Windows\system32> cd C:\Program Files\Apache Software Foundation\Apache2.4\bin\ C:\Program Dosyaları\Apache Software Foundation\Apache2.4\bin> httpd.exe -t AH00112: Uyarı: DocumentRoot mevcut değil AH00112: Uyarı: DocumentRoot mevcut değil Sözdizimi Tamam C:\Program Files\Apache Software Foundation\Apache2.4\bin>

    Apache HTTP Sunucusu, dünya çapında farklı platformlarda ve işletim sistemlerinde çalışan karmaşık bir yazılım ürünüdür. Bu nedenle, kurulu sistemde doğru çalışması için yapılandırılması (yapılandırılması) gerekir.
    Varsayılan olarak, Apache ayarları conf dizinindeki httpd.conf dosyasında bulunur. Aşağıda, httpd.conf dosyasındaki ana yönergeler ve bunların yaygın olarak kullanılan anlamları açıklanacaktır.

    httpd.conf dosyasını düzenleme

    1. mod_rewrite modülünü yüklemek için şu satırı bulun ve açıklamayı kaldırın (satırın başındaki "#" sembolünü kaldırın):
    LoadModule rewrite_module modülleri/mod_rewrite.so
    2. PHP yorumlayıcısını yüklemek için, modül yükleme bloğunun sonuna aşağıdaki satırı ekleyin:
    LoadModule php5_module "C:/php/php5apache2_2.dll"
    3. Aşağıdaki satırı ekleyerek PHP yapılandırma dosyasını içeren dizini tanımlayın:
    PHPIniDir "C:/php"
    4. Satırı bulun ve açıklamayı kaldırın:
    SunucuAdı localhost:80
    5. Satırı bulun:
    DocumentRoot "C:/Program Dosyaları/Apache Software Foundation/Apache2.2/htdocs"
    Site yönetimi kök dizinini atayın (bunu zaten biraz önce oluşturdunuz):
    DocumentRoot "c:/Apache"
    6. Bu bloğu bulun:

    Seçenekler SymLinks'i İzle
    Geçersiz Kılma Yok
    Sipariş reddet, izin ver
    Tümünü reddet

    Ve aşağıdaki ile değiştirin:

    Seçenekler Dizinleri İçerir FollowSymLinks
    Tümünü Geçersiz Kılmaya İzin Ver
    Tümünden izin ver

    7. Orijinal dizin kontrol bloğunu silin veya yorumlayın (buna ihtiyacımız olmayacak), ki bu, yorumlar olmadan şuna benzer:

    Seçenekler Dizinler FollowSymLinks
    Geçersiz Kılma Yok
    izin ver, reddet
    Tümünden izin ver

    8. Bloğu bulun:

    DirectoryIndex index.html

    şununla değiştir:

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

    9. Satırı bulun:
    ErrorLog "günlükler/hata.log"
    Aşağıdakiyle değiştirin (bu durumda, genel sunucu hata dosyasını görüntülemek daha uygun olacaktır):
    ErrorLog "C:/apache/error.log"
    10. Satırı bulun:
    CustomLog "logs/access.log" ortak
    Değişmek:
    CustomLog "C:/apache/access.log" ortak
    11. SSI'nin çalışması için (sunucu tarafı etkinleştirme) blokta aşağıdaki satırlar bulunur. , şunları bulmanız ve açıklamayı kaldırmanız gerekir:
    AddType metni/html .shtml
    AddOutputFilter INCLUDES.shtml
    12. Aynı bloğa aşağıya ekleyin , iki çizgi:
    AddType uygulaması/x-httpd-php .php
    AddType uygulaması/x-httpd-php-kaynak .phps
    13. Ve son olarak, satırları bulun ve yorumlarını kaldırın:
    conf/extra/httpd-autoindex.conf'u dahil et
    conf/extra/httpd-vhosts.conf'u dahil et
    conf/extra/httpd-manual.conf'u ekleyin
    conf/extra/httpd-default.conf'u dahil et
    Değişiklikleri kaydedin ve "httpd.conf" dosyasını kapatın

    Şimdi "conf\extra" dizininde bulunan "httpd-vhosts.conf" dosyasını açın ve içinde aşağıdaki değişiklikleri yapın:

    Mevcut sanal konak örnek blokları yorumlanmalı veya kaldırılmalı ve aşağıdakiler eklenmelidir:

    DocumentRoot "C:/apache/localhost/www"
    sunucu adı yerel ana bilgisayar
    ErrorLog "C:/apache/localhost/error.log"
    CustomLog "C:/apache/localhost/access.log" ortak

    Sanal konak oluşturmaya bir örnek

    Kendi sanal konaklarınızı kurmanız gerekiyorsa, aşağıdakileri yapın:

    "httpd-vhosts.conf" dosyasını açın ve içinde şuna benzeyen bir blok oluşturun:

    # Barındırıcınızın kökünün olacağı klasör.
    DocumentRoot "C:/apache/test.ru/www"
    # Sanal ana bilgisayara erişebileceğiniz etki alanı.
    SunucuAdı test.ru
    # Alan adının takma adı (ek ad).
    ServerAlias ​​​​www.test.ru
    # Hataların yazılacağı dosya.
    ErrorLog "C:/apache/test.ru/error.log"
    # Ana bilgisayar erişim günlük dosyası.
    CustomLog "C:/apache/test.ru/access.log" ortak

    Ardından, "Apache" dizininde, "test.ru" klasörünü (tıpkı bunun gibi, noktalı) oluşturun ve bu klasörde "www" klasörünü oluşturun.

    Sanal konak oluşturmanın bir sonraki adımı, işletim sisteminin C:\WINDOWS\system32\drivers\etc\hosts dosyasını değiştirmektir. Bu dosyayı açın ve ona iki satır ekleyin:
    127.0.0.1 test.ru
    127.0.0.1 www.test.ru

    Şimdi Apache sunucusunu "Başlat" menüsünde bulunan "Yeniden Başlat" kısayolu ile yeniden başlatın, bir tarayıcı açın, adres çubuğuna test.ru veya www.test.ru yazın ve kendinizi sanal ana makinenizde bulacaksınız. Sadece dikkatli olun, artık sanal ana bilgisayar adıyla (varsa www.test.ru) orijinal siteye yalnızca yukarıdaki "ana bilgisayarlarda" 127.0.0.1 www.test.ru satırını yorumlayarak veya silerek ulaşabilirsiniz. " dosya.

    Sunucu çalışır durumdayken Apache belgeleri http://localhost/manual/ adresinde mevcuttur.

    Apache web sunucusunun kurulması ve yapılandırılması artık tamamlanmıştır.

    Hizmetleri Başlatmak ve Durdurmak için Toplu Dosyalar Oluşturma

    Hizmetleri her başlattığınızda "hosts" dosyasını manuel olarak düzenlemenin uygun olmadığını kabul edin, bu nedenle Apache, MySQL hizmetlerinin daha uygun, eşzamanlı başlatılması ve "hosts" dosyasının değiştirilmesi için iki toplu iş dosyası oluşturacağız: başlat ve durdur, bu da tüm rutin işleri otomatik olarak yürütür.

    Sanal ana bilgisayarları kullanırken, C:\apache dizininde iki dosya oluşturmanız gerekir: "hosts" dosyasının orijinal içeriğini içeren vhosts-off.txt ve tüm sanal ana bilgisayarları içeren vhosts-on.txt. Yeni sanal ana bilgisayarlar oluştururken, bunları C:\WINDOWS\system32\drivers\etc\hosts konumuna değil, vhosts-on.txt dosyasına eklemeniz gerekeceğini unutmayın. Aşağıdaki örneklere bakın.

    vhosts-off.txt dosyası (tek bir satır içerebilir):
    127.0.0.1 yerel ana bilgisayar

    www.test.ru ve test.ru sanal konaklarına sahip vhosts-on.txt dosyasına bir örnek:

    127.0.0.1 yerel ana bilgisayar
    127.0.0.1 www.test.ru
    127.0.0.1 test.ru

    Aynı C:\apache dizininde iki toplu iş dosyası oluşturun: start-webserver.bat - hizmetleri başlatmak ve "hosts" dosyasını değiştirmek için ve stop-webserver.bat - hizmetleri durdurmak ve "hosts" dosyasını temizlemek için.

    start-webserver.bat dosyasını başlatın:

    @Eko kapalı
    Eko.
    yoksa C:\apache\vhosts-on.txt no_vhosts'a git
    yankı Sanal konaklar oluşturun:
    kopya /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
    Eko.
    :no_vhosts
    NET'te Apache2.2'yi başlatın
    NET'te MySQL'i başlat

    stop-webserver.bat dosyasını durdurun:

    @Eko kapalı
    Eko.
    yoksa C:\apache\vhosts-off.txt no_vhosts'a git
    yankı Ana bilgisayar dosyasını geri yükle:
    kopya /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
    Eko.
    :no_vhosts
    NET Apache2.2'yi durdurun
    NET MySQL'i durdur

    Sanal konak kullanmıyorsanız veya "hosts" dosyasını değiştirmeden servis çalıştırmak istiyorsanız, vhosts-on.txt ve vhosts-off.txt dosyalarını C:\apache dizininden kaldırmanız yeterlidir.

    kavramlar: yapılandırma direktifleri. Yapılandırma dosyaları, yönergeler. Temel yapılandırma direktifleri. sunucu işlemleri. Dizinlere ve dosyalara erişimi kontrol edin.

    Yapılandırma (lat. yapılandırma - karşılıklı düzenleme), özel bir mantıksal ve metodolojik cihazdır, farklı konulardaki bilgileri, aynı nesne hakkında farklı fikirleri sentezlemek için zihinsel bir tekniktir.

    Direktifler, (Latince yönden - yön). Daha yüksek bir otorite tarafından bir asta verilen genel rehberlik (sunucudan iş istasyonuna, vb.) .

    Yapılandırma dosyası oldukça basit bir formata sahip bir dosyadır. Her satır bir anahtar kelime ve bir veya daha fazla bağımsız değişkendir. Basit olması için, çoğu satır yalnızca bir bağımsız değişken içerir. # sembolünü takip eden her şey bir yorumdur ve göz ardı edilir.

    Apache, /etc/httpd/conf/ dizinindeki hizmet dosyaları değiştirilerek yapılandırılır. Ana web sunucusu yapılandırma dosyası httpd.conf'tur. Konfigürasyon direktifleri, Include filename.conf ana yapısını içeren çeşitli dosyalara yerleştirilebilir.

    Herhangi bir dosyanın veya dizinin konumu yapılandırma dosyasında dolaylı olarak belirtilmişse (açık konum, dosya sisteminin kökünden başlar - "/" karakteriyle) Apache, dosyanın gerçek konumunu belirlemek için ServerRoot yönergesinde belirtilen dizini kullanır. hedef.

    Apache modüllerinin ve yapılandırma yönergelerinin açıklaması

    Yönergeler aşağıdaki düzeylerde kullanılabilir:

    Bir sunucu yapılandırma düzeyi - yönergesi yalnızca ana yapılandırma dosyasında kullanılabilir.

    Seviye V - yönerge, farklı sanal konaklar için farklı şekilde kullanılabilir.

    D seviyesi - bu düzeydeki herhangi bir dizin yönergesi için kendi ayarlarınızı belirleyebilirsiniz.

    .htaccess dosyalarının H düzeyi - yönergenin, sunucu tarafından izin verilen yerlerde .htaccess dosyalarında kullanılmasına izin verilir.

    Herhangi bir noktada, direktifte filename parametresinin kullanılması, ServerRoot dizininden dosyaya mutlak ("/" ile başlayan) veya göreli bir yolu belirtir.

    CORE - web sunucusu çekirdeği (Apache ana modülü)

    AccessConfig dosya adı

    Yapılandırma dosyasının konumunu ayarlar. Varsayılan sistem yapılandırma dosyası conf/access.conf'tur; bu dosyayı okumayı devre dışı bırakmak için /dev/null olarak ayarlanması önerilir.

    AccessFileName dosya dosyası...

    Anında yapılandırmak için kullanılan erişim dosyalarının adlarını ayarlar, varsayılan değer .htaccess'tir.

    AddModule modül modülü ... [A]

    Ayrı bir kitaplık dosyası olarak sağlanan dinamik olarak yüklenmiş bir modülü etkinleştirir.

    AddModule modül modülü ...

    Bağımsız bir kitaplık dosyası olarak sağlanan veya ana httpd modülü içinde derlenen dinamik olarak yüklenmiş bir modülü etkinleştirir.

    AllowOverride parametre parametresi ...

    Apache'nin dahili .htaccess dosyalarından yönergeleri kullandığı kuralları belirler;

    Yok - yok sayar;

    Tümü - tüm yönergeleri kullanır;

    Seçenekler - Seçenekleri ve XBitHack'i kullanmanızı sağlar;

    İndeksler - dizin indekslemeyi yönetmek için direktifler;

    FileInfo - dosya türlerini ve işleyicilerini yönetmek için yönergeler;

    AuthConfig - Auth* dizinlerine erişim yönergeleri;

    Sınırla - yönergelere izin ver/reddet/sipariş et.

    YetkiAdı bölgesi

    Yetkilendirme Türü

    Web sitesi dizinlerine erişmek için bir kullanıcı adı ve parolanın nasıl isteneceğini ve iletileceğini belirtmek için kullanılır. Çoğu zaman Temel kullanırlar, daha az sıklıkla - Digest ve diğerleri.

    BindAddress adresi [A]

    Apache'nin bağlantıları kabul edeceği adresi belirtir. Ana bilgisayar adını, IP adresini veya * kullanabilirsiniz.

    ClearModuleList[A]

    Yönerge, yüklenen modüllerin listesini temizler. Bu yönergeden sonra gerekli modüller ile çalışmak için AddModule yönergelerini kullanmanız gerekir.

    ContentDigest açık|kapalı

    Verilerin MD5 karmasını iletmeyi etkinleştirir veya devre dışı bırakır. Aktarılan tüm sayfalar için hesaplanır ve önbelleğe alınmaz.

    CoreDumpDirectory dizin adı [A]

    Apache'yi çökmeler tarafından oluşturulan çekirdek döküm dosyalarının depolanacağı dizine yönlendirir.

    Varsayılan Tür mime türü

    Apache, türü mime.types dosyası veya AddType yönergeleri aracılığıyla belirleyemezse, istemcilere gönderilen MIME türünü belirtir. Varsayılan metin/düz olarak ayarlanmıştır.

    ...

    Bu dizinde bulunan belgelere erişirken Apache'nin davranışını belirten bir grup yönergeyi birleştirir. İsim maskelerinin kullanılmasına izin verilir - semboller *, ? kabuk kurallarına göre. Bir maske kullanılıyorsa, adından önce yaklaşık işareti ~ konur.

    ...

    Bir düzenli ifade tarafından verilen bir dizin grubunu tanımlar ve Apache'nin bu gruptaki dizinler ve dosyalarla çalışması için kuralları ayarlar.

    DocumentRoot dizin adı

    Sunucuya, altında web sunucusu veri yapısının bulunduğu dizin ağacının kökünün konumunu belirtir.

    ErrorDocument dosya adı|dize|URL

    Herhangi bir hata durumunda belirtilen sayfalara yönlendirir. Ortaya çıkan duruma tek bir alıntıyla başlaması gereken bir yorum da ayarlayabilirsiniz. Örnek:

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

    ErrorDocument 404 /cgi-bin/bad_urls.pl

    ErrorDocument 401 /subscription_info.html

    ErrorDocument 403 "Üzgünüz, bugün erişmenize izin veremeyiz"

    Hata Günlüğü dosya adı

    Hata günlüğü dosyasının adı. Parametre dizisi (/) ile başlıyorsa, dosya yolu ServerRoot'tan belirtilmelidir; (|) ile başlıyorsa, hata mesajları standart girişte belirtilen komuta aktarılır. Özellikle, bu şekilde, örneğin, günlüğü hemen SQL DBMS'ye kaydetmeyi uygulayabilir veya örneğin gzip'e aktararak hemen sıkıştırılmış olarak kaydedebilirsiniz. Apache sürüm 1.3 ve sonrası, sistem destekliyorsa mesajları varsayılan olarak syslog'a yazdırır; ancak bu, syslog:facility kullanılarak devre dışı bırakılabilir.

    ...

    Dosya erişim kontrolü. Bölümler yönergenin bölümleri okunduktan sonra yapılandırma dosyasındakiyle aynı sırada işlenir ve .htaccess dosyaları, ancak dizin bölümleri okunmadan önce . Bağımsız değişken bir dosya adı veya "?" içeren bir maske içermelidir. - herhangi bir karakter, "*" - herhangi bir dize. ~ ek karakteri ile genişletilmiş kayıtlar kullanılabilir. ifadeler (grep(1) içindeki DÜZENLİ İFADELER bölümüne bakın) Örneğin: İnternette yaygın olarak kullanılan grafik dosyalarıyla eşleşir.

    ...

    İle aynı , ancak normal ifadeler kullanır.

    Yalnızca ortamdaki Apache ve forking işlemlerinin başlatılması ve verilen ada karşılık gelen haklarla ilgisi vardır.

    Ana BilgisayarAdı Aramaları açık|kapalı|çift

    Ziyaretçinin ana bilgisayar adının ters DNS'den belirlenip belirlenemeyeceğini kontrol eder. Yavaş çalışır ve varsayılan olarak devre dışı kabul edilir. Double, ana bilgisayar adının, istekte bulunan ana bilgisayarın IP adresine göre ek bir denetime tabi tutulması gerektiğini belirtir.

    Kimlik Kontrolü açık|kapalı

    RFC1413 kimlik doğrulamasını etkinleştirin. İşlevin etkinleştirilmesi, sunucuya erişim süresini önemli ölçüde artıracaktır.

    ...

    Ve yalnızca bu seçenek Apache dahililerinde tanımlanmışsa çalıştırılmalıdır. Parametreden önceki [!] karakteri, yönerge bloğunun yalnızca parametre tanımlanmamışsa okunacağını belirtir.

    ...

    Direktiflerin bir çift direktiften oluşan bir bloğun içine yerleştirildiğini belirtir. Ve yalnızca verilen modül Apache'de derlenmişse çalıştırılmalıdır. Modülün önündeki [ !] karakteri, yönerge bloğunun yalnızca parametre tanımlanmamışsa okunacağını belirtir.

    [A] dosya adını dahil et

    Yönerge, yapılandırma dosyalarını sunucu yapılandırmasına dahil etmenize izin verir.

    Canlı Tut açık|kapalı [A]

    İstemcinin, TCP bağlantısını kesmeden sırayla birden çok dosya istemesine izin verir.

    KeepAliveTimeout saniye [A]

    Apache'nin istemciden gelecek bir sonraki istek için bekleyeceği TCP bağlantısı kapatılana kadar geçen süreyi (saniye cinsinden) belirtir.

    ...

    İçine hangi HTTP yönteminin (örneğin, GET veya POST) yerleştirileceğini belirlemenizi sağlar. ... erişim kontrol komutları.

    Yöntemler kullanılabilir: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

    [A] bağlantı noktasını dinle

    Apache'nin belirtilen adresleri ve bağlantı noktalarını dinlemesine neden olur. Örneğin, sunucuyu 80 ve 8000 bağlantı noktalarını dinlemeye zorlamak için şunu kullanın:

    Apache'nin belirtilen bağlantı noktası numaralarıyla farklı arabirimlerde çalışmasını sağlamak için şunu kullanın:

    Dinle 192.170.2.1:80

    Dinle 192.170.2.5:8000

    ListenBacklog uzunluğu[A]

    Bağlantı işleme kuyruğunun maksimum uzunluğu.

    ...

    Ayrıntılar apache kılavuzunda :)

    ...

    Apache kılavuzundaki ayrıntılar

    Kilit dosyası dosya adı[A]

    Yönerge, kilit dosyasına giden yolu ayarlar.

    LogLevel emerg|alert|crit|hata|uyar|bildirim|bilgi|hata ayıklama

    Protokolün bilgi içeriği seviyesini ayarlar (sunucu işleminin günlük dosyası). En azından kritik seviyenin kullanılması tavsiye edilir.

    MaksMüşteri sayısı[A]

    Yönerge, sunucuya eşzamanlı isteklerin sayısına bir sınır koyar. Aslında bu sayı, varsayılan olarak 256'dan fazla olamayan sunucu alt işlemlerinin sayısını aşamaz. Durumu düzeltmek için HARD_SERVER_LIMIT'i httpd.h'de düzenleyin ve derleyin.

    MaxKeepAliveİstek sayısı[A]

    KeepAlive etkinleştirilmişse, istemcinin TCP bağlantısını kesmeden belirtilen sayıda dosyayı sırayla istemesine izin verir. Parametre 0 olarak ayarlanırsa, Apache bağlantıyı yalnızca KeepAliveTimeout parametresini dikkate alarak kapatacaktır.

    MaxRequestsPerChild sayısı[A]

    Yönerge, tek bir alt sürecin işleyebileceği istek sayısına bir sınır koyar. MaxRequestsPerChild 0 olarak ayarlanırsa istek sayısı sınırsızdır.

    MaxSpareSunucu sayısı[A]

    Yönerge, istenen maksimum boş sunucu işlemi sayısını belirler. Apache'nin Microsoft Windows sürümünü kullanıyorsanız yönerge işe yaramaz.

    MinSpareServers sayısı [A]

    Yönerge, istenen minimum boşta sunucu işlemi sayısını belirler. Apache'nin Microsoft Windows sürümünü kullanıyorsanız yönerge işe yaramaz.

    NameVirtualHost bağlantı noktası[A]

    Verilen bağlantı noktası adına yapılan isteklerin, adreslenen ana bilgisayarın adıyla ayrılması gerektiğini belirtir ("Host:" HTTP başlığı). Bir IP adresi için birden çok sanal ana bilgisayar tanımlamanıza izin verir.

    Seçenekler parametre parametreleri...

    Belirtilen içerik için Apache eylem ayarlarını belirtir. Mümkün olan tüm ayarlar apache kılavuzunda ayrıntılı olarak açıklanmıştır. Sık kullanılanlar: Dizinler - içinde dizin dosyası bulunmazsa dizinin içeriğini görüntülemeyi açar (DirectoryIndex yönergesi); ExecCGI - yürütülebilir dosyaların (cgi, perl betikleri) bu dizine yerleştirilmesini sağlar; İçerir - dosyaları SSI dizinine yerleştirme özelliğini içerir. Her ayar, onu kullanan ilgili modül tarafından desteklenir ve doğru modül yüklenmezse çalışmayabilir. Her bir Options direktifinin, üst dizinler için tanımlanan halihazırda bilinen Options'a ek olduğu kabul edilir. Bu bağlamda "açmak veya kapatmak" için her ayarın önüne + veya - eklenebilir.

    PidFile dosya adı [A]

    Yönerge, sunucunun işlem kimliğini yazdığı dosyanın adını belirler.

    Apache bağlantı noktasını belirtir - 0 ile 65535 arasında bir sayı (bazı bağlantı noktalarının diğer protokoller tarafından kullanılabileceğini unutmayın, bkz. /etc/services). Http protokolü için standart bağlantı noktası 80'dir.

    userid|groupid|geçerli-kullanıcı|dosya-sahibi|grup-sahibi gerektir [A]

    Hangi kullanıcıların dizine erişimi olduğunu belirtir.

    Kullanıcı kullanıcı kimliği gerektir - yalnızca bu kullanıcıların erişimi vardır

    Grup grup adını zorunlu kıl [grup adı] - bu grupların tüm kullanıcıları

    Geçerli kullanıcı gerektir - tüm geçerli kullanıcılar.

    Kaynak Yapılandırma dosya adı[A]

    Sunucu, httpd.conf'u okuduktan sonra bu dosyadan diğer yönergeleri okur. Dosya adı, ServerRoot ile ilişkilidir. Devre dışı bırakılabilir: ResourceConfig /dev/null

    RLimitCPU maks|sn[ maks|sn] [A]

    RLimitMEM maks|bayt[ maks|bayt] [A]

    RLimitNPROC maks|sayım[ maks|sayım] [A]

    herhangi|tümünü tatmin et [A]

    Hem İzin Ver hem de Gerektir kullanıldığında erişim ilkesini belirtir. Alana erişimin kullanıcı adı/şifre ve müşteri adresi ile sınırlandırıldığı durumlarda kullanılır. Bu durumda, varsayılan ("tümü"), istemcinin adresi doğrulamasını ve doğru kullanıcı adını ve parolayı girmesini gerektirir. "any" parametresi söz konusu olduğunda, müşteri doğru kullanıcı adını ve parolayı girerse veya ana bilgisayar kısıtlamasını geçerse erişim kazanır. Parola ile erişimi kısıtlamak için kullanılabilir, ancak istemcilerin belirli bir adresten parola olmadan geçmesine izin verir.

    ScoreBoardFile dosya adı [A]

    Yönerge, sunucu tarafından alt ve üst süreçler arasındaki iletişim için kullanılan dosya adını belirtmek için gereklidir. Bu dosyanın gerekli olup olmadığını Apache'yi başlatarak ve belirtilen isimde bir dosya oluşturup oluşturmadığına bakarak öğrenebilirsiniz. Öyleyse, Apache'nin yalnızca bir kopyası tarafından kullanıldığından emin olmanız gerekir.

    SendBufferSize bayt[A]

    TCP arabellek boyutunu ayarlar.

    Sunucu Yöneticisi E-postası

    Hata mesajlarında sunucunun istemciye gösterdiği e-posta adresini ayarlar.

    ServerAlias ​​​​ana bilgisayar adı

    Alternatif bir sanal ana bilgisayar adı belirtir.

    SunucuAdı ana bilgisayar adı

    Yönerge, sunucunun adını belirler; bağlantı kurmada kullanılır. Ad ayarlanmamışsa, sunucu kendi IP adresinden almaya çalışacaktır.

    SunucuYolu yolu

    Yönerge, ana bilgisayar için miras alınan yol adını ayarlar.

    SunucuKök yolu[A]

    Sunucunun yaşadığı dizini ayarlar. Genellikle conf/ ve logs/ alt dizinlerini içerir. Diğer yapılandırma dosyalarının yolları bu dizine göre oluşturulur.

    Sunucu İmzası on|ff|mail

    Sunucu tarafından oluşturulan bir belgenin altında bir dize yapılandırır. Varsayılan olarak devre dışıdır, Açık - sanal ana bilgisayarın sunucu sürümünü ve SunucuAdı'nı gösterir, E-posta, ServerAdmin'e bir mailto: bağlantısı ekler

    Sunucu Belirteçleri Minimal|OS|Tam [A]

    Sunucunun işletim sistemini ve derlenmiş modülleri açıklayan sunucu tarafından istemciye gönderilen başlığı kontrol eder.

    SunucuTürü bağımsız|inetd[A]

    Sunucunun sistem tarafından nasıl başlatılacağını belirtir. inetd - inetd sistem sürecinden çalışır. bağımsız - bir arka plan programı süreci olarak.

    BaşlangıçSunucu sayısı[A]

    Başlangıçta oluşturulan alt işlemlerin sayısını ayarlar. Sayı zaten yüke bağlı olarak dinamik olarak değişir, genellikle bu ayarı değiştirmek için bir neden yoktur.

    Apache'nin bekleyeceği süre: bir GET isteği almak, POST ve PUT isteklerinde TCP paketleri almak, yanıtlarda TCP paketlerini iletirken ACK'ler arasında duraklama.

    KurallıAdı Kullan açık|kapalı

    Apache'nin SERVER_PORT ile SERVER_NAME değerlerini kullanarak oluşturduğu sayfaların isimlerini üretmesine neden olur.

    Kullanıcı adı

    Sunucunun isteklere yanıt vereceği kullanıcı kimliğini ayarlar. Yönergeyi kullanmak için sunucunun kök olarak çalışıyor olması gerekir.

    ...[A]

    Bir çift direktiften oluşan bir bloğun içine yerleştirilmiş direktifler Ve Verilen sanal ana bilgisayarın yapılandırmasını tanımlarım. Her sanal ana bilgisayarın benzersiz bir IP adresi, bağlantı noktası numarası veya ana bilgisayar adı olmalıdır. Örneğin, sunucunun dahili ağ için bir ağ arabirimine ve harici ağ için başka bir arabirime sahip olması durumunda yönergeyi kullanmak mantıklıdır.

    mod_env - CGI/SSI dosyalarında işlenecek değişkenleri ayarlayın ve iletin

    PassEnv değişkeni[değişken] ...

    İşleyicilere bir ortam değişkeni (örn. HOME) iletir.

    SetEnv değişken değeri

    Verilen değeri belirtilen ortam değişkenine yazar.

    UnsetEnv değişkeni[değişken] ...

    Değişkeni sıfırlayarak işleyicilerden okunmasını imkansız hale getirir.

    mod_setenvif - ortam değişkenlerini ayarlamak için koşul koşullarını kullanma

    BrowserMatch normal ifade ortam değişkeni[=değer] ] ... [A]

    İstemci tarayıcısından User-Agent başlığı için bir filtre olarak iletilen normal ifadeyi kullanır. Başarılı bir vuruşta, değişkeni verilen değere başlatır. Bir değişkenin yalnızca adı belirtilirse, 1 sayısı ile başlatılır. Bir değişken, başında "!" - değişken sıfırlanır.

    BrowserMatchNoCase normal ifade ortam değişkeni[=değer] ] ... [A]

    BrowserMatch'e benzer şekilde hareket ederek, geçirilen User-Agent değeri ile filtre olarak kullanılan normal ifade arasındaki büyük/küçük harf farklılıklarına izin verir.

    SetEnvIf özniteliği normal ifade ortam değişkeni[=değer] ] ... [A]

    Yönerge tarafından gerçekleştirilen eylem, BrowserMatch'e tamamen benzer, ancak User-Agent yerine başka herhangi bir başlık kullanılabilir: Remote_Host; Remote_Adr; uzak_kullanıcı; İstek_Yöntemi; İstek_URI'si; yönlendiren

    SetEnvIfNoCase özniteliği normal ifade ortam değişkeni[=değer] ] ... [A]

    SetEnvIf'den farkı, yukarıdaki BrowserMatch'ten BrowserMatchNoCase ile aynıdır.

    mod_unique_id - benzersiz bir UNIQUE_ID ortam değişkeni oluşturur

    Değişken, sunucunun IP adresinden, çalışan işlem numarasından, zaman damgalarından ve ek dahili sayaçlardan rastgele oluşturulur.

    Değişken, aynı talebi başka yöntemlerle takip etmenin mümkün olmadığı bileşik belgelerde kullanılmak üzere tasarlanmıştır.

    mod_mime - bir dosyayı istemciye iletirken mime türünü belirlemek için tasarlanmıştır

    AddCharset karakter kümesi uzantısı...

    Belirtilen dosya uzantıları için, Apache'ye istemciye yanıt verirken verilen karakter kümesini iletmesini söyler.

    AddEncoding MIME-enc uzantısı...

    Belirtilen dosya uzantıları için, Apache'ye dosyayı istenen MIME kodlamasını kullanarak aktarıp aktarmayacağını söyler.

    AddHandler işleyici adı uzantısı...

    Apache'ye, verilen uzantılara sahip dosyaların belirli bir işleyiciye iletilmesi gerektiğini söyler. İşleyici, daha önce Action yönergesinde açıklanan dahili (cgi-sript ve diğerleri) veya harici olabilir.

    AddLanguage MIME dil uzantısı...

    Dosya uzantıları ile yanıtta iletilen dil kodu arasında bir ilişki kurar.

    AddType MIME tipi uzantı...

    MIME türleri tablosunu, istemciye verilen yanıt için yeni bir dosya uzantıları ve MIME kodu eşlemesi ile tamamlar.

    Varsayılan Dil MIME dili

    Başka yollarla yapılamıyorsa, yanıtın dilini her zaman gönderilecek şekilde ayarlar.

    ForceType MIME türü

    Verilen direktifin ilişkili olduğu dizinde verilen MIME türüyle bir yanıtı zorlar.

    Kodlama uzantısını kaldır...

    Verilen uzantılara sahip dosyalar için yanıttaki MIME kodlamasını kaldırır.

    RemoveHandler uzantısı...

    Apache'ye verilen uzantılara sahip dosyalar için işleyici çalıştırmamasını söyler.

    RemoveType uzantısı...

    İstemciye verilen yanıttaki MIME türünü varsayılan MIME türüne sıfırlar

    SetHandler işleyicisi

    Bu yönergenin atandığı tüm dosyalar için bu işleyicinin çağrısını zorlar.

    TypesConfig dosya adı[A]

    MIME türü arama tablosunun konumunu belirtir. Varsayılan - conf.mime.types

    mod_mime_magic - yanıtta gönderilen dosyanın MIME türünü belirlemek için karmaşık kurallar kullanan bir modül

    MimeMagicFile dosya adı

    Web sunucusunun verilen belge alanında veya Apache'nin kullanabileceği tüm belgelerde belirtilen dosyayı kullanarak modül eylemini etkinleştirir.

    mod_negotiation - istemci ve sunucu arasında iletilen veri türlerinin pazarlığının sağlanması

    CacheNegotiatedDocs[A]

    Ara proxy sunucularında ve istemci bilgisayarda pazarlık edilebilir içeriğe sahip belgelerin önbelleğe alınmasını sağlar.

    LanguagePriority MIME dili ... [A]

    Müşteri tarafından talep edilen belgenin dilini doğru bir şekilde belirlemek veya bulmak mümkün olmadığında, müşteriye verilen yanıtta kullanılan dillerin önceliğini belirler.

    mod_alias - web sunucusu dizinlerindeki belgeleri daha keyfi bir şekilde düzenlemenizi sağlar

    Takma ad URL yolu dosya sistemi yolu

    Apache'ye verilen URL'nin "altında" bulunan belgelerin dosya sisteminde verilen konumun "altında" aranması gerektiğini söyler.

    AliasMatch URL-regexp dosya sistemi-yolu

    URL'leri normal bir ifadeyle karşılaştırmanın sonuçlarına göre dosya sisteminde veri aramak için daha karmaşık kurallar tanımlar.

    Yönlendirme URL yolu URL'si

    Belirtilen yanıt kodunu (varsayılan olarak 302) döndürür ve URL yolu ve "aşağıdaki" belgeler isteğine yanıt olarak istemciyi farklı bir URL'ye yönlendirir. Durum bir sayı olarak veya sembolik olarak belirtilebilir: kalıcı (301), geçici (302), diğer (303), gitti (410). 410 yanıt kodu için yanıt URL'si atlanmalıdır.

    RedirectMatch URL-normal ifade URL'si

    Yönlendirmeye benzer şekilde, iletilen URL'yi karşılaştırmak için tam eşleşme yerine belirli bir normal ifadenin kullanılması.

    RedirectTemp URL yolu URL'si

    302 yanıt kodunu kullanarak Yönlendirmeye benzer.

    YönlendirmeKalıcı URL yolu URL'si

    301 yanıt kodu kullanarak Yönlendirmeye benzer.

    ScriptAlias ​​​​URL yolu dosya sistemi yolu

    Alias ​​​​gibi davranır, ancak cgi-işleyici işleyicisini otomatik olarak hedef dizindeki tüm dosyalar için çalışacak şekilde ayarlar.

    ScriptMatch URL-regexp dosya sistemi-yolu

    URL'nin düzenli ifade doğrulaması ile ScriptAlias'a benzer.

    mod_rewrite - sunucudaki belgelerin konumunu yönetme

    Apache yönergelerinin kısa açıklama koleksiyonunda, bu karmaşık modül tarafından çözülen görevleri açıklamak zordur. Eylem kılavuzu olarak, apache-manual "Module mod_rewrite URL Yeniden Yazma Motoru" ve "URL Yeniden Yazma Kılavuzu"nun özel bölümlerini kullanmak en iyisidir. Bu modülün nasıl kullanılacağını öğrenmenin en kolay yolu, onu kullanarak belirli görevleri ve çözümlerini dikkate almaktır.

    Bağlantıları dinleyen ve müşteri isteklerini işleyen alt süreçler oluşturmaktan sorumlu tek bir ana (üst) süreç vardır. Apache, gelen istekleri işlemek için her zaman birkaç boş sunucu işlemini hazır tutmaya çalışır.Böylece, istemciler, istekleri yerine getirilmeden önce yeni alt süreçlerin oluşturulmasını beklemek zorunda kalmazlar.Ana süreç, isteklere hizmet etmek için alt süreçler oluşturur.

    Genel olarak, Apache çok bağımsızdır, bu nedenle çoğu web sitesinin bu yönergeleri varsayılan değerlerinden değiştirmesine gerek yoktur.

    256'dan fazla eşzamanlı isteğe hizmet vermesi gereken siteler için MaxClients'ı artırmak isteyebilirsiniz ve sınırlı belleğe sahip sunucularda barındırılan siteler için, sunucunun belleği diske takas etmesini önlemek için MaxClients değerini azaltmak isteyebilirsiniz. geri), bu da ciddi yavaşlamalara yol açacaktır.

    Modül seçimi, Apache Web sunucusunun güvenliğini sağlamanın en önemli adımlarından biridir. İyi bir kural tarafından yönlendirilmeliyiz: daha azı daha fazladır. İhtiyacımız olan işlevselliği etkinleştirmek ve iyi bir koruma sağlamak için aşağıdaki modüller etkinleştirilmelidir:

    httpd_core - Her Apache kurulumunda gerekli olan Apache çekirdeği.

    mod_access - İstemcinin IP adresine veya ana bilgisayar adına göre sunucu dizinlerine erişimi kontrol eder.

    mod_auth - Metin dosyalarını kullanarak kullanıcıların kimliğini doğrulamak için gereklidir.

    mod_dir - Dizin dosyalarını aramak için gereklidir: "index.html", "default.html", vb.

    mod_log_config - Sunucuya gönderilen isteklerin günlüğe kaydedilmesini sağlar. mod_mime - Sunucudaki farklı MIME türlerinin organizasyonunu kolaylaştıran yönergeler içerir.

    Diğer tüm Apache modülleri devre dışı bırakılmalıdır. Onları güvenle kapatabiliriz çünkü onlara ihtiyacımız olmayacak. Gereksiz modülleri devre dışı bırakarak, bir saldırganın bu modüllerin birinde bulunan bir güvenlik açığından yararlanmasını engelliyoruz.

    Ayrıca iki Apache modülünün (mod_autoindex ve mod_info) en tehlikeli olduğunu belirtmekte fayda var. İlk modül, dizini otomatik olarak indekslemenizi sağlar ve varsayılan olarak etkindir. Nasıl çalıştığını görmek için örneğin http://server_name/icons/ girin ve bu dizinde dizin dosyası yoksa tüm dizinin içeriği görüntülenecektir. İkinci modül olan mod_info'ya asla İnternet üzerinden erişilmemelidir çünkü Apache Web sunucusunun tüm yapılandırmasını gösterir.

    Bir sonraki soru, modüllerin nasıl derleneceğidir. Bana öyle geliyor ki statik bir yöntem (kodlar yürütülebilir dosyalara yerleştirilmiştir) dinamik bir yöntemden (kodlar program başlatıldığında toplanır) daha iyidir. Statik bir yöntem seçerek, başka bir modül olan mod_so'ya olan ihtiyacı da ortadan kaldırmış oluyoruz.

    Bağımsız iş: MySQL veritabanı sunucusuyla çalışmak. Tablolar oluşturma. Bir veritabanına veri ekleme, alma ve güncelleme.

    12 numaralı laboratuvar çalışması. Apache web sunucusunu kurma ve yapılandırma.

    Bağımsız iş: MySQL veritabanı sunucusuyla çalışmak.