Search     or:     and:
 LINUX 
 Language 
 Kernel 
 Package 
 Book 
 Test 
 OS 
 Forum 
 iakovlev.org 
 Packages
 Make 
 Iptables 
 Nmap 
 Apache 
 LFS 
 TUX 
 cURL 
 libpcap 
 Parted 
 Httpd 
 File managers 
 FFMPEG 
 RTMP 
 SQL 
 Test 
 Git 
NEWS
Последние статьи :
  Тренажёр 16.01   
  Эльбрус 05.12   
  Алгоритмы 12.04   
  Rust 07.11   
  Go 25.12   
  EXT4 10.11   
  FS benchmark 15.09   
  Сетунь 23.07   
  Trees 25.06   
  Apache 03.02   
 
TOP 20
 Secure Programming for Li...6507 
 Linux Kernel 2.6...5279 
 Trees...1119 
 Максвелл 3...1051 
 William Gropp...990 
 Go Web ...963 
 Ethreal 3...930 
 Ethreal 4...917 
 Gary V.Vaughan-> Libtool...914 
 Ext4 FS...905 
 Rodriguez 6...900 
 Clickhouse...900 
 Ethreal 1...897 
 Steve Pate 1...886 
 C++ Patterns 3...864 
 Assembler...854 
 Ulrich Drepper...844 
 DevFS...788 
 MySQL & PosgreSQL...774 
 Стивенс 9...758 
 
  01.01.2024 : 3621733 посещений 

iakovlev.org

Apache

   (Fedora Core 3)
 
Как правило , апач и все , что к нему относится , лежит в пакетах , которые начинаются с префикса
 	httpd.
Для конфигурации апача можно запустить команду
 	chkconfig httpd on
Для вступления в силу изменений в конфиге , который лежит в /etc/init.d , нужно запустить
 	service httpd restart 
Обычно основным конфигурационным файлом является
 	/etc/httpd/conf/httpd.conf
Вебсайты можно конфигурировать в секции
 	VirtualHost
Для сайта необходимо определить servername и DocumentRoot-какталог . Апач по умолчанию будет искать в таком каталоге файл index.html. Также по умолчанию апач будет искать все сайты в каталоге /var/www/html/. Имеет смысл создать непривилегированного пользователя с рутовыми правами с домашней директорией /home/www и дать ему рекурсивные права на все подкаталоги :
 	useradd -g users www
 	chown -R www:users /home/www
 	chmod 755 /home/www
 	ll /home/www/site1/index.*
Если при просмотре веб-сайта вы получаете 403 Forbidden , значит где-то неверные пермишины на файлы. SE Linux , который встроен в Fedora Core 3 , имеет переключатель -Z для тестирования . Если вместо каталога по умолчанию - /var/www/html - мы помещаем наш сайт в каталог /home/www , необходимо изменить контент-type для этого каталога :
 	ls -Z
 Получаем ответ :
 -rw-r--r--  www      apache   system_u:object_r:user_home_t    index.html
 Теперь выполняем
 	chcon -t httpd_sys_content_t index.html
 	ls -Z index.html
 Получаем ответ :
 -rw-r--r--  www      apache   system_u:object_r:httpd_sys_content_t index.html
Каждому отдельному сайту можно привязать отдельный IP - это делается с помощью директивы
 	NameVirtualHost 97.158.253.26
 	< VirtualHost *>
 		Default Directives. (In other words, not site #1 or site #2)
 	< /VirtualHost>
 	< VirtualHost 97.158.253.26>
 		servername www.my-site.com
 		Directives for site #1
 	< /VirtualHost>
 	< VirtualHost 97.158.253.26>
 		servername www.another-site.com
 		Directives for site #2
 	< /VirtualHost>
Рассмотрим конфигурацию :

Domain

IP address

Directory

Type of Virtual Hosting

www.my-site.com

my-site.com

www.my-cool-site.com

97.158.253.26

Site2

Name Based

www.test-site.com

97.158.253.27

Site3

Name Based

(Wild card)

www.another-site.com

All other domains

97.158.253.27

Site1

Name Based

www.default-site.com

97.158.253.26

Site1

Name Based

  Скрипт для этой конфигурации :
 	ServerName localhost
 	NameVirtualHost 97.158.253.26
 	NameVirtualHost 97.158.253.27
 	#
 	# Match a webpage directory with each website
 	#
 	< VirtualHost *>
  		 DocumentRoot /home/www/site1
 	< /VirtualHost>
 	< VirtualHost 97.158.253.26>
 	         DocumentRoot /home/www/site2
 		 ServerName www.my-site.com
 		 ServerAlias my-site.com, www.my-cool-site.com
 	< /VirtualHost>
 	< VirtualHost 97.158.253.27>
 		 DocumentRoot /home/www/site3
 		 ServerName www.test-site.com
 	< /VirtualHost>
 	< VirtualHost 97.158.253.27>
 		 DocumentRoot /home/www/site4
 		 ServerName www.another-site.com
 	< /VirtualHost>
 	#
 	# Make sure the directories specified above
 	# have restricted access to read-only.
 	#
 	< Directory "/home/www/*">
 	         Order allow,deny
 	         Allow from all
 	 AllowOverride FileInfo AuthConfig Limit
 	 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
 	 < Limit GET POST OPTIONS>
          Order allow,deny
    	 Allow from all
 	 < /Limit>
 	 < LimitExcept GET POST OPTIONS>
 	      Order deny,allow
 	      Deny from all
 	 < /LimitExcept>
 	< /Directory>
 
Для того , чтобы запретить просмотр каталога путем вызова страницы по умолчания для данного каталога , нужно проставить опцию
 	Options -Indexes
При вызове несуществующей страницы можно обрабатывать ошибку путем перенаправления :
 	ErrorDocument 404 /missing.htm
Данный файл должен быть во всех подкаталогах .

Апач имеет возможность динамически сжимать содержимое статических веб-страниц и в таком виде отсылать контент клиенту. Для этого в конфиге необходимо прописать модуль deflate . После чего в /var/log/httpd/access_log можно проверить размер передаваемых страниц :

 	grep dns-static /var/log/httpd/access_log
Для защиты контента в апаче существует утилита htpasswd , которая генерит комбинацию пользователь-пароль,
 	htpasswd -c /etc/httpd/conf/.htpasswd peter
 	chmod 644 /etc/httpd/conf/.htpasswd
 В конфиге апача нужно прописать :
 	AuthUserFile /etc/httpd/conf/.htpasswd
 	AuthGroupFile /dev/null
 	AuthName EnterPassword
 	AuthType Basic
 	require user peter
 Права:
 	chmod 644 /home/www/.htaccess
 Конфиг апача :
 	< Directory /home/www/*>
 	AllowOverride AuthConfig
 	< /Directory>
 
 	< Directory /home/www/*>
 	    AllowOverride AuthConfig
 	< /Directory>
 
Таблица формата файла /var/log/httpd/access_log :

Field #

Description

Separator

1

IP Address of the remote web surfer

Spaces

2

Time Stamp

Square Brackets []

3

HTTP query including the web page served

Quotes ""

4

HTTP result code

Spaces

5

The amount of data in bytes sent to the remote web browser

Spaces

6

The web page that contained the link to the page served.

Quotes ""

7

The version of the web browser used to get the page

Quotes ""

Ошибки складируются в /var/log/httpd/error_log.
Оставьте свой комментарий !

Ваше имя:
Комментарий:
Оба поля являются обязательными

 Автор  Комментарий к данной статье
Тимуро
  Слишком мало инфы, людям нужно больше!
2007-11-22 13:00:40