Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Выпуск #25:


Информационный Канал Subscribe.Ru

LinuxBegin
Выпуск #25. (2.05.02). Подписчиков: ~ 8500.
Рассылка для тех, кто делает первые шаги в мир Open Source!
золотые рассылки Subscribe.ru
 Тема номера:
Apache + PHP.
Установка Apache и подключение к нему PHP.

 Ссылки:

Linuxdoc.ru.
Вся Linux-документация на русском языке! Три категории: Руководства, HOWTO и Mini HOWTO.
OdLUG / статьи.
Самой интересной мне показалась статья про ускорение работы винчестера.
Linux Journal.
Сам журнал выходит 1 раз в месяц + на сайте постоянно появляются новые статьи. English.


 Новые статьи:

Новичку о Linux.
X-Stranger отвечает на наиболее волнующие вопросы самых начинающих пользователей Linux.
Офис, открытый для всех.
Украинское издание ITC Online опубликовало обзор офисной системы OpenOffice.org. Достаточно интересно и информативно. (LRN)
Кластеры в Linux.
Все, что вы хотели узнать о создании домашних кластеров :).
Линус Торвальдс против Билла Гейтса.
Несмотря на громкое название, это - всего лишь небольшой обзор книги "Just for fun" :).
Win4Lin 4.0.
Подробный обзор установки и использования новейшей версии Win4Lin. Вкратце - работает намного шустрее, чем все конкурирующие системы, но поддерживает только win98 и ME. (Linuxnews)


  Интересный софт:

Mail Filter.
Программа для защиты от спама. Письма не скачиваются, а удаляются сразу же на сервере. "Very useful for dialup connections" :).
Sound Tracker.
Самый функциональный tracker для Linux.
Motion.
Программа, которая работает с устройствами video4linux, реагирует на движение и записывает их в mpeg формат. Очень полезна для построения систем видеонаблюдения, может засылать email или sms при срабатывании. (LRN)
Devil Linux.
Еще один минидистрибутив для быстрого построения надежного Firewall'а / Router'а. Загружается с CD, записывает информацию на дискету, не требует наличия жесткого диска, минимальные требования - 486, 32 RAM.


  Реклама:

У вас есть вопросы по Linux? Задайте их в нашем списке рассылки!

На сайте рассылки http://linuxbegin.by.ru вы найдете:

• Все предыдущие выпуски
• Часто задаваемые вопросы
• Статьи
• Ссылки
• Форум
• И многое другое!

Свежие новости и статьи: www.linuxrsp.ru.
Архив
Архив статей

И2Р:
Мир Linux
Windows XP
Железо
Сети

 Обзор новостей:
  Источники: LinuxRSP, LRN, Linuxnews, LOR, Opennet, I2R.

31.05.02: Mozilla 1.0 - неофициальный релиз.
31.05.02: RedHat опубликовал свое письмо, в котором ясно показывается, что RedHat не обеспокоен созданием UnitedLinux. Так же RedHat не собирается следовать стандартам в своих дистрибутивах.
29.05.02: Выложены ISO-образы дистрибутива ALT Linux Master 2.0. Шестой диск - без папки CommSoft. Ссылка #1, ссылка #2.
29.05.02: Новый проект под названием Agnula, цель которого - разработка приложений и создание дистрибутивов Linux, предназначенных для обработки Audio.
28.05.02: Caldera, SuSE, Turbolinux и Conectiva обьявили, что они собираются обьединиться для создания стандартной платформы "United Linux" ("Обьединенный Linux"). Основные причины объединения - стандартизация Linux и противостояние RedHat. Первые результаты (платформа United Linux 1.0 и дистрибутивы на ее базе от всех участников объединения) можно будет увидеть уже в конце этого года.
28.05.02: Вышла Opera 6.01 для Linux.
27.05.02: Вышел Slackware 8.1 rc1.
24.05.02: Вышла Mozilla 1.0 RC3.
24.05.02: Вышел Win4Lin 4.0.

 Новости рассылки:
   Xoid26, 2.06.02.

27 мая 2002 г. состоялось открытие нового информационного ресурса "Мир без Windows"! Главные темы сайта:
- Решение практических задач без применения программ и операционных систем от Microsoft.
- Мягкий и безболезненный переход с Win на Linux/другую OS.
- Обзор качественного и нужного софта под не-Microsoft платформы.
- Реальные истории людей, которые успешно обходятся без Windows.
- И многое другое! Адрес: http://nowindows.km.ru.

Не могу удержаться от комментария.. Когда я искал статьи по теме этого выпуска рассылки, 99% того, что я нашел - это установка Apache и PHP под Windows :). Про Linux я нашел только 3 нормальных статьи одного и того же автора. Классическая статья "Установка Apache+PHP+MySQL", на которую все ссылаются, была написана еще в 1999 году. Поэтому я посчитал ее немного устаревшей :), и решил опубликовать две статьи 2001 года.

 Устанавливаем Russian Apache.
  Вячеслав Калошин, 2001.

Данный текст описывает установку Russian Apache без каких-либо дополнительных модулей. По идее, в большинстве современных дистрибутивов идет уже настроенный Apache, но многим нужен именно Apache с перекодировкой.

Первое, что вам необходимо сделать - это взять пакет с apache с apache.lexa.ru. Данный текст будет основываться на том, что у вас пакет apache_1.3.14rusPL30.0.tar.gz. Но приведенные рекомендации будет верны и в том случае, если у вас другая версия - вам надо будет лишь сменить имена файлов.

Итак, разворачиваем Apache командой

tar zxvf apache_1.3.14rusPL30.0.tar.gz

У вас возникнет каталог apache_1.3.14rusPL30.0, в котором будет размещены исходные тексты сервера.

Переходим в каталог с Apache

cd apache_1.3.14rusPL30.0

Теперь - необходимо настроить все необходимое для сборки Apache. Это выполняет команда configure. Необходимо учесть, что просто запуск этой команды приведет к генерации конфигурационных файлов по умолчанию. То есть Apache будет установлен в каталог /usr/local/apache, он будет запущен от пользователя nobody, в него не будет вкомпилен mod_rewrite и так далее. Для 99% пользователей такая конфигурация подходит как нельзя лучше. Но мы же с вами не 99%?

Итак, для указания места, куда абудет инсталлироваться Apache, служит параметр --prefix=. Указав --prefix=/apache мы укажем инсталлятору, что все файлы будут располагаться в каталоге /apache. Ну или в любом другом по вашему вкусу.

Параметр --enable-module служит для включения в компиляцию модулей, которые по умолчанию не включаются. Это auth_anon, auth_dbm, auth_db, auth_digest, cern_meta, digest, example, expires, headers, info, log_referer, mime_magic, mmap_static, proxy, rewrite, so, speling, unique_id, usertrack, vhost_alias. Многие из них вам никогда не понадобятся (особенно модуль example), но часть вам может и пригодиться, особенно модули proxy, rewrite, so. Указав --enable-module=rewrite мы скажем конфигуратору, что желаем скомпилировать модуль mod_rewrite.

Теперь подумаете - нужны вам модули статически собранные или динамически? Статически - это когда модули "намертво" вкомпилированы в тело httpd и не могут выгружаться/загружаться динамически. Для большинства веб-серверов сборка модулей статически вполне оправдана - получается монолит, с которым потом меньше хлопот и возни. Но, к примеру для крупных серверов, которые одновременно обслуживают множество виртуальных хостов, "динамическая" сборка может оказаться выгоднее - администратор может распределять между веб-верверами "доступность" модулей. Для возможности подключения модулей не забудьте указать необходимость включения модуля so статически в httpd. Именно он отвечает за возможность подгрузки модулей.

Для указания модулей, которые необходимо собрать динамически, необходимо указать их имена в параметре --enable-shared=.

Теперь осталось указать, под каким пользователем будет работать сервер Apache. По умолчанию стоит пользователь nobody, но с помощью параметра --server-uid= вы сможете поменять UID на любой тербуемый вам (UID, а не имя!).

Например, для пользователя nobody в моей системе это будет:

multik# cat /etc/passwd|grep nobody
nobody:x:99:99:Nobody:/:

UID=99.

Итак, давайте приготовим Apache к компиляции.

Выполним команду

./configure --prefix=/www --enable-module=rewrite
--enable-module=so --enable-module=proxy --enable-shared=proxy

Этой командой мы даем указание конфигуратору приготовить Apache к установке в каталог /www, включить модули rewrite, so и proxy, выделив модуль proxy как динамически загружаемый.

Если конфигурация прошла без ошибок, то мы можем с легким сердцем дать команду make для начала компиляции.

После того, как make отработал (надеюсь, без ошибок - если есть ошибки, смотрите, чего компилятору не хватает), вы должны уйти с помощью команды su под пользователя, обладающим необходимыми правами для записи в выбранный каталог и выполнить команду make install. Инсталлятор перепишет все необходимые файлы в выбранный каталог (в нашем случае это /www) и выдаст расположение конфигурационного файла (/www/conf/httpd.conf) и команду запуска apache (/www/bin/apachectl start).

Но мы сразу запускать сервер не будем - давайте проверим, все ли на месте - дадим команду /www/bin/httpd -l, которая заставит сервер вывести список всех модулей, которые вкомпилированы в него. Как мы и видим, mod_so и mod_rewrite включены, а mod_proxy в списке отсутствует. Все, как и должно быть - ведь мы сказали собрать модуль proxy динамически, и пока мы его не включим командой LoadModule в httpd.conf - он никак запускаться не будет.

Теперь можно и запустить сервер - /www/bin/apachectl start. Теперь с чистой душой мы можем набрать в браузере 127.0.0.1 и увидеть тестовую страницу сервера.Если вы собирали apache не на своей машине, то вместо 127.0.0.1 наберите ip адрес машины или ее имя - по умолчанию (ведь мы ничего не меняли) он "садится" на все доступные интерфейсы на 80й порт.

Вот и все - вы стали обладателем собственого www-сервера. Для остановки-запуска используйте утилиту apachectl - она сделает все, что необходимо.

Как совет - после правки httpd.conf и перед перезапуском сервера я рекомендую проверить правильность синтаксиса файла командой apachectl configtest. Она проверит синтаксис файла и укажет на те строки, из-за которых сервер может не запуститься.

Как маленький совет - я часто переименовываю утилиту apachectl в httpd и заменяюей в каталоге /etc/rc.d/init.d "оригинальный" httpd, который идет вместе с дистрибутивом. Если вы его не ставили, то просто скрпируйте apachectl в нужный каталог и сделайте аналогичные ссылки с соответвующих rc{x}.d - теперь Apache будет запускаться и останавливаться вместе с системой. Как правильно прописать ссылки - это уже другая тема.

 Подключаем к Apache PHP.
  Вячеслав Калошин, 2001.

Итак, ваш сайт стал посещаемым, на него стало приходить больше народу, но охота добавить какой-нибудь интерактивности сайту ... Можно, конечно, обойтись cgi-скриптами, но это уже не модно, да и во многих случаях ими одними не обойтись. Итак, давайте соберем Apache и подключим к нему PHP и все необходимые мелочи, что бы получился по настоящему
"мощный" сервер.

Нижеприведенная инструкция рассказывает, как собрать связку Apache+PHP+gd+postgres. Этой связки хватит для большинства веб-сайтов, которые вы можете видеть в интернет. Почему именно PHP, а не JSP или Perl? Нравится мне он ;-). Аналогичное могу сказать и про Postgres и MySQL.

Все эти команды я производил, когда собирал основу для linuxnews.ru. Как это работает - вы можете сами убедиться, зайдя на http://linuxnews.ru.

Для сборки нам необходим установленный Postgres (в моем случае он установлен в /postgres) и библиотека GD (С ее помощью очень удобно обрабатывать картинки).

Как собирать и настраивать Apache, я уже писал, поэтому перейду сразу к сборке PHP.

ВНИМАНИЕ - перед сборкой PHP дайте в каталоге Apache команду ./configure без параметров.

Разворачиваем и конфигурируем PHP

tar zxvf php-4.0.4pl1.tar.gz
cd php-4.0.4pl1
./configure --without-mysql --with-pgsql=/postgres --with-apache=./ apache_1.3.14rusPL30.0 --with-xml --with-mod_charset --with-gd

Этой командой мы ВЫКЛЮЧАЕМ поддержку MySQL (по умолчанию она включена), указываем расположение Postgres и исходного дерева Apache, включаем поддержку xml, mod_charset и gd.

Исправьте пути, если они не совпадают с теми, которые я указал.

Собираем PHP
make

И инсталлируем его в дерево Apache.
make install

Переходим в каталог с Apache
cd ./apache_1.3.14rusPL30.0

Конфигурируем его, говоря устанавливаться в /apache и подключить PHP.

./configure --prefix=/apache --activate-module=src/modules/php4/libphp4.a

ВНИМАНИЕ - если вы планируете поддержку SSL, то перенесите параметры к configure от Apache к configure от SSL и используйте последний. Смотрите описание установки SSL.

Собираем его
make

И инсталлируем.
make install

Все, дерево каталогов установлено в /apache (или что вы указали в prefix).

Теперь давайте скажем, чтоб .php файлы обрабатывались PHP. Для этого в файле httpd.conf (/apache/conf/httpd.conf) разкоментируйте две строчки:

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

Первая отвечает за то, что бы файлы .php выполнялись PHP. Вторая - за то, что бы файлы .phps выводились на экран в виде исходных текстов с подсветкой синтаксиса. Для "программерских" сайтов это очень удобно. Если вы не желаете показывать исходных текстов своего сайта, то просто либо не удаляйте символ комментария (#) в начале второй строки, либо просто не создавайте файлов .phps.

Все, сохраните httpd.conf и запустите Apache командой

/apache/bin/apachectl start

Теперь вы можете попробовать обратиться в браузере к созданному серверу, просто набрав его адрес. Если вы все делаете на локальной машине, адрес 127.0.0.1 вполне подойдет.

Давайте проверим, работает ли PHP - для этого создадим простой файл, состоящий из одной строчки:

# cat > /apache/htdocs/test.php
<? phpinfo(); ?>
(нажмите Ctrl-D)

теперь наберите в браузере {имя_сервера}/test.php

Если вы увидели страницу, которая расписывает вам установки PHP, значит, все отлично. Если же вы просто увидели на экране ее содержимое, тогда смотрите - что-то вы сделали не так - PHP не работает.

Теперь осталось немного обезопасить PHP.

Просто скопируйте файл php.ini-optimized из корневого каталога с исходными текстами PHP в /usr/local/lib/php.ini

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

Вот и все - теперь вам остается написать свой сервер, используя PHP.
Удачи !

 Читайте в следующем номере:
   Xoid26, 02.06.02.

Проголосуйте за понравившуюся вам статью. Та статья, которая наберет больше всего голосов, будет опубликована в следующем выпуске рассылки.

ALT Linux и ASP Linux - Все, что вы хотели узнать об этих дистрибутивах!! (Только не это!)
Обзор Openoffice 1.0 - Один из лучших офисных пакетов, который вышел совсем недавно. (Только не это!)
Использование NFS - Применение сетевой файловой системы. (Только не это!)
Webmin, YaST2 и другие - Рассказ о графических утилитах админинстрирования Linux. Linuxconf отдыхает :). (Только не это!)
Не нужно ничего из вышеперечисленного - Тогда я размещу какую-нибудь супер новейшую статью, которая появится в Инете на следующей неделе :).
Ваше предложение - Пишите на xoid26@umail.ru, какую информацию хотели бы вы видеть в рассылке, и, может быть, в следующих выпусках вы найдете именно то, что вам нужно!!

/\ Наверх /\ OS Linux для начинающих. © Xoid26 a.k.a. Slider111, 2002. D.zine by Xoid26


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное