AKB Forums

Go Back   AKB Forums > Technical sections > Operating Systems > Unix
Home Register Blogs FAQ Members List Calendar Downloads Arcade Mark Forums Read

Unix Linux Is Like A Wigwam - No Windows, No Gates And An Apache Inside...

Troubles when posting message? Click here! :: Проблемы с отправлением сообщения? Нажмите сюда!

Reply
 
LinkBack Thread Tools Display Modes
Old Oct 2, 2002, 04:55   #1
Консервативный Демагог
 
VX's Avatar
 
Join Date: Jan 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 7
Reputation: 10
Post Article: Apache Web Server

Apache Web Server
Установка, настройка и администрирование.
Автор: Vahram Igityan <vx@web.am>

about:
Apache это веб сервер оргинально созданный для UNIX систем,имеющий свой API,
со встроеным механизмом защиты и авторизации, который подходит как для "домащных" сететй
так и для сайтов типа yahoo (сайт http://www.yahoo.com являеться самым посешяемым в Мире).

Краткая история:
После прекрщения существования проекта NCSA HTTPd (автором которого был
Rob McCool) многие программисты начали писать заплаты для этого севера в
целях устранения ошибок добавления новых функций, программисты постоянни
обменивалиць етими заплатами ни ети все дейцтвия были
неуправляемимы.Brian Behlendorf создал общедоступний репозиторий всеь
этих заплат так радился проект Apache (что означает A Patchy
- заплатаный).
По статистике компании NetCraft, Apache в настоящее
время является самым распространеным сервером в интернет.

На сегоднешный день употребляються две ветки Апапча:
</font><ul type="square"><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> 1.3.x Старая ветка которая являеться стабильной (автор советует скачать версию не ранее 1.3.26)
и использует стандарный вариант создания процесса в системах UNIX (fork)
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> 2.0.x Новая ветка, в которой усовершенстован Apache API(Для naписания модулей), и которая работает
методом UNIX Threads.
</font></li></ul><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Так как ветка 2.0.х еще на експеремтальном уровне и не советуеться использоваться как production server
то мы рассмотрим ветку 1.3.х

Установка:
Итак качаем Apache 1.3.26 с http://httpd.apache.org/ если нужен язык скриптинга PHP также качаем PHP s http://www.php.net/download.

Распаковываем : tar -xvzf apache_1.3.26.tar.gz
Переходим в директорию: cd apache_1.3.26

Есть 2 способа конфигурации апача, т.как этa статья назначена новичкам, я не буду описовать.
сложный метод.

Если мы не будем использовать PHP то набираем ./configure и Апаче начнет
готовить себя для установке в директорию /usr/local, (если вы хотите
другыю укавите ее с помощю --prefix=/my/path как ключь к configure).
Если вы устовавливаете сервер под виндовс то автор советует скачать
бинарнк апача под винндовс
с http://httd.apache.org/httpd/binaries/win32/)

Для активации PHP
Качаем PHP
Распаковываем: tar -xvzf php-4.x.x.tar.gz
Конфигурем: ./configure --with-apache=/path/to/apache_1.3.26

Переьодим в директорию апача:
./configure --activate-module=src/modules/php4/libphp4.a
ВНИНАНИЕ: директории /modules/php4/ да и файла libphp4.a не существют, они создаються при компиляции.

Если все прошло без ошибок набираем:
make
make install
(последную команду надо набирать от имени root-a)

После этого в директории /usr/local/apache/sbin/ (/usr/local замените на ваш prefix)
должен появиться файл httpd поздравлаю это и есть веб сервер!

Сервер управляеться при помощи команд: /usr/local/apace/bin/apachectl start|stop|restart)
В случае с rpm: /etc/init.d/httpd start|stop|restart


Конфигурация:
В каталоге /usr/local/apache/etc/ расположен файл httpd.conf , в случаи
если это RadHat или Mandrake Linux и Apache устоновлен с rpm то файл
конфигурации расположен в /etc/httpd/conf. В виндовс он расположен в
"c:/program files/apache group/apache/conf/httpd.conf" (Пути написанны
так специально т.к. апача там их так и понимает)
После каждого изменения в файле httpd.conf сервер надо перегружать.


Откройте httpd.conf в своем любимом редакторе (vim, pico, emacs, notepad).
Все строки со знаком # в начале это комментарии которые как и пустые строки игнорируються.
Директивы определены след. образом:
directive option1 option2...
однострочные

Code:
	<MultyLineDirective something>
	directive option1 option2..
	directive option1 option2..
	</MultyLineDirective>

Многострочные.


Директивы:
</font><ul type="square"><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">ServerType standalone которая может иметь значения inetd и snadalone.
inetd давно устарел, ставить его не имеет смысла вообще.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">ServerRoot /usr/local/apache обсолютный путь к катологу сервера.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Port 80 Порт на котором будет слушать сервер
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">User nobody
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Group nobody Имя пользователя от которого будет работать сервер (UNIX only)
ВНИМАНИЕ: Никогда не устонавливайте user на root это ПОТЕНЦИАЛЬНАЯ БРЕШ В БЕЗОПАСТНОСТИ.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">ServerAdmin vx@freenet.am E-mail администратора сервера, который отображается н екране в случае.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> ServerName http://www.wizard.am Имя сервера, не путайте его с настройками DNS, если DNS http://www.wizard.am
не указывает на ваш сервер то он не будет отвечать на етот адрес.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">DocumentRoot /path/to/html/files Директория которую апаче будет обслужовать.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Alias /mydir/ /path/ouside/docroot/ Псвдоним для католога вне DocumentRoot
к которому можно обращяться по адресу http://www.myserver.am/mydir/
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">ScriptAlias /cgi-bin/ /path/to/cgi-bin/ Псевдоним для директории со скриптами
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">UserDir public_html имя котолога в домашнем каталоге пользователей в конкретной системе
в котором находятся обшедоступные фаылы, к которым можно обращяться по адресу http://www.mydomain.am/~username
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">DirectoryIndex index.htm index.html index.php файл который будет выдоваться сервером при
обращении к катологу например (при обращении к http://acid.land.am/ выдаеться http://acid.land.am/index.html )
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> AccessLog /path/to/access.log Путь к файлу журнала, в который пишутся запоросы
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> ErrorLog /path/to/error.log Путь к файлу журнала, в который пишутся неудачно оконченые запоросы
</font></li></ul><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Ограничение к доступу:
Ограничение к доступу осушествляется при помощи директивы Directory

Code:
	<Directory /www/html>
	Options None
	AllowOverride None
	
	Allow from All
	Deny from evil.machine
	</Directory>

(Все вышеуказаные настройки распространяются также на подкотологи.

Options:
</font><ul type="square"><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Indexes Если в катологе не обнарувено файлов из DirectoryIndex то будет выдан листинг
католога в HTML формате.
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Includes в этом катологе разрешено использовать Server Side Includes
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">FollowSynLinks если затребован файл которы
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">ExecCGI Запускать файлы как cgi скрипты в этой директории если на них стоит handler cgi-script
</font></li></ul><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">P.S. Если на каком нибудь каталоге установлен один из опций и на его подкатологе снять и/или уснатовить новую
опцию, то можно указать +- Option (например +Indexs)
AllowOverride:
.htaccess:
Чтоб каждый раз не редактировать httpd.conf то можно разрешить пользователям устанавливать опции самим
(например Аутентификацию, или -Indexes)

</font><ul type="square"><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Options Дополнительные опции
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">AuthConfig Дерективы доступа (об этом поговориться в разделе трюки данного руководства)
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Limit .htaccess может содержать директивы allow, deny, order
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">FileInfo разрешение измения информации о типе документа (AddType)
</font></li></ul><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Виртуальные Хосты:
Виртуальные Хосты бывают двух видов
</font><ul type="square"><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> На основе имен (например узел имеет один ip адрес и обслуживает несколько хостов)
</font></li><li><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica"> На основе ip аддрессов (т.е. каждый ip отвечает за конкретный хост)
</font></li></ul><font size="2" face="MS Sans Serif, , sans-serif, Verdana, Helvetica">Помню у меня как-то был сервер на котором былы как Name Based так и IP Based виртуаьные хосты.

Внинамие: Если на сервере стоит хотябы один виртуальный хост, то глобальный DocumentRoot теряет
свой смысл. При поытке обращения к северу на которм установленно неколько хостов путем написания
IP адреса выдаеться хост который был сконфигурирован первым.

Пример хостов на основе имен:
Code:
	<VirtualHost 1.2.3.4>
		ServerName www.domain.am
		ServerAdmin admin@domain.am
		ServerAlias domain.am
		DocumentRoot /www/virtual/domain.am/html
		ScriptAlias /cgi-bin/ /www/virtual/domain.am/cgi-bin/
		AccessLog /www/virtual/domain_am_access_log
		ErrorLog  /www/virtual/domain_am_error_log

		<Directory /www/virtual/domain.am/>
			Options None
			AllowOverride None
			Order allow,deny
			Allow from All
			Deny from None
		</Directory>
	</VirtualHost>
ServerAlias Указывает на имя-псевдоним например домаин http://www.domain.am можно также вызывать как domain.am
И другой тоже Хост который предназначен только для внутренегго использования
Code:
	<VirtualHost 1.2.3.4>
		ServerName internal.domain.am
		ServerAdmin admin@domain.am
		DocumentRoot /www/virtual/internal.domain.am/html
		ScriptAlias /cgi-bin/ /www/virtual/internal.domain.am/cgi-bin/
		AccessLog /www/virtual/internal_access_log
		ErrorLog  /www/virtual/internal_error_log

		<Directory /www/virtual/internal.domain.am/>
			Options None
			AllowOverride None
			Order allow,deny

			Allow from 192.168.0.0/255.255.255.0
			Deny from All
			
		</Directory>
	</VirtualHost>
Здесь также показан пример как отгородить конкретный домайн от Интернета
(предпологаеться что 192.168. это ваша локальная подсетка

Тоже самое делаться при IP-Based витуал хостах, просто вместо ip адреса прописоваться другой

Трюки:
1.Предположым вам надо запоролить конкретную директорию
Code:
	<Directory /www/secret>
	AuthType Basic
	AuthName &quot;my secret place&quot;
	AuthUserFile /www/passwords
	require valid-user
	</Directory>
Теперь в командной строке набираеться htpasswd -c /www/passwords username и пользователю ставится пароль.

2. У вас на сервере находятся файлы .ankap которые на самом деле содержат html код,
прописываем
AddType text/html .ankap


Сопрововждение:

Чтоб просмотреть статитику домайна я предлагау использовать программы webalizer(http://mrunix.net/webalizer)
Чтоб пролистать и "выловить из лога конкретную строку используйте след. команду:
grep "1.2.3.4" /path/to/access/log
Чтоб посмотреть последние 100 строчек:
tail -n100 /path/to/access/log
Чтоб мониторить лог в режиме реального времени:
[b] tail -f /path/to/access/log [b], по окончаниу просмотра нажмите Ctl+C



На этом я временно заканчиваю, буду рад услышать вашы вопросы, комментария,
поправления в орфографии, я собираюсь продолжить эту статью про другие боле
advanced директивы, написать про модули апача, про его API, примеры конфигурации,
администрирования Webalizer-а и других подобных программ.

© Vahram Igityan
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
VX is offline   Reply With Quote Quote selected
Old Oct 2, 2002, 14:37   #2
»
 
z0mbie's Avatar
 
Join Date: Jan 2002
Posts: 776
Rep Power: 7
Reputation: 10
Send a message via ICQ to z0mbie
Post

!

a shas vopros:

ya nikak ne mogu normal'no nastroit' php(u menya Apache pod win)

Code:
     <Directory &quot;C:/www/php/&quot;>
        AllowOverride None
        Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>

AddType application/x-httpd-php .php
Action application/x-httpd-php &quot;c:/php/php.exe&quot;
posle etogo pri popыtke zapustit' php poluchayu oshibku:

[error] c:/www/php/z.php is not executable; ensure interpreted scripts have "#!" first line
[error] couldn't spawn child process: c:/www/php/z.php

esli dobavit' v php file
#!c:/php/php.exe vse rabotaet

chto nepravil'no ?
z0mbie is offline   Reply With Quote Quote selected
Old Oct 2, 2002, 16:52   #3
Школьник
 
Join Date: Apr 2002
Location: Vanadzor
Posts: 227
Rep Power: 7
Reputation: 10
Post

Quote:
esli dobavit' v php file
#!c:/php/php.exe vse rabotaet

chto nepravil'no ?
vsyo pravilno
du vorpes CGI es ashxatacnum PHP-n, dra hamar el pti php.exe-i path@ gres.bayc es xorhurd ktam tenc chanes.

porci senc.

httpd.conf-i mej prosto avelacru es togher@ u php-n kashxati. filerd el voch te cgi-bin gci , ayl prosto htdocs.

LoadModule php4_module modules/php4apache.dll
Action application/x-httpd-php "/php/php.exe"
AddType application/x-httpd-php .php
strax. is offline   Reply With Quote Quote selected
Old Oct 2, 2002, 22:55   #4
Консервативный Демагог
 
VX's Avatar
 
Join Date: Jan 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 7
Reputation: 10
Post

Z0mbie, sowetuu tebe zagruzit' module php v apache, variant straxa ne podxodit, nzado ukazatx direktoruu s filami php
1. nado ckopirowat' w papku c:\windows\ php4ts.dll
Code:
LoadModule php4_module c:/bin/php/sapi/php4apache.dll
AddType application/x-httpd-php .php .php3 .phtml
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
VX is offline   Reply With Quote Quote selected
Old Oct 3, 2002, 00:02   #5
»
 
z0mbie's Avatar
 
Join Date: Jan 2002
Posts: 776
Rep Power: 7
Reputation: 10
Send a message via ICQ to z0mbie
Post

vo pervыx netu u menya nikakix dll
vo vtorыx esli ya ne xochu ix ispol'zovat' chto bez stroki #!.. nikak ne oboytis' ??
ona mne ochen' sil'no meshaet, iz-za nee nevozmozhno ispol'zovat' Header() :[
z0mbie is offline   Reply With Quote Quote selected
Old Oct 3, 2002, 00:07   #6
Консервативный Демагог
 
VX's Avatar
 
Join Date: Jan 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 7
Reputation: 10
Post

http://www.php.net/get_download.php?....2.3-Win32.zip
budet tebe etot dll )
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
VX is offline   Reply With Quote Quote selected
Old Oct 3, 2002, 00:24   #7
Школьник
 
Join Date: Apr 2002
Location: Vanadzor
Posts: 227
Rep Power: 7
Reputation: 10
Post

Quote:
Originally posted by VX:
Z0mbie, sowetuu tebe zagruzit' module php v apache, variant straxa ne podxodit, nzado ukazatx direktoruu s filami php
1. nado ckopirowat' w papku c:\windows\ php4ts.dll
Code:
LoadModule php4_module c:/bin/php/sapi/php4apache.dll
AddType application/x-httpd-php .php .php3 .phtml
net dorogoi moi rabotaet i eshe kak

2zombie

vor module-ov(dll) anes, arden et problem@ ches unena. php code-t kgres prosto <? ?> tegeri mech.

udachi.

mek el chmoranas php.ini.dist file-@ copy anes c:\windows\php.ini
strax. is offline   Reply With Quote Quote selected
Old Oct 3, 2002, 00:34   #8
Консервативный Демагог
 
VX's Avatar
 
Join Date: Jan 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 7
Reputation: 10
Post

Soory for off-topic (prodojenniya razgowora po e-mailu)
Strax: Sporim na 100$?
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
VX is offline   Reply With Quote Quote selected
Old Nov 8, 2002, 07:20   #9
Младенец
 
Join Date: Nov 2002
Location: Wild Wild West
Posts: 17
Rep Power: 0
Reputation: 10
Post

Kstati po moemu rabotaet i v CGI variante tol'ko nujno pod windami nastroit accos tak chtob files s rashireniem php zapuskalis' pri pomoshi php.exe
komanda po moemu tak i naz@vaetsja assoc
--
Dark
---
Dark is offline   Reply With Quote Quote selected
Old Mar 21, 2003, 06:42   #10
Младенец
 
Join Date: Sep 2002
Location: Yerevan,Armenia
Posts: 10
Rep Power: 0
Reputation: 10
офигительний copy-paste, вернее copies and pastes !!
Karen Mkoyan is offline   Reply With Quote Quote selected
Old Apr 3, 2003, 12:35   #11
Консервативный Демагог
 
VX's Avatar
 
Join Date: Jan 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 7
Reputation: 10
Karen, eto ne copy /past.

Protso kogda megrirovali s bazy odnogo foruma s drugogo, polichilis' eti '<font face>'-i
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
VX is offline   Reply With Quote Quote selected
Old Apr 3, 2003, 12:52   #12
Младенец
 
Join Date: Sep 2002
Location: Yerevan,Armenia
Posts: 10
Rep Power: 0
Reputation: 10
я имел ввиду какраз не теги а текст
Karen Mkoyan is offline   Reply With Quote Quote selected
Old Apr 4, 2003, 14:50   #13
Консервативный Демагог
 
VX's Avatar
 
Join Date: Jan 2002
Location: Кавказская Албания
Posts: 889
Rep Power: 7
Reputation: 10
Карен, как вы думаете, если б ето был копи/паст? то было бы допусчено столько синтаксических и орфографических ошибок?
Или на это вы можете привести "довод" что это я "зделал так" чтоб потом оправдоваться?
Мне не зачем перед вами оправдоватся или что-то вам доказовать Г-н Мкоян, тем более в том что я не совершал.

И наконец если вы решите продолжать настаевать на своем, то попрошу высказовать мысль фактами, иначе я обращусь к модератору данной секции стереть ваши сообщения.

Чеерс Vahram Igityan
__________________
Праздник к нам приходит...

|^^^^^^^^^'''^\| ||\__
| ВОДКА-ВОДКА | ||','''|'''''''\_____,_
| _..... _ | ||_ _|'__|_____||.........| |
'(@)'(@)'(@)''''''''''''''''''''''*|(@)""""|(@)*
VX is offline   Reply With Quote Quote selected
Old Apr 21, 2003, 14:30   #14
Creator
 
Join Date: Jun 2002
Location: Sliema, Malta
Posts: 23
Rep Power: 0
Reputation: 10
Question

Господа!
Такой вопрос на тему о Apache!
Кто нибудь использовал Apache 2.0.x + mod_ssl (ну и, разумеется, другие модули) на FreeBSD или на какой нибудь другой системе?
Прошу ваши мнения.
__________________
Делаешь - не бойся, боишься - не делай!
Michellangelo is offline   Reply With Quote Quote selected
Old Apr 21, 2003, 17:53   #15
Administrator
 
acid's Avatar
 
Join Date: Sep 2001
Location: South Korea, Gumi
Posts: 7,189
Blog Entries: 15
Rep Power: 10
Reputation: 313
А в чем собственно проблема? Apache 2.0 еще не stable, хотя www.apache.org сидит на нем.
__________________
Chat with acid


acid is offline   Reply With Quote Quote selected
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 21:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
This board was founded on September 29, 2001
Powered by Viper Internet

Affordable Web Hosting | ParevNet

Buy text link