Apache /httpd/


Apache

Apache-LogoГадаадад ч, мөн дотоодод буюу манай Монголд бидний ашигладаг Вэб сайтуудын ихэнхийг Linux үйлдлийн систем дээр Apache ын тусламжтай ажиллуулдаг билээ. Мэдээж Linux үйлдлийн систем дээр хийж буйн гол сайн тал нь олон хэрэглэгч хандалттай үед сервер гацах, зогсох зэрэг нь бусад бидний өргөн хэрэглэдэг Windows үйлдлийн системээс сайн юм. Apache-г 1995 оноос хойш хөгжүүлж эхэлсэн бөгөөд дэлхий даяар сая, сая вэб сайтууд уг программыг ашигладаг бөгөөд, бас нэгэн давуу тал нь ямар ч үнэ төлбөргүй юм.

Программыг RPM буюу шууд standard executable хэлбэрээр эсвэл Source хэлбэрээр буюу tar.gz /програмын байршил, хэрэглэх үйлдлүүдийг сонгох боломжтой/ байдлаар суулгах боломжууд байдаг.

http://httpd.apache.org/download.cgi ” энэхүү сайт-с татаж авах боломжтой. Эндээс ороод өөрт тохирох хэлбэрээрээ татаад аваарай. Мөн би энэ суулгацаа Redhat 5 үйлдлийн систем дээр хийж байгааг анхаарах хэрэгтэй боловуу. Учир нь Linux үйлдлийн систем-ийг олон хэлбэрээр хөгжүүлсээр байгаа бөгөөд дотроо Ubuntu, Openbsd, Freebsd, Macosx, Debian, Redhat/Centos зэрэг янз бүрийн төрлүүдэд хуваагддаг. Эдгээр үйлдлийн системүүдийн мэдээж ажиллах зарчим, бичих коммандууд зэрэг нь хоорондоо бага зэрэг ялгаатай.

За ингээд суулгаж эхлэе.

http://httpd.apache.org/download.cgi

httpd-2.2.17.tar.gz source файл татаж авсан байгаа

# tar xvfz httpd-2.0.54.tar.gz

# cd httpd-2.0.54

# ./configure –prefix=/opt/apache2 –enable-module=so

# make&&make install

Энэ байдлаар суулгалаа. –prefix нь тухайн программыг аль директорт суулгах вэ гэдгийг зааж өгч байгаа юм шүү. Бусад олон сүлжээний орчны серверүүд inetd супер серверээс ажилладаг бол, Apache тэгдэггүй. Харилцагч вэб хөтчүүдээс ирэх HTTP хүсэлтүүдэд хариулахдаа илүү өндөр үзүүлэлттэй ажиллуулахын тулд түүнийг бие даан ажилладаг байхаар тохируулсан байдаг. Эхлүүлэх, зогсоох болон дахин эхлүүлэх зэрэг үйлдлийг аль болох хялбар болгохын тулд бүрхүүлийн скрипт хялбаршуулагч хамт ирдэг. Apache-г анх удаа эхлүүлэхийн тулд, дараах тушаалыг өгнө:

# /opt/apache2/sbin/apachectl start

Хүссэн үедээ серверийг дараах тушаалаар зогсооно:

# /opt/apache2/sbin/apachectl stop

Тохиргооны файлд өөрчлөлт оруулсны дараа, серверийг унтраагаад, дахин эхлүүлэх шаардлагатай:

# /opt/apache2/sbin/apachectl restart

Тогтсон холболтуудыг таслалгүйгээр Apache-г дахин эхлүүлэхийн тулд дараах тушаалыг өгнө:

# /opt/apache2/sbin/apachectl graceful

Сервер асах унтрах үед apache автоматаар асах, унтрах тохиргоог дараах байдлаар хийнэ

# cp /opt/apache2/sbin/apachectl /etc/init.d

# chkconfig apachectl on

# chkconfig 234 apachectl

Давхар байршуулалт

Apache нь хоёр төрлийн давхар байршуулах үйлчилгээг дэмждэг. Эхнийх нь нэр дээр үндэслэсэн давхар байршуулалт юм. Нэр дээр үндэслэсэн давхар байршуулалт дээр хост нэрийг ялгаж мэдэхдээ харилцагчийн HTTP/1.1 толгойн хэсгийг ашигладаг. Иим байдлаар олон өөр домэйнууд нэг IP хаягийг хуваан хэрэглэх боломжтой болдог.

Apache дээр, нэр дээр үндэслэсэн давхар байршуулалтыг хэрэглэхийн тулд доор дурдсантай төстэй бүртгэлийг httpd.conf файл дотор нэмж бичих хэрэгтэй:

NameVirtualHost *

Таны вэб серверийн нэр http://www.domain.tld бөгөөд http://www.someotherdomain.tld нэртэй домэйныг давхар байршуулах хүсэлтэй бол, та дараах бүртгэлийг httpd.conf файлд нэмэх хэрэгтэй болно:

<VirtualHost *>

ServerName http://www.domain.tld

DocumentRoot /www/domain.tld

</VirtualHost>

<VirtualHost *>

ServerName http://www.someotherdomain.tld

DocumentRoot /www/someotherdomain.tld

</VirtualHost>

Дээрх хаягуудын оронд хэрэгтэй хаягуудыг, замуудын оронд баримтууд байгаа зохих замуудыг сольж бичнэ үү.

Давхар хостуудыг зохион байгуулах талаар дэлгэрэнгүй мэдээллийг Apache-н албан ёсны баримтжуулалт: http://httpd.apache.org/docs/vhosts/-с олж үзнэ үү.

Apache Модулиуд

Үндсэн серверийн үүрэг функцыг сайжруулахын тулд бүтээгдсэн Apache-н олон модулиуд байдаг. Centos Портуудын Цуглуулга нь Apache-г түүний өргөн хэрэглэгддэг зарим модулиудын хамт хялбар суулгах боломжийг олгодог.

mod_ssl

mod_ssl модуль нь Secure Sockets Layer (SSL v2/v3) ба Transport Layer Security (TLS v1) протоколоор дамжуулан өндөр нууцлалыг хангахын тулд OpenSSL санг ашигладаг. Энэ модуль нь батламж олгодог итгэмжлэгдсэн байгууллагаас батламж авахын тулд шаардлагатай бүх зүйлсээр хангадаг тул та үүнийг ашиглан Centos дээр аюулгүй вэб сервер ажиллуулж чадна.

Хэлний холболтууд

Ихэнх гол скрипт хэлнүүдэд зориулсан Apache-ийн модулиуд байдаг. Эдгээр модулиуд нь Apache-ийн модулиудыг бүхэлд нь скрипт хэл дээр бичих боломжийг ихэвчлэн бүрдүүлдэг. Эдгээр нь бас гадаад тайлбарлагчийг эхлүүлэх нэмэлт зардал болон димамик вэб сайтуудын хувьд байдаг эхлүүлэх хугацааны алдагдлыг тойрон гарах, серверт багтааж хийгдсэн байнгын тайлбарлагч болон дараагийн хэсэгт тайлбарлагдсан шигээр ихэвчлэн ашиглагддаг.

Динамик вэб сайтууд

Сүүлийн 10 жилд, өөрийн ашиг орлогыг нэмэгдүүлэх, хүмүүст хүрэх зорилгоор илүү олон компаниуд бизнесээ Интернэтээр явуулах болжээ. Энэ нь динамик агуулгатай вэб хуудсууд төрөн гарах хэрэгцээ шаардлагыг улам нэмэгдүүлсэн. Microsoft® гэх мэт зарим компаниуд ч өөрийн бүтээгдэхүүнүүдэд тэдгээрээс оруулах болсон хэдий ч, нээлттэй эхийн нэгдэл энэ асуудалд хариу өгсөн юм. Динамик вэб агуулгыг бий болгох орчин үеийн боломжууд бол Django, Ruby on Rails, mod_perl болон mod_php юм.

Django

Django нь өндөр ажиллагаатай, гоёмсог вэб програмыг хурдан бичих боломжийг хөгжүүлэгчдэд олгохоор хийгдсэн, BSD лицензтэй тогтолцоо юм. Энэ нь өгөгдлийн төрлүүд Python обьект хэлбэрээр хөгжүүлэгддэг байхаар болгосон обьектийн харилцааг оноогчтой бөгөөд тэдгээр обьектуудад зориулсан хөгжүүлэгчдэд SQL бичих шаардлагагүй болгож өгдөг, баялаг динамик өгөгдлийн сангийн хандалтын API-тай юм. Энэ нь бас програмын логикийг HTML үзүүлбэрээс тусгаарлах боломжийг бүрдүүлэх нэмэлт загварын системтэй байдаг.

Django нь mod_python, Apache, болон таны сонгосон SQL өгөгдлийн сангийн хөдөлгүүрээс хамаардаг. Centos порт нь эдгээр бүх хамаарлуудыг тохирсон сонголтуудтай нь танд суулгаж өгөх болно.

Django-г Apache2, mod_python3, болон PostgreSQL-тэй суулгах нь

# yum install python

Django болон бусад хамаарлууд суулгагдсаны дараа та Django төслийн санг үүсгэх хэрэгтэй бөгөөд өөрийн сайт дээрх тухайн URL дээр өөрийн програмыг дуудахын тулд суулгагдсан Python тайлбарлагчийг ашиглахаар болгож Apache-г тохируулах хэрэгтэй.

Django/mod_python-д зориулсан Apache-ийн тохиргоо

Та өөрийн вэб програм руу тодорхой URL-уудад зориулсан хүсэлтүүдийг дамжуулахаар Apache-г тохируулахын тулд apache-ийн httpd.conf файлд мөр нэмэх шаардлагатай:

<Location “/”>

SetHandler python-program

PythonPath “[‘/dir/to/your/django/packages/’] + sys.path”

PythonHandler django.core.handlers.modpython

SetEnv DJANGO_SETTINGS_MODULE mysite.settings

PythonAutoReload On

PythonDebug On

</Location>

Ruby on Rails

Ruby on Rails нь бүрэн гүйцэд хөгжүүлэлтийн стекийн боломжийг олгодог бөгөөд вэб хөгжүүлэгчдийг хүчирхэг програмыг хурдан шуурхай, илүү үр бүтээлтэй бичдэг байхаар оновчлогдсон, нээлттэй эхийн вэб тогтолцоо юм. Үүнийг портын системээс хялбараар суулгаж болно.

# yum install ruby

mod_perl

Apache/Perl нэгтгэх төсөл Perl програмчлалын хэл ба Apache HTTP Серверийн бүх хүч чадлыг нэгтгэсэн юм. mod_perl модулийн тусламжтай Apache модулиудыг тэр чигээр нь Perl дээр бичих боломжтой. Дээр нь, серверт суулгасан шургуу хөрвүүлэгч, гадны хөрвүүлэгч ашиглах илүү ажил болон Perl эхлүүлэх хугацааны алдагдлаас зайлсхийж чадсан юм.

mod_php

Бичсэн Том Рөүдс. Орчуулсан Лодойсамбын Баянзул.

PHP буюу “PHP:Hypertext Preprocessor” бол вэб хөгжүүлэлтэд тусгайлан тохируулсан, энгийн хэрэглээний скрипт хэл юм. HTML дотор суулгах боломжтой түүний синтакс C, Java™, ба Perl-с гаралтай. Энэ нь вэб хөгжүүлэгчдэд динамикаар үүсгэгдэх вэб хуудсыг хурдан бичих боломжтой болгох үүднээс тэгсэн хэрэг.

Хэрэв портыг анх удаа суулгаж байгаа бол, боломжит ТОХИРУУЛГУУД автоматаар дэлгэцэн дээр гарч ирнэ. Хэрэв цэс гарч ирэхгүй бол, өөрөөр хэлбэл портыг өмнө нь хэзээ нэгэн цагт суулгаж байсан бол, тохируулгуудын харилцах цонхыг гаргаж ирэхийн тулд дараах тушаалыг:

# make config

порт директор дотор өгөх хэрэгтэй.

Тохируулгуудын харилцах цонхонд, mod_php5Apache-н ачаалах боломжтой модуль байдлаар бүтээхийн тулд APACHE тохируулгыг идэвхжүүлнэ.

Note: Олон сайтууд PHP4-г янз бүрийн шалтгааны улмаас (өөрөөр хэлбэл, нийцтэй байдал эсвэл аль хэдийн үйлчилгээнд гаргачихсан вэб програмууд) ашигласаар байна. Хэрэв mod_php4mod_php5-н оронд ашиглах шаардлагатай бол, портыг ашиглаарай. порт нь портод байдаг тохиргооны болон бүтээх үеийн олон тохируулгуудыг дэмждэг.

Энэ хэсэг код динамик PHP програмыг дэмждэг болгоход шаардлагатай модулиудыг суулгаж тохируулах болно. Доорх мөрүүд /opt/apache2/httpd.conf файл дотор нэмэгдсэн эсэхийг шалгаарай:

LoadModule php5_module        libexec/apache/libphp5.so

AddModule mod_php5.c

<IfModule mod_php5.c>

DirectoryIndex index.php index.html

</IfModule>

<IfModule mod_php5.c>

AddType application/x-httpd-php .php

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

</IfModule>

Үүний дараа, PHP модулийг ачаалахын тулд, дараах тушаалыг өгч серверийг дахин ачаалах хэрэгтэй:

# apachectl graceful

Дараа, PHP-н хувилбарыг дээшлүүлэх үедээ, make config тушаалыг өгөх шаардлагагүй; идэвхжүүлсэн ТОХИРУУЛГУУД Centos Портуудын тогтолцоонд автоматаар хадгалагдсан байгаа.

Centos-н PHP дэмжлэг нь дээд зэргээр модульчлагдсан тул үндсэн суулгац нь маш хязгаарлагдмал байдаг. портыг ашиглан дэмжлэг нэмэх нь үнэхээр амархан асуудал. PHP өргөтгөлийг суулгах явцад, энэ порт танд цэсээс тогтсон интерфэйсийг санал болгоно. Өөрөөр, өргөтгөлүүдийг нэг нэгээр нь харгалзах портуудаас суулгаж болно.

Ямар нэг өргөтгөл суулгасны дараа, тохиргооны өөрчлөлтийг хүчин төгөлдөр болгохын тулд Apache серверийг дахин ачаалах шаардлагатайг анхаарна уу:

# apachectl graceful

Published by

mARKS

Quietly I will endure Silently I will suffer Patiently I will wait For I am a warrior And I will Survive

2 thoughts on “Apache /httpd/”

Leave a comment