Guzei.com

Přihlásit se

Registrace

Poslouchej rádio online, IR, T, F
Sleduj online tv, IT, T, F
Fotografie
Filmy

Установка (Обноление) Apache с PHP

© 2006, Guzei.com, Игорь Гузей

Это не точная и окончательная инструкция к действию использующая правильные термины и оптимальные варианты. Это скорее лог текущей проблемы. Буду благодарен за любые замечания.

Практика одного обновления Апача с ПХП с учётом некоторых нюансов.

В какой-то момент потребовался модуль rewrite и оказалось, что он не ставится по-умолчанию. Так же лог-файл мусорился неприятными сообщениями о проблемах со шрфитами. Решив эти проблемы решил написать пошаговую инструкцию установки веб-сервара Apache с PHP, чтобы потом самому ей и пользоваться :).

Да, предполагается, что MySQL уже установлен.


 Какие проблемы можно обойти:

 1) В error_log пишутся строки:
	  ^GFile 'NONEXISTENT/charsets/?.conf' not found (Errcode: 2)
	  ^GCharacter set '#14' is not a compiled character set and is not specified in the 'NONEXISTENT/charsets/Index' file
	в огромном количестве.
	Это может происходить после установки cp1251 как страницы по умолчанию в файле /etc/my.cnf
	  default-character-set=cp1251
	при неправильной конфигурации PHP до этого.

	Решение см. на 10-м шаге.

 2) Могут не загружаться модули.
	По двум причинам. Нет нужного модуля или нет модуля, который загружает модули :).

	Решение см. на 15-м шаге.


Требуется творческий подход к нижеприведённым командам по части путей и версий.

 1 # cd /usr/dist                                                        - Место для дистрибутивов на сервере.
 2 # wget http://apache.rinet.ru/dist/httpd/apache_1.3.37.tar.gz         - Забираем последнюю версию Апача.
 3 # gunzip -c apache_1.3.37.tar.gz | tar xf -                           - Распаковываем.
 4 # cd apache_1.3.37
 5 # ./configure                                                         - Предварительная конфигурация.
 6 # cd ..
 7 # wget http://ru.php.net/get/php-4.4.4.tar.gz/from/this/mirror        - Забираем последнюю версию PHP.
 8 # gunzip -c php-4.4.4.tar.gz | tar xf -
 9 # cd /usr/dist/php-4.4.4/ext/mysql/libmysql
10 # joe my_config.h                                            - Решение проблемы номер 1.
	 #define SHAREDIR "NONEXISTENT"                             - Эту строку удаляем.
	 #define SHAREDIR "/usr/local/share/mysql/"                 - Эту строку пишем. Тут решётка это не комментарий. Проверьте Ваш путь к базе!
11 # cd /usr/dist/php-4.4.4
12 # ./configure                                                - Конфигурируем PHP
	 --with-mysql                                                 со встроенной поддрежкой MySQL
	 --with-apache=/usr/dist/apache_1.3.37                        и только что сконфигурированным Апачем.
	 --enable-memory-limit
13 # make install
14 # cd /usr/dist/apache_1.3.37
15 # ./configure                                                - Окончательная конфигурация Апача
	 --prefix=/www                                                с указанием дирректории для него,
	 --activate-module=src/modules/php4/libphp4.a                 модуля PHP
	 --enable-module=so                                           so требуется для загрузки модулей через файл конфигурации апача.
16 # make
																- Сравниваем подключённые модули в старой и новой версии.
																  Это на случай апгрейда. Чтобы не забыть какой-нибудь модуль :).
17 # ./src/httpd -l                                             - Список модулей только что сделанного Апача.
18 # /www/bin/httpd -l                                          - Список модулей работающего Апача.
19 # cd /usr/dist/apache_1.3.37/src/modules/standard
20 # apxs -c mod_rewrite.c                                      - Создаём модуль rewrite для последующей загрузки.
																  Аналогично и другие, не ставящиеся по-умолчанию.
21 # cp mod_rewrite.so /www/libexec/                            - Копируем модуль на законное место.
22 # joe /www/conf/httpd.conf
	 LoadModule rewrite_module libexec/mod_rewrite.so           - Команда загрузки модуля.
23 # /www/bin/apachectl configtest                              - На всякий пожарный.
24 # cd /.../logs/                                              - Подчищаём общественные логи.
25 # rm *log
26 # /www/bin/apachectl stop                                    - Останавливаем старый Апач.
27 # cp /usr/dist/apache_1.3.37/src/httpd /www/bin/             - Устанавливаем новый апач. Возможен нюанс Text file busy см. ниже.
28 # /www/bin/apachectl start                                   - Стартуем новый.

 ----------------------------------------------------------------------------------------------------

  На попытку копировать апач:
 # cp /usr/dist/apache_1.3.37/src/httpd /www/bin/
  получил:
		  cp: /www/bin/httpd: Text file busy
  ветка:
		http://cisco.opennet.ru/openforum/vsluhforumID9/1329.html
  натолкнула на мысль, что проблема в том, что полуночные (а дело было в полночь) регламентные процессы на сервере держали Апач.
  Через десять минут проблема пропала сама собой.

Ссылки по теме

RU UA BE
BG PL SR CS
EN DE IT FR
PT KK HU
LV ET

Пользовательское соглашение: используя сайт, Вы соглашаетесь на получение рекламы и файлов cookie.
© 1995-2017 Guzei.com
О сайте

0.0173s       Rambler's Top100