Bagaimanakah pelayan Apache berfungsi? Pelayan web Apache - apakah itu http Apache, untuk apa ia, tempat untuk memuat turun

Hari ini kami akan melancarkan pelayan web Apache 2.2.2 dan melihat tetapan asasnya.
Untuk memulakan, mari kita semak bagaimana pemasangan berjalan: Buka penyemak imbas anda dan masukkan http://localhost - Anda akan melihat halaman alu-aluan: Ia Berfungsi! Jadi pemasangan berjalan lancar untuk kami.

Seterusnya, klik pada ikon pen dalam bar tugas Klik kanan tetikus dan pilih "Perkhidmatan Terbuka". Dalam tetingkap pengurusan perkhidmatan yang terbuka, pilih baris "Apache2.2" dan klik dua kali padanya, kemudian dalam tab "Umum" pilih permulaan manual perkhidmatan - "Jenis permulaan: Manual". . Ini mesti dilakukan untuk mengelakkan perkhidmatan yang tidak diperlukan daripada memuatkan sistem. Mempertimbangkan itu komputer rumah digunakan bukan sahaja untuk pembangunan web, tetapi juga untuk banyak keperluan lain, memulakan dan menghentikan perkhidmatan yang digunakan secara manual adalah yang paling boleh diterima.

Dalam akar pemacu C: anda perlu mencipta direktori "apache" - ia akan mengandungi hos maya anda (domain), fail log ralat global "error.log" (dicipta oleh program semasa pelancaran pertama, secara automatik), fail capaian global "access.log" (dicipta secara automatik). Dalam direktori "apache" kami mencipta satu lagi folder kosong - "localhost", di mana, seterusnya, kami mencipta folder "www", di mana projek tapak kami dalam bentuk skrip tempatan akan diperlukan. Struktur direktori yang kelihatan aneh ini ditentukan oleh struktur direktori yang serupa dalam sistem Unix, dan bertujuan untuk memudahkan pemahaman dan penggunaannya pada masa hadapan.

Mengedit fail httpd.conf
1. Untuk memuatkan modul mod_rewrite, cari dan nyahkomen (alih keluar simbol "#" pada permulaan baris) baris ini:

LoadModule rewrite_module modules/mod_rewrite.so


2. Untuk Muat turun PHP penterjemah, anda mesti menambah baris berikut pada penghujung blok pemuatan modul:

#LoadModule php5_module "C:/php/php5apache2_2.dll"


3. Tentukan direktori yang mengandungi konfigurasi fail PHP dengan menambah baris berikut di bawah:

#PHPIniDir "C:/php"


nyahkomen selepas memasang php

4. Cari garisan:

DocumentRoot "C:/server/htdocs"

Tugaskan direktori akar pengurusan laman web (anda telah menciptanya sedikit lebih awal):

DocumentRoot "C:/apache"

5. Cari blok ini:


Pilihan FollowSymLinks
AllowOverride Tiada
Perintah tolak, benarkan
Nafikan dari semua


Dan gantikannya dengan yang berikut:


Pilihan Termasuk Indeks FollowSymLinks
AllowOverride All
Izinkan dari semua

6. Padam atau ulas blok kawalan direktori asal (kami tidak memerlukannya), yang tanpa ulasan kelihatan seperti ini:


#
# Nilai yang mungkin untuk arahan Pilihan ialah "Tiada", "Semua",
# atau mana-mana gabungan:
# Indeks Termasuk FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Ambil perhatian bahawa "MultiViews" mesti dinamakan *secara eksplisit* --- "Pilihan Semua"
# tidak memberikannya kepada anda.
#
# Arahan Pilihan adalah rumit dan penting. Sila lihat
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# untuk maklumat lanjut.
#
Indeks Pilihan FollowSymLinks

#
# AllowOverride mengawal arahan yang boleh diletakkan dalam fail .htaccess.
# Ia boleh menjadi "Semua", "Tiada", atau mana-mana gabungan kata kunci:
# Pilihan Had AuthConfig FileInfo
#
AllowOverride Tiada

#
# Mengawal siapa yang boleh mendapatkan bahan daripada pelayan ini.
#
Perintah benarkan, tolak
Izinkan dari semua

7. Cari blok:


DirectoryIndex index.html

Gantikannya dengan:


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

8. Cari garisan:

ErrorLog "logs/error.log"


Gantikan dengan yang berikut (dalam kes ini, lebih mudah untuk melihat fail ralat pelayan global):

ErrorLog "C:/apache/error.log"

9. Cari garisan:

CustomLog "logs/access.log" biasa


Bertukar kepada:

CustomLog "C:/apache/access.log" biasa

10. Untuk operasi SSI (pendayaan sisi pelayan) baris berikut, terletak dalam blok, mesti ditemui dan tidak diulas:

AddType text/html .shtml
AddOutputFilter TERMASUK .shtml

11. Tambah dua baris di bawah, dalam blok yang sama:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

12. Akhir sekali, cari dan nyahkomen baris:

Sertakan conf/extra/httpd-mpm.conf
Sertakan conf/extra/httpd-autoindex.conf
Sertakan conf/extra/httpd-vhosts.conf
Sertakan conf/extra/httpd-manual.conf
Sertakan conf/extra/httpd-default.conf

Simpan perubahan dan tutup fail "httpd.conf".

Sekarang buka fail "C:\server\conf\extra\httpd-vhosts.conf" dan buat perubahan berikut di dalamnya.

Blok contoh hos maya sedia ada perlu dialih keluar dan hanya yang berikut dimasukkan:

NameVirtualHost *:80


DocumentRoot "C:/apache/localhost/www"
ServerName localhost
ErrorLog "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" biasa

Simpan perubahan dan tutup fail "httpd-vhosts.conf".

Mari teruskan - sediakan pelancaran manual perkhidmatan Apache2.2, yang mana kami mengikuti laluan: "Mula" → " Panel kawalan"("Panel Kawalan") → "Alat Pentadbiran" → "Perkhidmatan", dalam tetingkap pengurusan perkhidmatan yang terbuka, pilih baris "Apache2.2" dan klik dua kali padanya, kemudian dalam tab "Umum" pilih manual permulaan perkhidmatan - "Jenis permulaan: Manual". Ini mesti dilakukan supaya perkhidmatan yang tidak perlu tidak memuatkan sistem. Memandangkan komputer rumah digunakan bukan sahaja untuk pembangunan web, tetapi juga untuk banyak keperluan lain, memulakan dan menghentikan secara manual perkhidmatan yang digunakan secara berselang-seli adalah paling sesuai.

Contoh mencipta hos maya

Jika anda perlu memasang hos maya anda sendiri, lakukan perkara berikut:

Buka fail "httpd-vhosts.conf" dan buat blok di dalamnya dengan lebih kurang kandungan berikut:

# Folder di mana akar hos anda akan berada.
DocumentRoot "C:/apache/dom.ru/www"
# Domain di mana anda boleh mengakses hos maya.
Nama Pelayan dom.ru
# Alias ​​​​(nama tambahan) domain.
ServerAlias ​​www.dom.ru
# Fail di mana ralat akan ditulis.
ErrorLog "C:/apache/dom.ru/error.log"
# Fail log akses hos.
CustomLog "C:/apache/dom.ru/access.log" biasa

Kemudian dalam direktori "apache", buat folder "dom.ru", di mana, seterusnya, buat folder "www".
Langkah seterusnya dalam mencipta hos maya ialah mengubah suai fail C:\WINDOWS\system32\drivers\etc\hosts sistem pengendalian. Buka fail ini dan tambah dua baris kepadanya:
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Sekarang mulakan semula pelayan Apache, buka penyemak imbas anda, masukkan bar alamat"dom.ru" atau "www.dom.ru" dan anda akan mendapati diri anda berada dalam hos maya anda. Hanya berhati-hati, kini anda boleh pergi ke tapak asal dengan nama hos maya ("www.dom.ru" jika wujud) hanya dengan mengulas atau memadam baris: "127.0.0.1 www.dom.ru" dalam di atas fail "hos".
Dokumentasi Apache, bila pelayan berjalan, boleh didapati di http://localhost/manual/
Pemasangan dan konfigurasi pelayan web Apache telah selesai.

Dalam bahagian ini kita akan berurusan dengan fakta bahawa bagaimana pelayan HTTP Apache berfungsi. Kami akan mula, sudah tentu, dengan memasang Apache pada Windows. Perlu diingatkan bahawa kebanyakan tapak pengehosan menggunakan Apache sebagai pelayan web, jadi mana-mana juruweb perlu mengetahui asas bekerja dengan pelayan ini.

Dalam siaran ini, kita akan memikirkan mengapa pelayan web diperlukan secara umum, kemudian kita akan bercakap tentang beberapa ciri pelayan Apache dan memasangnya pada komputer yang menjalankan Windows, dan akhirnya kita akan melihat ralat yang mungkin timbul apabila memasang Apache pada Windows 7 dan lebih tinggi.

Apakah pelayan web Apache dan untuk apa ia?

Kami tahu bahawa interaksi di Internet boleh diterangkan sepenuhnya atau model rujukan. Bagi pembangun web, protokol dan teknologi yang terletak di peringkat keenam dan ketujuh model rujukan adalah yang paling diminati. Daripada semua protokol lapisan ketujuh, kami paling berminat dengan , yang berdasarkan seni bina pelayan pelanggan.

Kami melakukan ini seperti berikut: dalam akar pemacu C kami mencipta folder Pelayan, di dalamnya kami mencipta empat lagi folder: apache, tmp, www, log, php. Kami tidak akan menggunakan semua folder dalam arahan ini. Semua ini ditunjukkan dalam rajah di bawah.

Dalam folder www kami mencipta satu yang mudah dipanggil Index.html dengan kandungan berikut:

Halaman pengesahan

Apache sedang beraksi



< ! DOCTYPE html >

< html lang = "ru-RU" >

< head >

< meta charset = "UTF-8" >

< title >Halaman pengesahan< / title >

< link rel = "stylesheet" type = "text/css" href = "style.css" / >

< / head >

< body >

< h1 >Apache sedang beraksi< / h1 >

< / body >

< / html >

Hanya ada satu dalam dokumen ini dan jika kami boleh membukanya selepas pemasangan pelayan web Apache selesai, maka kami telah melakukan semuanya dengan betul. Untuk pemasangan selanjutnya kami memerlukan pelayan web.

Apache ialah pelayan web percuma yang paling popular. Sehingga 2016, ia digunakan pada 33% daripada semua tapak Internet, iaitu kira-kira 304 bilion tapak. Pelayan web ini telah dibangunkan pada tahun 1995 sebagai pengganti pelayan NCSA yang popular itu dan membetulkan banyak masalahnya. Khabar angin mengatakan bahawa namanya berasal dari tampalan, kerana dia membetulkan ralat NCSA. Kini, ia adalah program merentas platform yang menyokong Windows, Linux dan MacOS serta menyediakan fleksibiliti, penyesuaian dan kefungsian yang mencukupi. Program ini mempunyai struktur modular, yang membolehkan anda mengembangkan fungsinya hampir selama-lamanya menggunakan modul.

Memasang Apache pada Linux boleh dilakukan dengan beberapa arahan, tetapi program ini menyediakan sangat sejumlah besar tetapan yang boleh diubah, serta modul, selepas mendayakan yang mana ia akan berfungsi dengan lebih baik. Artikel ini akan merangkumi pemasangan dan konfigurasi Apache, kami akan menggunakan Ubuntu sebagai sistem utama, tetapi anda boleh mengulangi langkah ini dalam mana-mana pengedaran lain. Kami akan melihat bukan sahaja memasang program itu sendiri, tetapi juga cara mengkonfigurasinya, menyediakan hos maya apache, serta modul yang paling berguna.

hidup masa ini, paling banyak versi baharu program 2.4; oleh itu, menyediakan Apache 2.4 akan dipertimbangkan. Seperti yang telah saya katakan, pada Linux program itu dipasang dalam beberapa arahan. Untuk memasang pada Ubuntu, mula-mula kemas kini sistem kepada versi terkini:

kemas kini sudo apt
$ sudo apt naik taraf

Kemudian pasang apache2:

sudo apt pasang apache2

Dalam pengedaran lain, pakej program dipanggil sama ada ini atau httpd dan memasangnya tidak akan menyebabkan anda kesulitan.

Selepas pemasangan selesai, anda perlu menambah pelayan web untuk dimulakan supaya tidak memulakannya secara manual selepas menghidupkan komputer:

sudo systemctl membolehkan apache2

Persediaan Apache

Masa telah pun berlalu apabila Konfigurasi Apache telah disimpan dalam satu fail. Tetapi ia betul: apabila semuanya diedarkan dalam direktorinya sendiri, lebih mudah untuk menavigasi fail konfigurasi.

Semua tetapan terkandung dalam folder /etc/apache/:

  • Fail /etc/apache2/apache2.conf bertanggungjawab untuk tetapan asas
  • /etc/apache2/conf-available/* - tetapan tambahan pelayan web
  • /etc/apache2/mods-available/*- tetapan modul
  • /etc/apache2/sites-available/*- tetapan hos maya
  • /etc/apache2/ports.conf- port di mana apache dijalankan
  • /etc/apache2/envvars

Seperti yang anda perhatikan, terdapat dua folder untuk conf, mod dan tapak. Ini tersedia dan didayakan. Apabila modul atau hos didayakan, a pautan simbolik daripada folder yang tersedia ke folder yang didayakan. Oleh itu, adalah lebih baik untuk melakukan tetapan dalam folder yang tersedia. Secara umumnya, anda boleh melakukannya tanpa folder ini, mengambil segala-galanya dan membuang segala-galanya ke dalam satu fail dengan cara lama, dan semuanya akan berfungsi, tetapi tiada siapa yang melakukannya sekarang.

Mula-mula mari kita lihat fail utama konfigurasi:

vi /eta/apache2/apache2.conf

Masa tamat- menunjukkan berapa lama pelayan akan cuba meneruskan penghantaran atau penerimaan data yang terganggu. 160 saat sudah cukup.

Teruskan Hidup- Sangat parameter berguna, membolehkan anda memindahkan beberapa fail dalam satu sambungan, contohnya, bukan sahaja halaman html itu sendiri, tetapi juga imej dan fail css.

MaxKeepAliveRequests 100 - jumlah maksimum permintaan setiap sambungan, lebih banyak, lebih baik.

KeepAliveTimeout 5- tamat masa sambungan, biasanya 5-10 saat sudah cukup untuk memuatkan halaman, jadi anda tidak perlu menetapkan lagi, tetapi anda juga tidak perlu memutuskan sambungan sebelum semua data dimuatkan.

Pengguna, Kumpulan- pengguna dan kumpulan bagi pihak yang program akan dijalankan.

HostnameLookups- tulis ke log dan bukannya alamat IP nama domain, adalah lebih baik untuk melumpuhkannya untuk mempercepatkan kerja.

LogLevel- tahap pengelogan ralat. Secara lalai, amaran digunakan, tetapi untuk membuat log diisi dengan lebih perlahan, hanya dayakan ralat

Sertakan- semua termasuk arahan bertanggungjawab untuk menyambungkan fail konfigurasi yang dibincangkan di atas.

Arahan direktori bertanggungjawab untuk menetapkan hak akses kepada direktori tertentu dalam sistem fail. Sintaks di sini ialah:


Nilai parameter

Pilihan asas berikut tersedia di sini:

AllowOverride- menunjukkan sama ada fail .htaccess harus dibaca daripada direktori ini; ini adalah fail tetapan yang sama dan mempunyai sintaks yang sama. Semua - benarkan semuanya, Tiada - jangan baca fail ini.

DocumentRoot- menetapkan dari mana dokumen folder harus diambil untuk dipaparkan kepada pengguna

Pilihan- menunjukkan ciri pelayan web yang harus dibenarkan dalam folder ini. Contohnya, Semua - benarkan semuanya, FollowSymLinks - ikut pautan simbolik, Indeks - paparkan kandungan direktori jika tiada fail indeks.

Memerlukan- menetapkan pengguna yang mempunyai akses kepada direktori ini. Memerlukan semua ditolak - menafikan semua orang, Memerlukan semua diberikan - benarkan semua orang. Anda boleh menggunakan arahan pengguna atau kumpulan dan bukannya semua untuk menentukan pengguna secara eksplisit.

Pesanan- membolehkan anda mengawal akses kepada direktori. Menerima dua nilai: Benarkan, Tolak - benarkan untuk semua orang kecuali yang dinyatakan atau Tolak, Benarkan - tolak untuk semua orang kecuali yang dinyatakan..ru.

Semua arahan ini tidak digunakan di sini, kerana kami berpuas hati dengan nilai lalai, tetapi dalam fail .htaccess ia boleh menjadi sangat berguna.

Kami ditinggalkan dengan fail /etc/apache2/ports.conf:

Ia mengandungi hanya satu arahan, Dengar, yang memberitahu program port mana ia harus berfungsi.

Fail terakhir ialah /etc/apache2/envvars, anda tidak mungkin menggunakannya, ia mengandungi pembolehubah yang boleh digunakan dalam fail konfigurasi lain.

Menyediakan pelayan Apache melalui htaccess

Fail .htaccess membolehkan anda mengkonfigurasi pelayan web Ubuntu anda untuk berkelakuan dalam direktori tertentu. Semua arahan yang dinyatakan dalam fail ini dilaksanakan seolah-olah ia dibalut dengan tag jika mereka berada dalam fail utama.

Adalah penting untuk ambil perhatian bahawa untuk pelayan membaca arahan daripada .htaccess, tetapan untuk folder ini dalam fail hos utama atau maya mestilah tidak mengandungi AllowOverride Tiada untuk semua tetapan berfungsi yang anda perlukan AllowOverride All.

Jika tidak, sebarang konfigurasi pelayan Apache boleh dilakukan di sini, daripada mendayakan modul kepada hanya menukar akses folder. Oleh kerana kita telah mempertimbangkan semua parameter, mari kita berikan beberapa contoh:

Perintah Tolak, Benarkan
Nafikan dari semua

Menafikan akses semua orang kepada folder ini, penting untuk memohon untuk folder konfigurasi. Selalunya, .htaccess digunakan untuk berfungsi dengan modul mod_rewrite, yang membolehkan anda menukar permintaan dengan cepat:

Tulis SemulaEnjin dihidupkan
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Tetapi ini adalah topik yang sangat luas dan di luar skop artikel ini.

Mengkonfigurasi Modul Apache

Seperti yang telah saya katakan, Apache adalah program modular, fungsinya boleh dilanjutkan menggunakan modul. Semua modul pemuat yang tersedia dan fail konfigurasi modul terletak dalam folder /etc/apache/mods-available. Dan diaktifkan dalam /etc/apache/mods-enable.

Tetapi anda tidak perlu menganalisis kandungan folder ini. Mengkonfigurasi Apache 2.4 dengan menambah modul dilakukan menggunakan arahan khas. Lihat semua menjalankan modul anda boleh menggunakan arahan:

Anda boleh mendayakan modul dengan arahan:

sudo a2enmod module_name

Dan lumpuhkan:

sudo a2dismod module_name

Selepas mendayakan atau melumpuhkan modul, anda perlu memulakan semula apache:

sudo systemctl mulakan semula apache2

Apabila salah satu daripada arahan ini dilaksanakan, pautan simbolik ke fail modul dengan beban sambungan dibuat atau dipadamkan dalam direktori yang tersedia mods. Anda boleh melihat kandungan fail ini, hanya ada satu baris. Sebagai contoh:

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

Ini bermakna modul boleh diaktifkan hanya dengan menambah baris ini pada fail apache2.conf. Tetapi adalah kebiasaan untuk melakukan perkara itu untuk mengelakkan kekeliruan.

Tetapan modul terletak dalam folder yang sama, hanya dalam fail dengan sambungan .conf dan bukannya memuatkan. Sebagai contoh, mari kita lihat tetapan modul yang sama untuk mampatan kempis:

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

Fail dalam folder conf-available, ini adalah modul yang sama, hanya ia dipasang secara berasingan daripada apache, ini boleh menjadi fail konfigurasi untuk dimasukkan modul php atau mana-mana bahasa pengaturcaraan lain. Semuanya berfungsi sama di sini, hanya arahan untuk mendayakan dan melumpuhkan modul ini sedikit berbeza:

a2enconf module_name

nama modul a2disconf

Seperti yang anda lihat, mendayakan modul adalah sangat mudah. Mari kita dayakan beberapa yang perlu tetapi tidak didayakan oleh modul lalai:

sudo a2enmod tamat tempoh
$ sudo a2enmod tajuk
$ sudo a2enmod tulis semula
$ sudo a2enmod ssl

Modul tamat tempoh dan pengepala mengurangkan beban pada pelayan. Mereka mengembalikan pengepala Tidak Diubah suai jika dokumen itu tidak berubah sejak itu permintaan terakhir. Modul tamat tempoh membolehkan anda menetapkan masa yang mana penyemak imbas harus menyimpan dokumen yang diterima. Tulis semula membolehkan anda menukar alamat yang diminta dengan cepat, sangat berguna apabila membuat pautan CNC, dll. Dan yang terakhir untuk membolehkan sokongan untuk penyulitan SSL. Jangan lupa untuk memulakan semula apache2 selepas melengkapkan tetapan.

Mengkonfigurasi Hos Maya Apache

Ia tidak akan selesa sepenuhnya jika pada satu mesin fizikal Hanya satu tapak boleh dihoskan. Apache boleh menyokong ratusan tapak pada satu komputer dan menyediakan kandungan yang betul untuk setiap satu. Hos maya digunakan untuk ini. Pelayan menentukan domain mana permintaan akan datang dan menyampaikan kandungan yang diperlukan daripada folder domain ini.

tetapan hos Apache terletak dalam folder /etc/apache2/hosts-available/. Untuk mencipta hos baharu, cuma buat fail dengan sebarang nama (lebih baik diakhiri dengan nama hos) dan isikannya dengan data yang diperlukan. Anda perlu membungkus semua parameter ini dalam arahan VirtualHost. Sebagai tambahan kepada parameter yang dibincangkan di sini, perkara berikut akan digunakan:

  • Nama pelayan- nama domain utama
  • ServerAlias- nama tambahan yang mana tapak itu boleh diakses
  • ServerAdmin- e-mel pentadbir
  • DocumentRoot- folder dengan dokumen untuk domain ini

Sebagai contoh:

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

Bahan ini ditulis khusus untuk orang yang baru sahaja menyertai barisan pembangun web atau hanya ingin memahami beberapa selok-belok proses. Di sini anda akan belajar tentang apa itu pelayan Apache, apa yang mungkin diperlukan, di mana untuk mendapatkannya dan cara menggunakannya dengan betul. Pada masa hadapan kami akan cuba menerangkan sehalus mungkin tetapan Apache dan dia ciri fungsi, supaya profesional pun boleh mencari sesuatu yang baharu untuk diri mereka sendiri dalam bahan ini.

Untuk membolehkan tapak web muncul di Internet, ia mesti dihoskan pada pelayan hoster atau anda sendiri, disambungkan ke Internet dan mempunyai alamat IP khusus. Pelayan ialah komputer yang mempunyai ciri khas perisian, yang juga dipanggil "pelayan web".

Terdapat sejumlah besar pelayan web di dunia. Mereka berbeza antara satu sama lain dalam fungsi dan tujuan. Hari ini kita akan bercakap tentang yang paling popular daripada mereka, dipasang pada kebanyakan pelayan penyedia pengehosan. Pelayan Apache memenuhi hampir semua keperluan pembangunan web moden, tetapi pada masa yang sama ia cukup mudah untuk pengaturcara memasangnya untuk menyahpepijat program mereka.

Pada tahun 1994, Rob McCool, seorang pekerja National Center for Supercomputing Applications di University of Illinois (NCSA), mengeluarkan pelayan web pertama, yang dipanggil daemon HTTP NCSA, untuk kegunaan awam. Pelayan mendapat populariti dalam kalangan sempit, tetapi pada pertengahan 1994 McCool meninggalkan universiti dan pembangunan berhenti.

Sekumpulan kecil juruweb yang berminat bermula bekerjasama atas produk. Berkomunikasi pada lembaran perbincangan e-mel, mereka membangunkan "tampalan" dan inovasi untuk pelayan. Merekalah yang mencipta Kumpulan Apache, yang membangunkan versi pertama pelayan Apache. Ini berlaku pada April 1995, apabila semua "tampalan" sedia ada digunakan pada pangkalan (Pelayan NCSA 1.3). Beginilah cara keluaran awam rasmi pertama Apache 0.6.2 muncul.

Versi awam pertama Apache muncul pada April 1995, dan keluaran 1.0 dikeluarkan pada bulan Disember

Kerja pada pelayan tidak berhenti selama sehari, dan tidak lama kemudian ia menjadi salah satu yang paling popular. Selepas banyak ujian, versi 1.0 muncul pada 1 Disember 1995, stabil dan boleh dipercayai. Sepanjang tahun ini dan sehingga hari ini, Apache kekal bebas sepenuhnya. Mungkin ini juga menentukan kejayaan pelayan, kerana, menurut NetCraft, Apache kini dipasang pada 67% daripada semua pelayan di dunia.

Pelayan Apache kini dipasang pada 67% pelayan di seluruh dunia. Pada masa ini terdapat dua cawangan sedang dibangunkan serentak

Pada masa ini, dua cabang Apache sedang dibangunkan secara selari - versi 2.0 dan 1.3. Versi kedua telah mengalami sejumlah besar perubahan, yang terutamanya menjejaskan teras program dan beberapa modul penting. Memandangkan modul yang ditulis oleh pembangun pihak ketiga untuk versi 1.3 tidak akan berfungsi dalam versi 2.0, Apache "lama" juga disokong. Walau bagaimanapun, jika anda akan memasang Apache buat kali pertama, maka anda patut melihat versi baharu dengan lebih dekat.

Apache ialah pelayan web berciri penuh, sumber terbuka, boleh dikembangkan

Jadi apa itu Apache? Ia adalah pelayan web berciri penuh yang boleh dikembangkan yang menyokong sepenuhnya protokol HTTP/1.1 dan merupakan sumber terbuka. Pelayan boleh berjalan pada hampir semua platform biasa. Terdapat boleh laku pelayan sedia untuk Windows NT, Windows 9x, OS/2, Netware 5.x dan beberapa sistem UNIX. Pada masa yang sama, ia sangat mudah untuk dipasang dan dikonfigurasikan. Anda akan dapat mengesahkan ini sedikit kemudian.

Apache dikonfigurasikan menggunakan fail konfigurasi teks. Tetapan asas sudah dikonfigurasikan secara lalai dan akan berfungsi dalam kebanyakan kes. Jika anda kekurangan fungsi Apache standard, maka anda harus melihat dengan lebih dekat modul boleh diagihkan semula yang ditulis oleh Kumpulan Apache dan pembangun pihak ketiga. Kelebihan penting ialah pencipta berkomunikasi secara aktif dengan pengguna dan membalas semua mesej ralat.

Paling banyak fungsi mudah, yang boleh dilakukan oleh Apache - berdiri pada pelayan dan menyediakan tapak HTML biasa. Apabila permintaan untuk halaman tertentu diterima, pelayan menghantar respons kepada penyemak imbas. Anda menaip alamat, halaman dibuka - semuanya mudah.

Menggunakan pelayan Apache anda boleh melakukan pengesahan mudah

Fungsi yang lebih kompleks, yang dibenamkan dalam protokol HTTP/1.1, ialah pengesahan pengguna. Menggunakan alat pelayan Apache standard, anda boleh mengehadkan akses kepada halaman tertentu tapak untuk pengguna yang berbeza. Ini adalah perlu, sebagai contoh, untuk mencipta antara muka pentadbiran untuk tapak. Untuk ini, fail .htaccess dan .htpasswd digunakan, serta modul mod_auth dan mod_access. Pengguna boleh dibahagikan kepada kumpulan, dan setiap daripada mereka boleh diberikan hak akses mereka sendiri.

Pelayan Apache menyokong teknologi SSI

Untuk memisahkan reka bentuk dan bahagian berfungsi tapak, serta memudahkan pengubahsuaian objek statik, terdapat teknologi SSI. Ia membolehkan anda meletakkan semua maklumat berulang ke dalam satu fail (contohnya, top.inc), dan kemudian memasukkan pautan kepadanya ke dalam halaman. Kemudian, jika anda perlu menukar beberapa baris dalam maklumat ini, anda hanya perlu menukarnya dalam satu fail. Pelayan Apache menyokong teknologi ini dan membolehkan anda menggunakan kemasukan sisi pelayan untuk potensi penuh mereka.

Anda boleh membuat direktori tersuai untuk tapak web pada pelayan Apache

Jika pada pelayan yang sama dengan dipasang sistem operasi Keluarga Unix dan pelayan Apache mempunyai beberapa pengguna, maka setiap daripada mereka boleh membuat direktori berasingan. Lebih tepat lagi, ia akan dibuat secara automatik bersama-sama dengan alias. Ini dilakukan menggunakan modul mod_userdir dan arahan UserDir. Jadi, sebagai contoh, anda boleh folder public_html masuk folder rumah pengguna untuk memadankan alamat www.site.ru/~user. Secara umum, inilah yang dilakukan pada pelayan kebanyakan laman web yang menyediakan pengehosan percuma. Pentadbir pelayan boleh membenarkan atau menafikan pengguna tertentu buat halaman utama, gunakan SSI dan fungsi pelayan lain. Pengehosan penuh biasanya melibatkan penciptaan pelayan maya yang berasingan untuk setiap pengguna.

Anda boleh mengkonfigurasi hos maya. Terima kasih kepada mereka, satu pelayan fizikal boleh mengandungi beberapa maya

Pelayan Apache adalah salah satu pelayan pertama yang menyokong pelayan maya(tuan rumah). Ciri ini membolehkan anda mengehoskan beberapa laman web lengkap pada satu pelayan fizikal. Setiap daripada mereka boleh mempunyai domain sendiri, pentadbir, alamat IP, dan sebagainya.

Jika anda perlu meletakkan domain domain.ru dan domain.com pada pelayan anda, mula-mula anda perlu memastikannya sistem DNS mereka telah diberikan alamat IP anda. Selepas ini dalam konfigurasi fail Apache buat dua arahan , tempat anda menerangkan setiap hos maya. Oleh itu, pelayan akan mengetahui folder mana untuk "menghantar" permintaan masuk.

Apache menyokong bekerja dengan PHP, CGI dan skrip lain

Pada masa kini, kebanyakan halaman internet adalah dinamik. Ini bermakna mereka penampilan dan kandungannya dibentuk menggunakan skrip perisian yang ditulis dalam salah satu "bahasa" (ia tidak boleh dipanggil sepenuhnya bahasa, definisinya agak sewenang-wenangnya). Pada masa ini, teknologi yang paling banyak digunakan ialah CGI dan PHP. Sudah tentu, Apache mempunyai sokongan untuk kedua-duanya, serta keupayaan untuk menyambung bahasa lain.

Modul mod_cgi membolehkan anda mengehos skrip CGI pada pelayan. Secara umum, ini hanyalah fail boleh laku yang ditulis dalam salah satu bahasa pengaturcaraan yang sah. Mereka boleh terkandung sama ada dalam bentuk tersusun (contohnya, ini adalah apa yang mereka lakukan jika mereka menulis CGI dalam C++), atau dalam bentuk teks sumber(jika Perl dipasang pada pelayan, maka pengaturcara boleh meletakkan fail tersebut. Kadangkala mereka mempunyai sambungan .pl).

Bagi PHP, keupayaan untuk mengintegrasikannya ke dalam Apache disediakan oleh pembangun PHP itu sendiri. Apache hanya bertindak sebagai perantara antara skrip dan pengkompil. Terdapat dua cara untuk mengintegrasikan PHP ke dalam Apache. Yang pertama ialah pemasangan modul khas yang memperluaskan keupayaan pelayan, dan kemudian ia sendiri menjadi mampu untuk "menyusun" skrip. Dan yang kedua ialah untuk mewujudkan sambungan dalam fail konfigurasi antara fail php dan pengkompil itu sendiri (ia terletak pada cakera dalam bentuk fail .cgi atau .exe).

Versi terbaru Apache mempunyai modul untuk bekerja dengan penyulitan SSL/TSL yang kuat

Berdasarkan pelayan Apache, anda boleh membuat bukan sahaja tapak amatur yang mudah, tetapi juga sumber yang memerlukan serius perlindungan kriptografi data yang dihantar. Protokol SSL/TLS telah dibangunkan khusus untuk tujuan ini, dan sokongannya telah dibina ke dalam Apache 2.0. Menggunakan modul khas, anda boleh melakukan pengesahan berdasarkan sijil yang diperibadikan, yang memungkinkan untuk hampir pasti menjamin keaslian pengguna.

Apache memimpin protokol terperinci semua yang berlaku pada pelayan

Dan, sudah tentu, pelayan Apache boleh menyimpan log semua tindakan yang dilakukan padanya. Selain itu, pentadbir boleh memilih tahap perincian protokol. Log diselenggara secara berasingan untuk ralat, untuk operasi yang berjaya, dan untuk setiap hos maya. Dalam satu perkataan, set penuh untuk analisis menyeluruh tentang kesilapan yang muncul.

Dalam rangka satu bahan, kami bukan sahaja dapat bercakap secara terperinci tentang semua keupayaan pelayan Apache, tetapi juga hanya menyenaraikannya. Artikel ini bertujuan untuk kenalan pertama pengguna dan pembangun masa depan dengan pelayan Apache. Dalam bahan lain kami pasti akan menyentuh semua selok-belok pembinaan laman web berdasarkan pakej perisian yang hebat ini.

Pelayan HTTP Apache ialah pelayan web sumber terbuka merentas platform. Sejak April 1996, ia telah menjadi pelayan HTTP paling popular di Internet; pada Ogos 2007 ia dijalankan pada 51% daripada semua pelayan web. Kelebihan utama Apache ialah kebolehpercayaan dan fleksibiliti konfigurasi. Laman rasmi: httpd.apache.org.

Pelayan itu ditulis pada awal tahun 1995 dan dipercayai bahawa namanya kembali kepada nama komik "a patchy" (Bahasa Inggeris "patch"), kerana ia menghapuskan ralat pelayan popular ketika itu World Wide Web NCSA HTTPd 1.3. Kemudian, daripada versi 2.x, pelayan telah ditulis semula dan kini tidak mengandungi kod NCSA, tetapi nama itu kekal. Pada masa ini, pembangunan dijalankan di cawangan 2.2, dan dalam versi 1.3 dan 2.0 hanya pembetulan pepijat keselamatan dibuat.

Pelayan web Apache dibangunkan dan diselenggara oleh komuniti pembangun terbuka di bawah naungan Yayasan Perisian Apache dan disertakan dalam banyak produk perisian.

Mengapakah anda mungkin perlu memasang pelayan web pada komputer anda? Berikut ialah dua pilihan: a) jika anda mempunyai akses ke Internet, maka sebelum memuatkan halaman tapak anda ke pelayan sebenar, anda boleh mencipta dan menyahpepijatnya pada komputer tempatan anda. b) jika anda tidak mempunyai akses kepada Internet, tetapi mempunyai rangkaian tempatan di dalam bilik darjah, anda boleh memasang pelayan dan menggunakannya untuk tujuan pendidikan.

1. Untuk memisahkan projek web daripada semua yang lain, semua perisian, halaman html, skrip, dsb. dalam contoh ini kami akan memasang dalam direktori yang berasingan C:\MyServers. Dalam direktori ini kami akan membuat direktori usr Untuk program yang diperlukan Dan rumah untuk menyimpan laman web. Anda boleh memilih nama dan lokasi yang berbeza untuk direktori.

2. Kami akan memasang versi terkini Apache 2.2.8. Mula-mula, anda perlu memuat turun versi terkini kit pengedaran untuk memasang Apache. Di http://httpd.apache.org/download.cgi, pilih salah satu cermin untuk memuat turun pengedaran pelayan Apache. Sebagai contoh, ini boleh menjadi http://www.sai.msu.su/apache/httpd/binaries/win32/, http://apache.rinet.ru/dist/httpd/binaries/win32/, http:// apache .rediska.ru/httpd/binaries/win32/ atau lain-lain. Versi untuk semua platform termasuk. dan untuk Win32 diedarkan secara percuma.

Juga pada halaman ini terdapat pautan kepada dua pengedaran:
Win32 Binary tanpa crypto (tiada mod_ssl) ( Pemasang MSI): apache_2.2.8-win32-x86-no_ssl.msi
Win32 Binary termasuk OpenSSL 0.9.8g (MSI Installer): apache_2.2.8-win32-x86-openssl-0.9.8g.msi

Catatan:
SSL (Lapisan Soket Selamat) - protokol kriptografi, menyediakan pemindahan selamat data melalui Internet. Apabila digunakan, sambungan selamat dibuat antara klien dan pelayan. Untuk mengakses halaman yang dilindungi protokol SSL, URL biasanya menggunakan awalan https dan bukannya awalan http biasa, menunjukkan bahawa sambungan SSL akan digunakan. SSL memerlukan pelayan mempunyai sijil SSL untuk berfungsi.

3. Jalankan fail pemasangan dan ikut arahan wizard pemasangan.

Kami bersetuju dengan perjanjian lesen.

Langkah seterusnya meminta anda untuk mengkonfigurasi tetapan pelayan. Sebagai domain dan nama yang kami nyatakan localhost, sebagai alamat yang akan dihantar pemberitahuan pelayan, sebarang alamat, contohnya: admin@localhost.

Nama komputer mnemonik "localhost" bermaksud perkara yang sama peranti rangkaian(komputer) dari mana paket rangkaian dihantar atau sambungan diwujudkan. Itu. ini adalah komputer yang sama tempat anda memasang pelayan web. Biasanya "localhost" dipetakan ke alamat 127.0.0.1.

Pelayan Apache boleh dimulakan dalam salah satu daripada dua mod: sebagai perkhidmatan atau secara manual. Dalam contoh kami, pelayan akan bermula secara automatik sebagai perkhidmatan untuk semua pengguna. Perhatian! Artikel ini tidak menangani isu rangkaian dan pentadbiran dan keselamatan Windows.

Pilih pemasangan standard.

Memilih lokasi untuk memasang pelayan. Anda boleh membiarkannya sebagai lalai, tetapi saya cadangkan meletakkan semua perisian untuk rangkaian dalam satu folder, sebagai contoh: C:\MyServers(lebih mudah). Klik butang Tukar... dan dalam tetingkap pemilihan laluan tentukan: C:\MyServers\usr\local\ bukannya C:\Program Files\ Perisian Apache Foundation\Apache2.2\

Jika anda melakukan semuanya dengan betul dan yakin dengannya :) klik butang Pasang

Proses pemasangan akan bermula...

Pada akhirnya, untuk keluar dari wizard pemasangan, klik butang Selesai.

Selepas pemasangan selesai, pelayan akan bermula secara automatik (ia sepatutnya bermula) dan ikon akan muncul dalam dulang berhampiran jam.
Jika segitiga hijau muncul pada ikon, ini bermakna pelayan telah dipasang dan dimulakan seperti biasa.

Klik dua kali pada ikon ini akan memaparkan tetingkap ini:

Di sini anda boleh melihat status perkhidmatan dan, jika perlu, hentikan, mulakan, mulakan semula, dsb.

Pada masa hadapan (selepas permulaan komputer seterusnya), ikon ini (dalam versi ini) tidak akan muncul dengan sendirinya. Oleh itu, anda boleh menambah pelancaran Pantau Pelayan Apache untuk autoload secara manual.

Mari semak fungsinya dengan melancarkan penyemak imbas dan masukkan alamat pelayan anda dalam bar alamat, dalam kes kami http://localhost atau secara ringkas localhost. Jika anda melihat halaman sedemikian, maka anda boleh mengucapkan tahniah kepada anda - anda telah memasang pelayan, yang tinggal hanyalah mengkonfigurasinya sedikit.

4. Untuk mengkonfigurasi pelayan, buka fail konfigurasi, sama ada melalui "Mula",

atau secara manual dalam folder tempat Apache dipasang, dalam kes kami C:\MyServers\usr\local\Apache2.2\conf\httpd.conf.

httpd.conf- ini adalah satu-satunya fail yang perlu dikonfigurasikan. Anda perlu mencari dan menukar beberapa baris di dalamnya. Adalah dinasihatkan untuk mengelakkan kesakitan yang teramat di kemudian hari :), buat salinan fail ini dahulu. Tiba-tiba anda memadamkan sesuatu yang tidak perlu. Terdapat banyak ulasan dalam fail ini yang bermula dengan tanda #. Beberapa parameter juga pada mulanya diulas.

a) Tetapkan nilai parameter ServerName seperti berikut ServerName localhost. (tiada titik di hujungnya)

b) Sebaliknya DocumentRoot "C:/MyServers/usr/local/Apache2.2/htdocs" sila nyatakan DocumentRoot "C:/MyServers/home/localhost/www". C:/MyServers/home/localhost/www ialah direktori di mana fail html anda akan ditempatkan. Kami mencipta C:\MyServers\home pada mulanya. Sekarang buat direktori lain C:\MyServers\home\localhost, di dalamnya buat 2 direktori: \cgi dan \www.

c) Cari bahagian yang bermula dengan dan berakhir . Gantikan dengan


AllowOverride All
Izinkan dari semua

Blok ini akan menyimpan tetapan lalai untuk semua direktori anda.

d) Cari bahagian yang bermula dengan dan berakhir , padamkannya sepenuhnya, termasuk ulasan.

e) Cari blok


DirectoryIndex index.html

Di sini fail indeks yang dipanggil ditentukan, yang dikeluarkan secara automatik oleh pelayan apabila mengakses mana-mana direktori, jika nama dokumen html tidak dinyatakan. Pada dasarnya, anda boleh menambah nama lain di sini, contohnya index.htm dan index.php (jika anda terus memasang PHP dan menggunakan/menulis skrip), atau anda boleh membuat tetapan tambahan dalam...fail htaccess. Mari kita betulkan, sebagai contoh, blok kepada:


DirectoryIndex index.php index.htm index.html

e) Jika anda tidak menggunakan skrip cgi, maka anda boleh melangkau titik ini. Betulkan parameter ScriptAlias:

ScriptAlias ​​​​ /cgi-bin/ "C:/MyServers/usr/local/Apache/cgi-bin/" pada ScriptAlias ​​​​/cgi-bin/ "C:/MyServers/home/localhost/cgi". Tambahkan baris ini selepasnya: ScriptAlias ​​​​ /cgi/ "C:/MyServers/home/localhost/cgi". Ini akan menjadi direktori di mana skrip CGI anda akan ditempatkan.

Alih keluar blok ... kerana kami tidak akan menggunakan sebarang tetapan tambahan.

Cari dan tukar baris skrip cgi AddHandler (jangan lupa untuk mengalih keluar ulasan): AddHandler cgi-script .cgi .bat .exe .pl Parameter ini menunjukkan bahawa fail dengan sambungan .cgi .bat .exe .pl harus dianggap sebagai skrip cgi.

f) Jika anda menggunakan SSI, kemudian tetapkan parameter berikut:

AddType text/html .shtml
AddHandler dihuraikan pelayan .shtml .html .htm

g) Arahan Dengar menyatakan alamat IP dan port di mana pelayan Apache akan "mendengar", menunggu sambungan. Secara umum, bilangan arahan sedemikian tidak terhad. Jika anda akan menggunakan pelayan hanya untuk menyahpepijat tapak anda, nyatakan sahaja Dengar 127.0.0.1:80.

5. Itu sahaja. Simpan perubahan! Mulakan semula pelayan. Jika semuanya dilakukan dengan betul, pelayan akan berfungsi. Lancarkan penyemak imbas anda dan semak seperti sebelumnya. Dalam penyemak imbas, anda akan melihat halaman dengan "Indeks /" kerana kami tidak meletakkan halaman (indeks) utama (contohnya, index.htm) dalam direktori C:/MyServers/home/localhost/www. Untuk melihat sesuatu yang lebih menarik, cipta dan simpan halaman html anda di sana. Ini boleh dilakukan sama ada menggunakan beberapa editor web, atau tulis teks di bawah dalam Notepad dan simpan fail dengan sambungan .html (atau .htm, bukan .txt). Apabila menyimpan halaman dalam Notepad, pilih jenis fail: semua fail dan dalam medan nama fail tentukan index.htm.

teks fail index.html (boleh disalin dan disimpan):





Muka surat pertama


Ini halaman saya!





Dengan melancarkan penyemak imbas dan memasukkan alamat pelayan anda dalam bar alamat, dalam kes kami http://localhost atau secara ringkas localhost anda akan melihat halaman seperti ini. Kami boleh mengucapkan tahniah kepada anda - anda telah memasang dan mengkonfigurasi pelayan.

Sekarang kami membuat halaman web kami, letakkannya pada pelayan kami (dalam C:/MyServers/home/localhost/www) dan...

Untuk mengakses pelayan anda daripada rangkaian tempatan pada mana-mana komputer kami menulis alamat pelayan, contohnya: http://pelayan atau secara ringkas pelayan(memandangkan nama komputer dalam contoh adalah pelayan, dan jika anda mempunyai, sebagai contoh, nama komputer pc11, maka ia akan menjadi http://pc11) . Sila ambil perhatian bahawa akses hanya boleh dilakukan jika ia dibenarkan (tidak dinafikan) dalam parameter Dengar .

Untuk membuat halaman html anda boleh gunakan Nvu 1.0 - editor percuma laman sesawang. Saiz lebih kurang 6.76 MB. Anda boleh memuat turunnya dari http://nvu.mozilla-russia.org/. Laman web rasmi program Nvu ialah http://www.nvu.com/. NVU ialah Sumber terbuka Projek Linspire untuk mencipta editor HTML visual (WYSIWYG). Asas untuk mencipta NVU ialah sekeping kod yang diekstrak daripada Mozilla.

Atau anda boleh menggunakan KompoZer - projek pengganti kepada Nvu. KompoZer- editor HTML percuma, yang menyediakan pemula tanpa pengetahuan HTML dengan segala-galanya dana yang diperlukan untuk membuat dokumen web anda sendiri. Program ini agak mudah dan intuitif untuk digunakan, mempunyai beberapa ciri dari FrontPage dan Dreamweaver, mempunyai editor gaya, dsb.

daripada editor berbayar anda boleh perhatikan Microsoft Office FrontPage 2003 atau penggantinya Microsoft Office Pereka SharePoint 2007.