Web sunucusu apache'niz nasıl oluşturulur? Apache: bir web sunucusu kurun ve yapılandırın. Temel web sunucusu kurulumu

Bu makale adım adım talimatlar  yerel bir web sunucusu oluştururken. Apache 2.4 web sunucusunun Windows işletim sistemi platformuna nasıl kurulacağını açıklar. Windows XP SP3'te yükleme testi yapıldı.

Web sunucusunun bileşimi:

  • Apache 2.4 (sürüm 2.4.10);
  • PHP 5.4 (sürüm 5.4.34);
  • MySQL 5.5 (sürüm 5.5.23).

Bu çalışma ortamı uygun olacaktır:

Bazen görünmedi, ancak görev çubuğunda titreyen bir ekran görüyorsunuz.

  • Yazarken, bu ekranın üstündeki çok açık grafiklerden oldu.
  • Kurulumu çalıştırın.
  • Bunun unutmadığınız bir şey olduğundan emin olun.
Sunucu adı hakkında bir uyarı alabilirsiniz. Bu pencereyi kapatmayın, bir dakika içinde ihtiyacınız olacak.

Bu dosyanın sonuna aşağıdaki satırları ekleyin. Modül dosyası sürümü önemli. Bu dosyayı düzenleyin, aşağıdaki satırları bulun ve aşağıdaki gibi değiştirin. Dinamik Uzantılar bölümünü bulun ve aşağıdaki satırları değiştirin. Güvenlik duvarındaki duruma bağlı olarak çalışabilirsiniz, diğeri çalışmıyor.

  • projelerini test etmek için deneyimli web yöneticileri;
  • yeni web yöneticileri ilk sitelerini oluşturuyor.

Apache 2.4 ve PHP 5.4 dağıtımları VC9'a derlenmiştir (Visual Studio 2008).

Apache 2.4 VC9 versiyonu hemen hemen tüm ilgili ile çalışır windows sürümleri  (7/8 / Vista / XP SP3).

VC9 uygulamalarının çalışması için her şeyden önce Visual C ++ kitaplıklarını güncellemeniz gerekir.

Bir dil seçim sayfası görünmeli ve siz görünmüyorsunuz. . Web sunucuları, istemci bilgisayarlar tarafından istenen web sayfalarını sunmak için kullanılır. Yerel bir diskte depolanmalıdır. Öyleyse, varsayılan değer yerel diskteki bir konuma ve salt okunur bir dizine değiştirilmelidir.

Bu dosya sadece okunmalıdır. Çoğu durumda, varsayılan olarak bırakılmalıdır. Kullanıcı. Kullanıcı yönergesi, sunucu tarafından taleplere cevap vermek için kullanılan kullanıcı kimliğini ayarlar. Bu parametre sunucuya erişimi tanımlar. Bu kullanıcı tarafından erişilemeyen herhangi bir dosya, sitenizi ziyaret edenlere de erişilemez olacaktır.

Visual C ++ Library Update Pack'i yükleme

Güncelleme dağıtım vcredist_x86.exe dosyasını Microsoft web sitesinden indirin, dosyayı çalıştırın ve güncellemeyi yapın.


Apache 2.4 sunucusunu yükleme ve yapılandırma


Grubu. Grup, sunucunun isteklere yanıt vereceği grubu belirler. Bu, yalnızca en temel işlevlerin birincil sunucuya dahil olduğu anlamına gelir. Varsayılan olarak, temel modül kümesi derleme zamanında sunucuya dahil edilir. Konfigürasyon yönergeleri şartlı olarak belirli bir modülün varlığına dahil edilebilir ve bunları bir bloğa çevrilebilir. Testler için iyidirler, ancak otomatik olarak oluşturulan sertifika ve anahtarın siteye veya sunucuya özgü bir sertifika ile değiştirilmesi gerekir.

Bu, dosya ve dizinlerin gruplarını devralmalarına ve puanlarını çözmelerine neden olur. Birçok yönetici, birden fazla kullanıcının bir dizin ağacındaki dosyaları düzenlemesine izin vermek için bunu yararlı bulur. Bir dizindeki birkaç gruba erişim izni verilmesi gerekiyorsa, erişim kontrol listelerini ekleyin.

Apache dağıtımında kurulum dosyası yok. Bu nedenle kurulum manuel olarak yapılacaktır.

Bir klasör oluşturun ve arşivi açın httpd-2.4.10-win32-VC9.zip.

Httpd yapılandırma dosyasında. conf C: \\ Apache24 yolları varsayılan olarak kurulur. Bu nedenle, arşivi bu klasöre açarsanız, yapılandırma dosyasındaki düzenlemeler çok daha az olacaktır.

Dağıtımı C: \\ TestServer klasöründe açacağız.

Bu, sitelerini ziyaret edenleri gerçekten etkilemeden önce, sitedeki herhangi bir sorunu çözmelerini sağlar. Web sunucunuzla eşleşen sürümü seçmelisiniz. Etkin istekleri etkilemeden yapılandırmayı yeniden yüklemek için zarif alt komutu kullanın.

Bu direktiflerin bazıları aşağıda açıklanmıştır. Her sanal ana bilgisayar içerik sağlayabilir ve farklı şekilde yapılandırılabilir. Sanal ana bilgisayarları iki şekilde yapılandırabilirsiniz. İsme dayalı sanal konaklar. Sanal konakları uygulamak için bir kap kullanın.

C: \\ TestServer \\ Apache24 \\ conf \\ httpd yapılandırma dosyasında değişiklikler yapıyoruz. conf. "\\" (Ters eğik çizgi) sembolü yerine yollar yazarken, "/" (eğik çizgi) sembolünü kullanın. Bu şekilde Linux ve Unix işletim sistemlerinde yollar yazılır. Ancak Apache aslında bu işletim sistemleri için özel olarak geliştirilmiştir.

C: / Apache24 metnini C: / TestServer / Apache24 ile grup olarak değiştiriyoruz.

Aşağıdaki örnek, ad tabanlı sanal konakların basit bir yapılandırmasıdır. En sık değiştirilen yönergelerdir. Sunucu sorunlarını almak için bunu bir e-posta adresine değiştirin. Bu adres, sunucu tarafından oluşturulan ve hata belgeleri gibi bazı sayfalarda da görünür.

Apache web sunucusu nedir ve ne içindir?

Yöneticinin sunucu için istemcilere geri gönderilen ana bilgisayar adını ayarlamasına izin verir. Sunucu alternatif raporda dinlerse, 80 değerini alternatif port numarasına değiştirin. Belgelerin gönderileceği dizin. Varsayılan olarak, tüm istekler bu dizinden alınır, ancak diğer konumlara işaret etmek için sembolik bağlar ve diğer adlar kullanılabilir.

ServerName parametresinin değerini ayarlayın.
SunucuAdı localhost: 80

ServerAdmin parametresinin değerini (e-posta yöneticisi) ayarlayın.
ServerAdmin [e-posta korumalı]

DocumentRoot parametresinin değerini (site belgelerinin konumu) ayarlayın.
DocumentRoot C: / TestServer / Apache24 / htdocs

Web geliştiricilerini daha üretken ve hızlı bir şekilde güçlü uygulamalar yazabilmek için optimize edilmiştir. Hızlı ve güvenli ve dünyadaki tüm web sunucularının yarısında çalışıyor. Örneğin, web tarayıcınızdaki bir siteye girdiğinizde, bu web sitesini barındıran web sunucusuna erişerek web sayfalarını istemek için onunla sohbet edebilirsiniz.

En dikkat çekici şey, hem kişisel hem de ticari kullanım için tamamen ücretsiz olmasıdır, bu yüzden bunun için para ödemek zorunda kalmaktan endişelenmenize gerek yoktur; küçük bir kerelik ücretler bile yoktur. Dahası, birçok fonksiyon olmasına rağmen, hepsini kullanmayı nasıl öğrendiğiniz konusunda çok endişelenmenize gerek yok.

Site belgelerini sunucudan ayrı tutmak isteyebilirsiniz. Örneğin, C: \\ MySites klasöründe. Sonra bu parametre değiştirilebilir.
DocumentRoot C: / MySites

Apache çalıştırılabilir dosyaları C: \\ TestServer \\ Apache24 \\ bin klasöründe bulunur. Bu değeri Windows PATH ortam değişkenine ekleyin.
PATH = C: \\ TestServer \\ Apache24 \\ bin ;

Apache'yi bir servis olarak yükleyin.
httpd.exe -k kurulumu

Bir kurulum tipi girmeniz istendiğinde, “Tipik” seçeneğini seçin. Kurulumu test etmek için tarayıcınıza aşağıdakini girin. "Çalışıyor" yazan bir sayfa görünmelidir. Hizmeti yönetmek için, “Denetim Masası” - “Yönetim” - “Hizmetler” i açın. Web sunucusunun görevi temel olarak istemcilerden gelen istekleri almak ve bu isteklere yanıtlar göndermektir. Herhangi bir nedenle web sunucusu isteği işleme alamıyor ve yerine getiremiyorsa, bunun yerine bir hata mesajı döndürür.

Bir web sunucusu kelimesi, bilgisayarın kendisine veya istekleri alan ve yanıtları gönderen bir yazılıma atıfta bulunabilir. Popülaritesinin nedenleri, birkaç isim, aşağıdaki gibidir. Bu açık kaynak kodludur: kaynak kodu herkese açıktır, bu ilke olarak herkesin kodu özelleştirmesine, optimize etmesine ve hataları ve güvenlik açıklarını düzeltmesine izin verir.

  • İndirilebilir ve kurulabilir.
  • İnsanlar yeni özellikler ekleyebilir ve yeni modüller yazabilir.
  • Hem statik hem de dinamik içerik sunabilir.
İhtiyacınız olmayan veya ihtiyaç duymadığınız işlevselliği kolayca kaldırabilirsiniz.

Eğer servisi kurarken, programın engellenmesi hakkında bir mesaj görüntülenirse, dış bağlantılar. Hizmetin çalışması için kilidi açmak için izin vermeniz gerekir.

Apache sunucusunu başlatıyoruz.
httpd.exe -k başlangıç

Sunucu performansını kontrol ediyoruz. Tarayıcı komut satırına şu adresi yazın: http: // localhost. Apache'nin kurulumu başarılı olmuşsa - Çalışır! . Aksi halde boş bir ekran göreceğiz.

Gücü, büyük olasılıkla, programcılar tarafından yazılmış birçok sunucuyla uygulanan ve sunucunun yeteneklerini artırmak için kurulabilen ilave işlevsellik ile ilgilidir. İhtiyacınız olmayan veya ihtiyacınız olmayan işlevsellik kolayca kaldırılabilir; bu, sunucuyu küçük ve hafif tutar, daha hızlı çalışır, daha az sistem kaynağı ve belleği kullanır ve sunucuyu güvenlik açıklarına daha az eğilimli hale getirir. En basit haliyle web sunucusu özel bir bilgisayardır. yazılım  ve diğer cihazlara bağlanmasını sağlayan bir internet bağlantısı.


Sunucu başlamazsa, varsayılan olarak Apache kullanan 80 numaralı bağlantı noktasının meşgul olup olmadığını kontrol etmelisiniz.

Bu komut kullanılarak yapılır
netstat –anb

Çoğu zaman bu bağlantı noktası Skype veya Firefox tarafından kullanılır. Bu durumda, portu serbest bırakmalı veya Apache'yi 8080 portuna transfer etmelisiniz.

Bir adresleri olmasaydı, nasıl arayacaklarını ya da onlarla bağlantı kuracaklarını bilemezsiniz. Cihaz böyle bir cihaza sahip olmasaydı, aynı ağdaki diğer makineler nasıl başarılacağını bilemezdi. Ancak bir sunucuda sadece bir tane değil, dış dünyaya da birbirlerinden ayrı gibi görünen birçok web sitesi olabilir. Bunu başarmak için, sonuçta aynı makinede gösterilecek olsalar bile, bu sitelerin her birine farklı bir ad atanmalıdır. Bu sözde sanal konakların kullanılmasıyla başarılır.

Tarayıcı ayrıca ana bilgisayar başlığını bir istekle gönderir, böylece sunucu birkaç siteyi barındırıyorsa, hangisinin hizmet etmesi gerektiğini bilecektir. İlk satır birkaç bilgi içerir. Bu, istemci ile sunucu arasındaki bağlantıyı tanımlayan bir kurallar kümesidir. İstemci bir istekte bulunur, sunucu bir yanıt gönderir ve bağlantı sonlandırılır. Sunucu, istek tamamlandıktan sonra bekleme durumunda kalan diğer protokollerde olduğu gibi ek iletişim beklemiyor.

Bunun için httpd dosyasında. conf, ServerName ve Listen parametrelerinin değerlerini değiştiriyoruz. SunucuAdı localhost: 8080
8080'i dinle

Bundan sonra servisi komutla yeniden başlatın.
httpd.exe -k yeniden başlat

ve yine http: // localhost erişmeye çalışıyoruz

Kolaylık sağlamak için Apache sunucusu, işaret eden menü kısayolundan ayarlanabilir. C: \\ TestServer \\ Apache24 \\ bin \\ ApacheMonitor.exe

İstek başarılı olursa, sunucu 200'lük bir durum kodu döndürür, yanıt istenen veriyle birlikte başlar. Yanıt başlığındaki ilk satır durum çubuğudur. Daha sonra tarih gelir ve ardından ana bilgisayar sunucusu ve çıkartılan veriler hakkında bazı bilgiler gelir. İstek geçmezse, istemci bir hata kodu ve bir mesaj alır; örneğin, bir sayfa bulunmazsa aşağıdaki cevap başlığı. Verileri iki nokta arasında aktarır, daha küçük paketlere böler, kaynak ve hedef adreslerini her pakete ekler ve verileri iletir.

Mesajı aldıktan sonra, alıcı taraf, her şeyin yolunda gitmesi durumunda verilerin geldiğini bildiren bir onay mesajı gönderir. Böylece, herhangi bir arayüzün birkaç servis sunabilmesini sağlar. Aşağıdaki komut dosyanın içeriğini gösterecektir.

PHP 5.4'ü yükleyin

Http://windows.php.net/download/ adresindeki geliştirici sitesine gidin. PHP 5.4 dağıtımını VC9 x86 Thread Safe bölümünde bulun ve php-5.4.34-Win32-VC9-x86.zip arşivini indirin.

Aşağıda dosya kısmının ekran görüntüsü verilmiştir. Gördüğünüz gibi, hizmetler ilk sütunda listeleniyor, ardından erişmek için bağlantı noktası numarası ve hizmet tarafından kullanılan protokolün adı geliyor. İstek işlendikten ve bağlantı tamamlandıktan sonra daemon sona erer. Yapılandırma dosyaları çoğunlukla web sunucusunun davranışını ve işlevselliğini kontrol etmek için yönergelerin eklendiği metin dosyalarıdır. Yukarıdaki dosya ve dizin adlarının kurulu Apache’ye bağlı olarak bir sunucudan diğerine farklılık gösterebileceğini unutmayın. işletim sistemiiçinde çalıştığı.

Bir klasör oluştur yerel bilgisayar, bırak C: \\ TestServer \\ PHP54 ve arşivi aç.

Apache dağıtımı ile siteye dönüyoruz. Ek + VC9 bölümünde Apache PHP modülleri ile php5apache2_4.dll-php-5.4-win32.zip arşivini bulup indirebiliriz.

Roller, aynı kalsalar da. İnternetteki sitelerin yarısından fazlası ile çalışıyor. Bugünkü World Wide Web'in oluşturulmasında ve oluşturulmasında kilit bir rol oynadı. Başarısının sebepleri açık ve her şey göründüğü gibi, en azından uzun bir süre boyunca liderler arasında kalması muhtemel.

Sonra kaynak paketi açıp kurulum dizinini yaratırız. Derlenmiş web sunucusunun bulunduğu asıl hedef dizini derleme işlemi sırasında oluşturulacak. İlk önce kurulumumuzu yaptık. Ve bir web sunucusu kurun.

Arşivde en çok bulunan klasörü buluruz. son versiyon  php5apache2_4.dll modülü ve C: \\ TestServer \\ PHP54 klasörüne yerleştirin.

Httpd yapılandırma dosyasında. conf satır ekledik:

LoadModule php 5_ modülü “C: / TestServer / PHP 54 / php 5 apache 2_4. dll »
AddHandler uygulaması / x - httpd - php. php
  # php yolunu yapılandırın. ini
PHPIniDir "C: / TestServer / PHP 54 / php"

Klasöründe C: \\ TestServer \\ Apache54 \\ htdocs  bir dosya test.php oluşturun.

yankı "Merhaba Apache!";
?>

İlk önce uygun dizine gideriz. Bir metin editörü kullanarak dosyayı açıp bazı satırları kontrol eder veya değiştiririz. İkinci bölümde, sisteminize uyması için lütfen aşağıdaki satırları ayarlayın. Birkaç satır aşağı bir yorum bulacaksınız. Ayarları buradan aşağıdaki gibi değiştirin. Sonra dosyayı kaydedin ve editörden çıkın.

Artık sunucuyu ilk kez başlatmak için neredeyse tüm önemli ayarlar yapıldı. Yapılandırma testi başarılı olduysa, sunucuyu aşağıdaki girişle başlatırız. Yeni web sitenizin yayına girmeden önce İnternet'te nasıl göründüğünü kontrol etmek ister misiniz? Veya kendi programlanmış komut dosyalarınızı çevrimiçi olmadan önce çevrimdışı mı kontrol etmek istiyorsunuz? Bu durumlarda, yerel test sunucusu vazgeçilmezdir. Ayrıntılı adım adım rehberimiz size bunun nasıl yapılacağını gösterecektir.

Apache'yi yeniden başlatın.

Tarayıcının adres çubuğuna http: //localhost/test.php yazın. Metin Merhaba Apache ise! , ardından PHP kurulumu başarıyla tamamlandı.

Php.ini dosyasını yapılandır

MySQL veritabanı ile çalışmak için php'yi yapılandırmamız gerekiyor. ini - PHP yapılandırma dosyası.


C: \\ TestServer \\ PHP54 klasöründe iki şablon var: development ve php.ini-production.

Php.ini üretim şablonunu yeniden adlandırın.

MySQL veritabanlarıyla çalışmak için kütüphaneler C: \\ TestServer \\ PHP 54 \\ ext klasöründe bulunur. Bu yol php.ini yapılandırma dosyasının direktif uzantısında belirtilmelidir.

Bu parametreyi bulduk, satırın başındaki yorum karakterini silin (bu bir noktalı virgüldür) ve yolu ayarlayın.
extension_dir = "C: / TestServer / PHP 54 / ext"

PHP'deki MySQL veritabanı ile çalışmak için iki kütüphane vardır: php _ mysqli. dll - daha yeni ve işte kullanmanız önerilir; php _ mysql. dll eski, ancak çoğu sitede kullanılıyor.

Php.ini dosyasında her iki kütüphaneyi de kaydetmek daha iyidir.
extension = php _ mysql. dll
extension = php _ mysqli. dll

Düzenlemeler tamamlandıktan sonra Apache sunucusunu yeniden başlatın.

MySQL'i kurun ve yapılandırın

Http://www.mysql.ru/download/ sayfasına gidin. Win32 veya Win64 için bir sürüm seçin. Mysql-5.5.23-win32.msi kurulum paketini indireceğiz.

Mysql-5.5.23-win32.msi dosyasını çalıştırın.

Lisans koşullarını kabul ediyoruz, tipik yükleme türünü seçin.

MySQL sunucusunu kurmaya gidin.

Detaylı Konfigürasyon - detaylı konfigürasyon ayarları.


İle bir sunucu türü seçin minimum gereksinimler  hafızaya - Geliştirici Makinesi.

Şimdi sunucumuzun hangi veritabanlarıyla (InnoDB, MyISAM) çalışacağına karar vermemiz gerekiyor.


Çok Fonksiyonlu Veritabanı - InnoDB ve MyISAM desteklenmektedir.
Yalnızca İşlem Veritabanı - InnoDB tarafından desteklenir.
Yalnızca İşlem Dışı veritabanı  - myISAM tarafından desteklenir.

InnoDB için destek seçerken, bir sonraki adım InnoDB tablolarının nerede depolanacağını seçmek.

Manuel Ayar seçmek için maksimum eşzamanlı bağlantı sayısı daha iyidir ve varsayılan değeri kabul eder (15).


Bu adımda TCP / IP Ağını Etkinleştir parametresi TCP bağlantı desteğini etkinleştirir, bu bağlantıların yapılacağı portu seçer. Ayrıca, Sıkı Modu Etkinleştir - MySQL standardına tam uygunluk parametresini de ayarlayın.

Şimdi varsayılan kodlamayı seçmeniz gerekir. En iyi seçenek  - UTF-8'i kodlama. Bu nedenle, biz seçiyoruz Çokdillilik İçin En İyi Destek.

MySQL’i olarak başlatmak için windows hizmeti  - Windows Hizmeti Olarak Yükle'yi yükleyin. Bu hizmetin otomatik olarak çalıştırılması gerekirse - yükle MySQL Server'ı otomatik olarak başlat.


Şimdi yönetici şifresini ayarlayın ve Güvenlik Ayarlarını Değiştir seçeneğini kapatın.

İleri ve Çalıştır düğmelerine tıkladıktan sonra, MySQL kurulumu tamamlanmış sayılabilir.

MySQL'in performansını test etmek için Windows Başlat düğmesine tıklayın, MySQL (MySQL Sunucusu 5.5 MySQL Sunucusu Komut Satırı) ile çalışmak için yardımcı programı bulun ve çalıştırın.

Yönetici şifresini girdikten sonra gireceğiz komut satırı  MySQL.

Takıma gir
veritabanlarını göster;


Bir veritabanı listesi görürsek, sunucunun doğru çalıştığı anlamına gelir.

Komut satırı modundan çıkın:
çıkış;

Bu sunucu kurulumunu tamamlar. İyi iş çıkardın!

Apache en popüler ücretsiz web sunucusudur. 2016 yılı itibariyle internet sitelerinin% 33'ünde kullanılmaktadır ve bunlar yaklaşık 304 milyar sitedir. Bu web sunucusu 1995 yılında popüler NCSA sunucusunun yerine geçerek geliştirildi ve birçok sorunu çözdü. Adının NCSA hatalarını düzelttiği için yamalı yamalı bir yamadan geldiği söyleniyor. Şimdi, bu, Windows, Linux ve MacOS'u destekleyen ve yeterli esneklik, özelleştirilebilirlik ve işlevsellik sağlayan bir çapraz platform programıdır. Program, işlevselliğini neredeyse modüller yardımıyla sonsuzluğa genişletmenizi sağlayan modüler bir yapıya sahiptir.

Apache'yi Linux'a birkaç komut kullanarak yükleyebilirsiniz, ancak program daha sonra daha iyi çalışacak modüllerin yanı sıra değiştirilebilecek çok sayıda ayar sunar. Bu makalede, kurulum ve apache ayarıana sistem olarak Ubuntu kullanacağız, ancak bu adımları diğer dağıtımlarda da tekrarlayabilirsiniz. Yalnızca programın kurulumu değil, aynı zamanda apache sanal konaklarının ve en kullanışlı modüllerin nasıl yapılandırılacağı da dikkate alınacaktır.

Apache yükle

Şu anda, yeni versiyon  program 2.4 ve bu nedenle apache 2.4 olarak değerlendirilecektir. Dediğim gibi, Linux'ta, program tam anlamıyla bir çift komutla yüklenir. Ubuntu’ya kurmak için, önce sistemi en yeni sürüme yükseltin:

sudo apt güncelleme
  $ sudo apt yükseltme

Sonra apache2'yi kurun:

sudo apt yükleme apache2

Diğer dağıtımlarda, yazılım paketine bu şekilde ya da httpd denir ve bunu kurmak herhangi bir zorluğa neden olmaz.

Yükleme tamamlandıktan sonra, bilgisayarı açtıktan sonra elle başlatmamak için web sunucusunu otomatik yüklemeye eklemeniz gerekir:

sudo systemctl apache2'yi etkinleştir

Apache kurulumu

Apache yapılandırması bir dosyada saklandığında zaman geçti. Ancak doğrudur, her şey dizinlerinde dağıtıldığında, yapılandırma dosyalarında gezinmek daha kolaydır.

Tüm ayarlar / etc / apache / klasöründe bulunur:

  • dosya /etc/apache2/apache2.conf  temel ayarlardan sorumlu
  • / etc / apache2 / conf-available / *gelişmiş ayarlar  web sunucusu
  • / etc / apache2 / mods kullanılabilir / *  - modül ayarları
  • / etc / apache2 / sites-available / *  - sanal ana bilgisayar ayarları
  • /etc/apache2/ports.conf  - apache'nin çalıştığı portlar
  • / etc / apache2 / envvars

Fark ettiğiniz gibi, conf, mods ve site için iki klasör vardır. Kullanılabilir ve etkin. Bir modülü veya ana bilgisayarı etkinleştirdiğinizde, kullanılabilir klasörden enable klasörüne sembolik bir bağlantı oluşturulur. Bu nedenle, ayarları mevcut klasörlerde yapmak daha iyidir. Genel olarak konuşursak, bu klasörler olmadan yapmak, her şeyi eski yoldan alıp tek bir dosyaya dökmek mümkün olacaktı ve her şey işe yarayacaktı, ama şimdi kimse yapmıyor.

İlk olarak, ana yapılandırma dosyasına bakalım:

vi /eta/apache2/apache2.conf


Zaman aşımı  - Sunucunun veri aktarımını kesmeye veya veri alımına ne kadar devam etmeye çalışacağını gösterir. 160 saniye yeterli olacaktır.

KeepAlive açık - örneğin sadece html sayfasının değil, aynı zamanda görüntülerin ve css dosyalarının da tek bir bağlantı için birkaç dosya aktarmanıza izin veren çok kullanışlı bir parametre.

MaxKeepAliveRequests 100  - Bağlantı başına maksimum istek sayısı, daha çok, daha iyi.

KeepAliveTimeout 5- bağlantı zaman aşımı, genellikle sayfayı yüklemek için 5-10 saniye yeterlidir, bu yüzden daha fazla koymanıza gerek kalmaz, ancak tüm veriler de yüklenmeden bağlantıyı kesmeniz gerekmez.

Kullanıcı, Grup  - programın üzerinde çalışacağı kullanıcı ve grup.

HostnameLookups  - IP adresleri yerine log'a alan isimleri yazın, işi hızlandırmak için onu devre dışı bırakmak daha iyidir.

LogLevel  - hata günlüğü seviyesi. Varsayılan uyarla kullanılır, ancak günlükleri daha yavaş doldurmak için hatayı açmak yeterlidir.

Dahil  - tüm dahil direktifler yukarıdaki konfigürasyon dosyalarının bağlanmasından sorumludur.


Dizin yönergeleri, belirli bir dizine izin vermek için sorumludur. dosya sistemi. Sözdizimi:


  Parametre değeri

İşte ana seçenekler:

  AllowOverride  - .htaccess dosyalarını bu dizinden okumak için gerekli olup olmadığını gösterir, bunlar aynı ayar dosyaları ve aynı sözdizimidir. Hepsi - herşeye izin ver, Yok - bu dosyaları okumayın.

DocumentRoot  - kullanıcıya göstermek için hangi klasörden belge almanız gerektiğini yükler.

Seçenekler  - web sunucusunun hangi özelliklerine bu klasörde izin verilmesi gerektiğini belirtir. Örneğin, Tümü - her şeye izin ver, FollowSymLinks - sembolik bağlantıları izle, Dizinler - dizin dosyası yoksa, dizin içeriğini göster.

gerektir  - hangi kullanıcıların bu dizine erişebileceğini ayarlar. Tümünü reddetmeyi iste - Tümünü yasakla, İzin ver Hepsini ver - izin ver. kullanıcıyı açıkça belirtmek için tüm yönlendirici kullanıcı veya grup yerine kullanılabilir.

sipariş  - dizine erişimi kontrol etmenizi sağlar. İki değeri kabul eder: İzin ver, Reddet - Belirtilenler dışındaki herkes için izin ver veya Reddet; İzin ver - Belirtilenler dışındaki herkes için izin ver.

Burada, tüm bu direktifler kullanılmaz, çünkü varsayılan değerlerden memnun kaldık, ama .htaccess dosyalarında çok faydalı olabilirler.

Hala /etc/apache2/ports.conf dosyasına sahibiz:


Programın hangi port üzerinde çalışacağını söyleyen tek bir yönergesi olan Listen vardır.

En son / etc / apache2 / envvars dosyası, kullanmanız pek mümkün değildir, diğer yapılandırma dosyalarında kullanılabilecek değişkenleri içerir.


Htaccess ile Apache sunucusu kurma

.Htaccess dosyaları, belirli bir dizindeki davranış için Ubuntu'daki bir web sunucusunu yapılandırmanıza izin verir. Bu dosyada belirtilen tüm talimatlar bir etikete alınmış gibi uygulanır.   eğer ana dosyadaydın.

Sunucunun ana klasördeki bu klasörün .htaccess ayarlarındaki talimatları okuması için veya ana bilgisayardaki sanal dosyayı içermemesi gerektiğine dikkat etmek önemlidir. AllowOverride Yoktüm ayarların çalışabilmesi için AllowOverride All.

Gerisi için, modüllerin dahil edilmesinden, bir klasöre erişimin normal olarak değiştirilmesine kadar, herhangi bir apache sunucusu kurulumu gerçekleştirilebilir. Tüm parametreleri zaten düşündüğümüz için, birkaç örnek vereceğiz:

Sipariş Reddet, İzin Ver
  Tümünden reddet

Bu klasöre tüm erişimi yasaklar, yapılandırması olan klasörler için uygulanması önemlidir. Çoğu zaman, .htaccess mod_rewrite modülüyle çalışmak için kullanılır, bu da anında istekleri değiştirmenizi sağlar:

RewriteEngine on
  RewriteRule ^ product / ((//) / product product.php? Id = $ 1 [L]

Ancak bu çok geniş bir konudur ve bu makalenin kapsamı dışındadır.

Apache Modüllerini Yapılandırma

Daha önce de söylediğim gibi Apache modüler bir programdır, işlevselliği modüller yardımıyla genişletilebilir. Mevcut tüm modül yükleyiciler ve modül konfigürasyon dosyaları / etc / apache / mods available klasöründe bulunur. Ve / etc / apache / mods-enable içinde aktif hale getirildi.

Ancak bu klasörlerin içeriğini analiz etmeniz gerekmez. Apache 2.4'in modül ekleyerek yapılandırılması özel komutlar kullanılarak yapılır. Çalışan tüm modülleri şu komutla görüntüleyebilirsiniz:


Modülü şu komutla etkinleştirebilirsiniz:

sudo a2enmod module_name

Ve devre dışı bırak:

sudo a2dismod module_name

Modülleri etkinleştirdikten veya devre dışı bıraktıktan sonra apache'yi yeniden başlatmanız gerekir:

sudo systemctl apache2'yi yeniden başlat

Bu komutlardan birinin yürütülmesi sırasında, mods kullanılabilir dizininde bir yük uzantısına sahip bir modül dosyasına sembolik bir bağlantı oluşturulur veya silinir. Bu dosyanın içeriğini görebilirsiniz, sadece bir satır var. Örneğin:

vi /etc/apache2/mods-available/deflate.load


Bunun nedeni, modülün apache2.conf dosyasına bu satırı ekleyerek etkinleştirilmesidir. Ancak, karışıklığı önlemek için bunu yapmak gelenekseldir.

Modül ayarları aynı klasörde, sadece yükleme yerine .conf uzantılı dosyada. Örneğin, havasız sıkıştırma için aynı modülün ayarlarına bakalım:

vi /etc/apache2/mods-available/deflate.conf


Konfigüre edilebilir klasördeki dosyalar aynı modüllerdir, sadece apache'den ayrı olarak kurulurlar, php modülünü veya diğer programlama dillerini etkinleştirmek için konfigürasyon dosyaları olabilirler. Burada aynı şekilde çalışır, yalnızca bu modülleri etkinleştirmek ve devre dışı bırakmak için verilen komutlar biraz farklıdır:

a2enconf modülü_adı

a2disconf modül adı

Gördüğünüz gibi modülleri açmak çok basit. Gerekli olan, ancak varsayılan olarak dahil edilmeyen birkaç modül ekleyelim:

sudo a2enmod süresi doluyor
  $ sudo a2enmod başlıkları
  $ sudo a2enmod yeniden yazma
  $ sudo a2enmod ssl

Son kullanım tarihi ve başlık modülleri sunucu yükünü azaltır. Belge son istekten bu yana değişmediyse, Değişiklik Yok başlığını döndürürler. Expiries modülü, tarayıcının alınan belgeyi önbelleğe alacağı süreyi ayarlamanıza olanak tanır. Yeniden yazma, istenen adresleri anında değiştirmenize olanak tanır, NC referansları oluştururken çok faydalıdır ve ikincisi SSL üzerinden şifreleme desteği sağlamaktır. Ayarları tamamladıktan sonra apache2'yi yeniden başlatmayı unutmayın.

Apache Sanal Konaklarını Yapılandırma

Bir fiziksel makineye yalnızca bir site yerleştirilebilirse çok uygun olmaz. Apache bir bilgisayardaki yüzlerce siteyi destekleyebilir ve her biri için doğru içeriği sağlayabilir. Bunun için sanal konaklar kullanılır. Sunucu isteğin hangi etki alanına girdiğini belirler ve gerekli içeriği bu etki alanının klasöründen iletir.

Apache ana bilgisayar ayarları / etc / apache2 / hosts-available / klasöründe bulunur. Yeni bir ana bilgisayar oluşturmak için herhangi bir ada sahip bir dosya oluşturmak (ana bilgisayar adıyla bitmek daha iyidir) ve gerekli verileri doldurmak yeterlidir. İhtiyacınız olan tüm bu parametreleri bir yönergeye dahil edin   Sanal Ana.  Burada tartışılan parametrelere ek olarak, bunlar kullanılacaktır:

  • ServerName  - birincil alan adı
  • ServerAlias  - sitenin kullanılacağı ek isim
  • ServerAdmine-mail  yönetici
  • DocumentRoot  - bu etki alanı için belgeler içeren klasör

Örneğin:

vi /etc/apache2/sites-available/test.site.conf


SunucuAdı test.site
  ServerAlias ​​www.test.site
  ServerAdmin [e-posta korumalı]
  DocumentRoot /var/www/test.site/public_html
  ErrorLog $ (APACHE_LOG_DIR) /error.log
  CustomLog $ (APACHE_LOG_DIR) /access.log birleştirilmiş

Sanal ana bilgisayarlar, modüller gibi, etkinleştirilmeleri gerekir. Bunun için özel araçlar var. Türü etkinleştirmek için:

sudo a2ensite test.site

Burada test.site sanal ana bilgisayar dosyasının adıdır. Devre dışı bırakmak için bir komut var:

sudo a2dissite test.site

Apache sanal konaklarını konfigüre etmek tamamlanmıştır ve hepsi ortak bir sunucuda çalışacaktır, fakat eğer Apache'yi bir ev makinesinde yapılandırmanız gerekirse, yeni siteniz bir tarayıcıda açılmaz. Tarayıcı bu siteyi tanımıyor. Ve nasıl bilebilir? DNS hizmetleri bu etki alanı adını bildiremez. Ancak Linux'ta, / etc / hosts dosyasında alan adları için IP adreslerini belirtebiliriz. Bu nedenle, aşağıdaki satırları dosyanın sonuna ekliyoruz:

127.0.0.1 test sitesi
  127.0.0.1 www.test.site

İşte, peki, şimdi işe yarayacak, tarayıcıyı aç, kontrol et.

bulgular

Hepsi bu. Apache Linux kurulum ve konfigürasyonu tamamlandı, programı sitenizi barındırmak için kullanabilirsiniz. Üstelik, henüz ayarlamadınız, tüm detayları anladınız ve şimdi biraz daha fazlasını biliyorsunuz. Hala sorularınız varsa, yorumlarınızı yazın!