Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  hosting
  mod_gzip
  mod_log_sql
  mod_geoip
  mod_bandwidth
  mod_accounting
  mod_bunzip2
  mod_mp3
  mod_shapvh
  mod_limitipconn
  mod_sqlinclude
  mod_auth_imap
  webalizer
  Apache + SSL
  auth_ldap
  Настройка AWStats
  apache 2.0
  mod_auth_external
  CMS - TYPO3
  phpBB-2/3
  mod_ntlm
  mod_ntlm2
  Nginx+php+fcgi
  OTRS на Apache1
  OTRS на Apache20
  ApacheStats
  mod_evasive
  Lighttpd
  nginx+php-fpm+mysql
  php + mssql
  MySQL + кодировки
  svn+apache+trac
  php5-oci8
  Lighttpd + Apache
  CMS Drupal 6.9
  Apache22+MySQL
  Оптимизация хоста для CMS
  блокировка spam на www
  PostgreSQL 8
  Apache 22 + PHP5 + suPHP
  lighttpd + mod_uploadprogress
  VirtualBox + phpVirtualBox
  DNS API
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> WWW —> apache 2.0

Apache2 + php5 + mod_fastcgi

Автор: lissyara.


    Пришла пора переходить на второй апач и пятый php (навеяно грядущим завершением поддержки php4 и будущим выходом php6). Пора ловить глюки на новой платформе :) Было решено заменить на своём сервере старую связку на более новую. Ввиду того, что все кричат более медленную работу php5 и apache2, да и крутится это будет не на FreeBSD 4.11, как в прошлый раз, а на FreeBSD 6.2, решил как-то всё это ускорить. Решение подсказали давно, тока опробовать не доходили руки. Дошли :)
   Однако, предложенное там решение с полпинка не завелось - а разбираться было лениво - выходной всё же, порылся в портах, и нашёл другой модуль, его и будем ставить. Поехали - рихтуем /etc/make.conf, добавляем туда такие опции:
# default PHP version
DEFAULT_PHP_VER=5
PORTSDIR?=      /usr/ports

# apache2
.if ${.CURDIR} == ${PORTSDIR}/www/apache20
# SSL - кому надо - включат - мне на этой машине не нужен
WITHOUT_SSL=            YES
# Включение поддержки suExec
WITH_SUEXEC=            YES
# Корневая директория suExec
SUEXEC_DOCROOT=         /
# Cубдиректория пользователя
SUEXEC_USERDIR=         www
# Файл лога suExec
SUEXEC_LOGFILE=         /var/log/httpd/suexec.log
.endif

   После чего ставим софт (подразумевается что установка чистая - иначе вначале снесите php4 и апачу 1.3) на машину. Апач:
host% make -C /usr/ports/www/apache20/ install clean

   PHP:
host% make -C /usr/ports/lang/php5/ install clean

   Лезет окошко, где выбираем такие опции - опять же - мне не нужна CLI версия, и я её не выбрал - вам может быть нужна:
+----------------------------------------------------------------+
|                    Options for php5 5.2.3                      | 
|                                                                |
|[ ] CLI        Build CLI version                                |
|[X] CGI        Build CGI version                                |
|[ ] APACHE     Build Apache module                              |
|[ ] DEBUG      Enable debug                                     |
|[X] SUHOSIN    Enable Suhosin protection system (not for jails) |
|[X] MULTIBYTE  Enable zend multibyte support                    |
|[ ] IPV6       Enable ipv6 support                              |
|[X] MAILHEAD   Enable mail header patch                         |
|[X] REDIRECT   Enable force-cgi-redirect support (CGI only)     |
|[X] DISCARD    Enable discard-path support (CGI only)           |
|[X] FASTCGI    Enable fastcgi support (CGI only)                |
|[X] PATHINFO   Enable path-info-check support (CGI only)        |
|                                                                |
|                                                                |
|                   [  OK  ]       Cancel                        |
+----------------------------------------------------------------+

   Также ставим сам модуль mod_fastcgi:
host% make -C /usr/ports/www/mod_fastcgi install clean

   Проверяем PHP:
host% echo '<?php echo "test string \n"; ?>' | php-cgi
X-Powered-By: PHP/5.2.3
Content-type: text/html

test string
host% 

   Работает. Раскомментируем строчку установленного модуля в конфиге апача:
host% grep " fastcgi_module " /usr/local/etc/apache2/httpd.conf
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so

   После чего в конец конфига апача дописываем такое:
# added by lissyara 2007-07-19 in 23:36

# конфиг модуля
<IfModule mod_fastcgi.c>
        # конфиг модуля.
        # полный список опций - доступен по следующему адресу
        # http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
        # тут приведены лишь те, которые я заюзал
        # -singleThreshold - Целое число, мжду 0 и 100, используеммое
        # для определения, может ли быть завершён последний экземпляр
        # приложения FastCGI. Если менеджер процессов, вычисляет, что
        # фактор загрузки для приложения меньше заданного порога, то
        # последний экземпляр завершается. Для работы приложения в
        # режиме "idle" долгого времени, вы должны задать значение
        # ближе к 1, однако, если более приоритетна память, или время
        # CPU, более применимо значение 100. Значение 0 предотвращает
        # завершение последнего экземпляра приложения; это - значение
        # по умолчанию, и менять его не рекомендуется (особенно, если
        # установлена -appConnTimeout)
        # -minProcesses - минимальное общее число динамических приложений
        # FastCGI, разрешённых к работе в любое время, без убивания
        # менеджером процессов.
        # -restart - заставляет менеджер процессов повторно запускать
        # приложения в случае сбоя (подобно статическим приложениям)
        # -idle-timeout - число секунд бездействия приложения FastCGI,
        # до прерывания запроса и логгирования события. Таймер бездейстаия
        # применяется лишь к долго висящим соединениям приложений FastCGI.
        # Если запрос будет находиться в очереди к приложению, но
        # приложение не отвечает (путём записи и сброса) в течение этого
        # периода, то запрос будет прерван. Если связь с приложением
        # успешно завершается, но не завершается с клиентом, (ответ -
        # buffered), таймаут не применяется.
        # -killInterval - Определяет, как часто менеджером процессов
        # применяется политика завершения динамических экземпляров
        # приложения. Меньшее число приводит к более агессивной политике,
        # большее - к менее агрессивной.
        # -autoUpdate - вызывает проверку модулем mod_fastcgi проверку
        # времени модификации приложения на диске до обработки каждого
        # запроса. Если приложение на диске изменилось, уведомляется
        # менеджер процессов и все работающие экземпляры программы
        # уничтожаются. Вообще, предпочтительно, чтобы этот тип
        # функциональности был встроен в приложение (например, каждый
        # 100-й запрос проверяет, есть ли новая версия на диске, и выходит
        # если это так). Могут быть ошибки, если эта опция применяется с
        # опцией -restart
        # -pass-header - имя заголовка запроса HTTP для передачи среде
        # request. Эта опция делает доступным содержимое заголовков,
        # которые обычно недоступны (например, Authorization) в окружении GCI.
        FastCgiConfig   -singleThreshold 30 -minProcesses 2 -restart    \
                        -idle-timeout 400 -killInterval 200 -autoUpdate \
                        -pass-header HTTP_AUTHORIZATION
        # используетс ядля включения враппера
        FastCgiWrapper /usr/local/sbin/suexec
        # директория где хранятся сокеты
        FastCgiIpcDir /var/run/fastcgi
        # предпринимаемые для такого типа файлов действия
        Action application/x-httpd-fastphp /php-fcgi/php.sh
        Action application/x-httpd-php /php-fcgi/php.sh
        # добавляем типы файлов - у меня нету типа .php4 .php5 и т.д.
        # если у вас есть - добавльте через пробелы в этой строке
        AddType application/x-httpd-fastphp     .php
        # Обработка файлов апачем
        <Location /php-fcgi/>
                Options ExecCGI FollowSymLinks
                SetHandler fastcgi-script
        </Location>
</IfModule>

# директория с данными
<Directory      "/usr/home/*/www/data">
        Options         Indexes FollowSymLinks MultiViews
        AllowOverride   All
        Order           deny,allow
        Allow from      all
</Directory>
# директория скриптов пользователя
<Directory "/usr/home/*/www/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
</Directory>

# какие файлы считать индексными в директориях
# (выше, в конфиге есть такая же директива - я её закомментил)
DirectoryIndex index.php index.html index.htm

# включаем виртуалхосты основанные на именах
NameVirtualHost *:80

# первый виртуальный хост. Он будет показываться вместо всех
# несконфигирирвоанных виртуалхостов, при обращении к этому серверу
<VirtualHost *:80>
        ServerAdmin     admin@my-domain.ru
#       AliasMatch      ^/~([^/]+)(/.*)*        /usr/home/$1/data$2
        DocumentRoot    /usr/home/my-domain/www/data
        ServerName      host.my-domain.su
        SuexecUserGroup my-domain   my-domain
        Alias           /php-fcgi/      /usr/home/my-domain/www/cgi-bin/
        CustomLog       /var/log/httpd/httpd-access.log       combined
        ErrorLog        /var/log/httpd/httpd-error.log
</VirtualHost>

# остальные сайты. Мне удобней, когда конфиги лежат в одном месте:
Include /usr/local/etc/apache2/configs/*.conf

   Эти конфиги повторяют конфиг первого виртуалхоста, который приведён в предыдущем листинге. Где-то в процесе установки, не забываем создать юзера, от которого будет работать дефолтовый виртуалхост. У меня он называется 'my-domain'. Также, для каждого виртуалхоста пишем скрипт такого виду:
host% more /usr/home/my-domain/www/cgi-bin/php.sh
#!/bin/sh

PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
#PHP_FCGI_MAX_REQUESTS=5000
#export PHP_FCGI_MAX_REQUESTS

exec /usr/local/bin/php-cgi

   Делаем соответствующего пользователя его владельцем, и делаем его исполняемым:
host% chown my-domain:my-domain /usr/home/my-domain/www/cgi-bin/php.sh
host% chmod 555 /usr/home/my-domain/www/cgi-bin/php.sh
host%

   Добавлям строчки в rc.conf:
# apache 2
apache2_enable="YES"

   Также, нужно в группу пользователя добавить пользователя www:
host% pw groupmod my-domain -m www

   Остаются ограничения, описанные в прошлой статье - 16 групп, и, соответтсвенно максимум 15 пользователей. Лечится также - в исходниках ядра правим такую строку:
host% grep NGROUPS_MAX /usr/src/sys/sys/syslimits.h

   Соответсвенно сюда вписываем нужное число, и пересобираем ядро. (Обещщают с семёрки сделать чтобы менялось штатными средствами, но пока не сделали...) Как вариант - возможно включение ACL на разделе - но это замедлит рбоату с ФС (не пробовал, но по идее должно замедлять :)). Ну и всё. Можно создавать директорию для конфигов отсутствующих пока хостов, и запускать:
host% mkdir /usr/local/etc/apache2/configs
host% /usr/local/etc/rc.d/apache2.sh start
Starting apache2.
host% ps -aux | grep http
root    54653  0,0  1,1  4572  2872  ??  Ss  20:09   0:00,02 /usr/local/sbin/httpd
www     54654  0,0  1,1  4512  2828  ??  S   20:09   0:00,00 /usr/local/sbin/httpd
www     54655  0,0  1,2  4580  2904  ??  S   20:09   0:00,00 /usr/local/sbin/httpd
www     54656  0,0  1,2  4580  2904  ??  S   20:09   0:00,00 /usr/local/sbin/httpd
www     54657  0,0  1,2  4580  2904  ??  S   20:09   0:00,00 /usr/local/sbin/httpd
www     54658  0,0  1,2  4580  2904  ??  S   20:09   0:00,00 /usr/local/sbin/httpd
www     54659  0,0  1,2  4580  2904  ??  S   20:09   0:00,00 /usr/local/sbin/httpd
root    54661  0,0  0,2  1520   560  p1  R+  20:09   0:00,00 grep http
host% ps -aux | grep php-cgi
my-domain 54663  5,1  4,1 17584 10440  ??  S   20:09   0:00,21 /usr/local/bin/php-cgi
my-domain 54662  1,6  2,6 14268  6676  ??  Ss  20:09   0:00,09 /usr/local/bin/php-cgi
my-domain 54664  0,0  2,7 14268  6688  ??  S   20:09   0:00,00 /usr/local/bin/php-cgi
my-domain 54665  0,0  2,7 14268  6688  ??  S   20:09   0:00,00 /usr/local/bin/php-cgi
my-domain 54666  0,0  2,7 14268  6688  ??  S   20:09   0:00,00 /usr/local/bin/php-cgi
root    54669  0,0  0,3  1604   880  p1  S+  20:09   0:00,00 grep php-cgi
host% sockstat | grep /var/run/fastcg
my-domain php-cgi   54666 0  stream /var/run/fastcgi/dynamic/01922bbd806480551bf38bec
my-domain php-cgi   54665 0  stream /var/run/fastcgi/dynamic/01922bbd806480551bf38bec
my-domain php-cgi   54664 0  stream /var/run/fastcgi/dynamic/01922bbd806480551bf38bec
my-domain php-cgi   54663 0  stream /var/run/fastcgi/dynamic/01922bbd806480551bf38bec
my-domain php-cgi   54662 0  stream /var/run/fastcgi/dynamic/01922bbd806480551bf38bec
www     httpd     54654 12 stream /var/run/fastcgi/dynamic/01922bbd806480551bf38bec
host%

   Такой листинг вы увидите лишь если будет хоть одно обращение. Иначе - тока работающий апач. В случае любых проблем - уровень логов в конфиге - дебаг, и смотрим логи.

P.S. По итогам пары дней тестирования: Прилично быстрей чем в режиме чистого cgi.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=7928.

размещено: 2007-07-23,
последнее обновление: 2007-08-20,
автор: lissyara

оценить статью:

creativ, 2007-07-23 в 17:52:17

А почему не Apache 2.2?

lissyara, 2007-07-23 в 17:57:51

Я до позавчера жил на 1.3 и не чуствовал себя ущербным.
Зачем мне 2.2?

wizard, 2007-07-23 в 18:50:01

Сам видишь насколько удобнее юзать fast_cgi :))) а на форуме вначале обос***л меня :(

lissyara, 2007-07-23 в 19:28:30

это была конструктивная критика :))

wizard, 2007-07-23 в 22:22:10

кстати вот в связке fast-cgi ещё прикольно вот это юзать http://php-fpm.anight.org/

maserg, 2007-07-30 в 19:16:29

а где можно посмотреть сравнение скорости работы php как модуля и через fast-cgi

абырвалг, 2007-07-31 в 21:19:56

опечатка:
но это замедлит рбоату с ФС

paix, 2007-08-09 в 11:03:40

интересная статья...
Но господа, а что вы будете делать если юзеры пропишут например  PHPRC="vuln_php.ini" во враппере fastcgi?
Опять же если сайты все ваши то на нет и суда нет ;)

paix, 2007-08-09 в 11:05:44

моя статья об этом же только с ручной сборокой и заточкой под директадмин, может кому будет интересно...
http://directadmin.com/forum/showthread.php?t=16399

lissyara, 2007-08-09 в 11:06:08

вначале есть ссылка на прошлую статью. Там этот вариант описан.
Вкратце - man chflags

SniZ, 2007-08-19 в 17:24:09

господа, а зачем юзать fast-cgi?
просто не могу понять...

lissyara, 2007-08-19 в 21:24:10

быстрей чем чистый cgi

Denya, 2007-09-15 в 16:20:45

FastCGI очень рулит.
FastCGI намного шустрее и ЭКОНОМИЧНЕЕ! Сотня php-cgi процессов в памяти кушает что-то там меньше 200мб, кажется. httpd процессы без mod_php весят заметно меньше, и их тоже может быть много :) Короче, однозначно плюс.
php-fpm — штука хорошая, но сыроватая. Но по заявленым фичам — очень порадовало :) Я когда его ставил, она у меня не завелась, пришлось откатиться. Но проблема не в нем была, а в зацикливании одного скрипта :-( Еще раз экспериментировать лень.

2lissyara, может я и ошибаюсь, но все же. Апач должен заупскать не более 1 php-cgi процесса. Все потому, что php сам управляет созданием child-процессов. А если у вас apache запустит 2 процесс-менеджера php, то все это будет работать не так, как должно. Например, кеширование байткода...
Хотя по скриншоту ps -aux'а все нормально вроде :-)
Пару раз встречал про это упоминание в статьях. Например, в неплохой статье на хабре:
http://www.habrahabr.ru/blog/webdev/19129.html

Соответственно, конфиг-строчка у меня такая:
FastCgiConfig -maxClassProcesses 1 -maxProcesses 250 -idle-timeout 100 -pass-header HTTP_AUTHORIZATION

Во sh-враппер, запускающий сам php, я еще прописываю:
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS

Это на тот случай, чтобы процессы не жирнели и периодически убивались.

2paix Папку, где хранится шелл-скрипт (а в перспективе — и отдельный php.ini) можно вполне смело вынести из DocRoot'а и вообще убрать из зоны выдимости FTP-аккаунтов. Т.е. вместо /cgi-bin/, доступного юзеру, можно узнести куда-нибудь в /home/fcgi/. И никакой юзер не сможет ничего поменять.
У нас такая проблема стояла и мы вот так вот ее успешно решили.

banec, 2007-09-21 в 12:19:09

Для тех кто наткнулся на то что ни чего не работает!
нужно до установить из портов php5-extensions !

paix, 2007-09-24 в 16:14:19

Вопросик по производительности FastCGI
http://forum.lissyara.su/viewtopic.php?f=8&t=5052

abigor, 2007-11-29 в 9:31:08

Странно, но на
[root@dedic abigor]# uname -rs
FreeBSD 7.0-BETA3
[root@dedic abigor]#

при сборке apache22 он гадость отказался брать настройки из /etc/make.conf
пришлось принудительно ему говорить:
make SUEXEC_DOCROOT=/var/web SUEXEC_USERDIR=public_html SUEXEC_LOGFILE=/var/log/httpd/httpd-suexec.log install clean
После этого все заработало на ура.

Дмитрий., 2007-12-06 в 13:47:47

Автору респект - отличная статья. Неплохо бы еще, конечно, для каждого виртуального хоста в папке cgi-bin сделать chflags schg,uunlnk php.sh

MDV, 2008-07-10 в 8:05:52

SetHandler fastcgi-script
вижу
А AddHandler где?

Гога Салеля, 2008-08-15 в 9:58:17

Спасибо !!!

Pez!, 2008-10-19 в 0:02:52

Огромное спасибо автору - после того как я ВНИМАТЕЛЬНО все прочитал оно наконец-то заработало как надо )))

pro2on, 2008-10-25 в 23:21:20

Нужно не забыть еще и каталог создать:
#cd /var/log
# mkdir httpd

а так - большое спасибо. учусь вообще по этому сайту.

Pez!, 2008-10-26 в 6:57:41

хм, странно, у меня само создало этот каталог и в нем появился лог suexec

m4rkell, 2009-03-02 в 20:54:25

Задолбался рыть, как модключить расширения  php5_extensions?  Уже переустанавливал их, не помогает! подскажите плиз!!!

dfsdsf, 2009-03-25 в 9:59:36

sdfsdfdsf

Key, 2009-04-11 в 20:06:42

Как насчет такого решения:
cat ../apache22-peruser-mpm/pkg-descr
Peruser is an Apache 2 modules based on metuxmpm. The fundamental
concept behind them is to run each apache child process as its own
user and group, each handling its own set of virtual hosts. Peruser
and recent metuxmpm releases can also chroot() apache processes.
The result is a sane and secure web server environment for your
users, without kludges like PHP's safe_mode.

desruptor, 2009-12-17 в 18:36:52

кто делал по этой статье, покажите плз свой httpd -l

у меня подозрение что Suexec не вкомпилился, потому как на apachectl -t выводится вот такое

Invalid command \'SuexecUserGroup\', perhaps mis-spelled or defined by a module not included in the server configuration

udaff, 2009-12-20 в 8:26:33

httpd -l
Compiled in modules:
 core.c
 prefork.c
 http_core.c
 mod_so.c

udaff, 2009-12-20 в 8:30:42

Работает нормально, но в лог httpd-error.log постоянно сыплется:
[Sun Dec 20 07:20:03 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (uid 1002, gid 1002) restarted (pid 18253)
[Sun Dec 20 07:20:19 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (pid 18253) termination signaled
[Sun Dec 20 07:20:19 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (pid 18253) terminated by calling exit with status

Нормально это или нет? Как победить, что бы было нормально.

udaff, 2009-12-20 в 8:33:31

так точнее:
[Sun Dec 20 07:20:19 2009] [warn] FastCGI: (dynamic) server "/home/hosting/sites/tor.ххх.ua/cgi-bin/php.sh" (pid 18253) terminated by calling exit with status '0'

Артём, 2010-09-27 в 0:56:31

В новом PHP 5.3 нету пункта
[X] FASTCGI    Enable fastcgi support (CGI only)
каков выход?

sergio, 2010-12-08 в 14:39:47

 uid: (my-domain/my-domain) gid: (1001/my-domain) cmd: php.sh

lumen, 2011-01-14 в 10:50:40

Если php работает как php-cgi, то для обработки .htaccess необходимо использовать pecl-htscanner
(ставим из портов) и установить патч для него, он исправляет работу со сторокавыми типа данных
используемых в php_value и в php_flag
Патч
http://blog.hbis.fr/wp-content/uploads/2009/04/patch-htscanner-parser-20090401.gz

Пример настройки htscanner:
Добавляем в php.ini
[htscanner]
htscanner.extension_dir = "/usr/local/lib/php/20090626-zts/"
htscanner.extension = "htscanner.so"
htscanner.config_file = ".htaccess"
htscanner.default_docroot = "/"
htscanner.default_ttl = 300
htscanner.stop_on_error = 0


добавляем в .htaccess (указывайте те параметры которые вам нужны)
<IfModule mod_php5.c>
 php_value allow_call_time_pass_reference 1
 php_value session.use_trans_sid 0
 php_value display_errors 1
#  php_value mbstring.func_overload 1
 php_value mbstring.internal_encoding UTF8
</IfModule>

[i]

yava88, 2012-06-15 в 19:40:56

|[ ] APACHE     Build Apache Module     |

А разве этот модуль не потребуется? Как без него то..

lumen, 2012-06-16 в 20:29:05

А зачем, тут же php-cgi

Bella, 2016-05-19 в 13:05:29

What part of  do you come from? <a href=" http://nicktuckerphotography.com/shoot-everything-friday-photo/#visiting ">bay cialis for sale espanol daily 5 mg</a>  &ldquo;It would mean everything, man,&rdquo; said Heat forward LeBron James. &ldquo;First of all, it means that I&rsquo;m doing my part and I&rsquo;m helping our team get better. It would mean everything to our team. That&rsquo;s what we&rsquo;re here for. We work our tails off every day. If it can pay off with another Finals appearance, we&rsquo;d represent the Eastern Conference the best way we can.&rdquo;

Rodney, 2016-06-06 в 20:38:47

Can you put it on the scales, please? <a href=" http://www.mygetmore.com/cheap-metronidazole-online.pdf ">flagyl buy online australia</a>  UPI licenses content directly to print outlets, online media and institutions of all types. In addition, UPI's distribution partners provide our content to thousands of businesses, policy groups and academic institutions worldwide. Our audience consists of millions of decision-makers who depend on UPI's insightful and analytical stories to make better business or policy decisions.
<a href=" http://travel-semantics.com/penegra-100-kaufen.pdf ">penegra for erectile dysfunction</a>  They showed -as well - a starker link between people's performance and their backgrounds in England and Northern Ireland. Adults who had at least one parent involved in a university-level education scored 26.7 points higher in literacy than those with parents who did not pursue such qualifications.  This compared to an international average of 18 points difference between the two groups.  In numeracy, the figures were even more stark - a 31.1 point difference in the UK compared with 19.5 internationally.

Elvis, 2016-07-02 в 11:26:58

How much notice do you have to give? <a href=" http://levitra.blue/#exceed ">buy levitra usa</a>  Country cutie Carrie Underwood's is off the market — and has the rock to prove it! The 26-year-old singer showed off the ring fiance Ottawa Senators hockey player Mike Fischer gave her while cheering him on at a hockey game on Dec. 21. The five-plus carat diamond ring is worth almost $150,000, reported People.com.

Reuben, 2016-08-31 в 23:24:12

An estate agents <a href=" http://bigskybikes.com/when-is-viagra-going-generic-in-canada.pdf#craftsman ">buy cialis viagra canada</a>  It was the first time in NHL history that a team scored its first goal  of the season on a penalty shot, according to the Elias Sports Bureau.  The Lightning went 0 for 5 on the power play, failing to score on a pair  of 5-on-3 advantages, while allowing the two short-handed goals.
<a href=" http://www.stpatricks5k.com/viafem-canada.pdf#wallpaper ">viafem canada
</a>  "I'm not convinced that concerns about the Fed have beenfully priced in, but we are seeing a bit of a bounce-back today,and the bulls remain firmly in control of the market for now,"said Uri Landesman, president of Platinum Partners in New York.


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 21 чел.
За последние 30 мин было: 68 человек
За сегодня было
278 показов,
90 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0784 секунд
Из них PHP: 46%; SQL: 54%; Число SQL-запросов: 77 шт.
Исходный размер: 166026; Сжатая: 31660