How-to`s — Установка apache 1.3.42 + mod_perl на Ubuntu 10.04
Вобщем возникла задача поиметь машину для разработки с мод_перлом и первым апачом.
Обычно я это делал на специально выделенной под это дело тестовой машине с Фрёй, где для этого дела есть отдельный порт и никаких проблем, но на этот раз я решил, что пора на своей машине это организовать.
Итак, пакета с первым апачом под современную убунту нет, поэтому придётся ставить из исходников.
Тут написано, что всё просто и делается парой команд, но я бы не писал этот пост, если бы оно действительно было так.
И вот вам моё прохождение сего квеста.
Скачиваем-распаковываем исходники:
Далее начинается:
Первое сообщение об ошибке говорит, что у меня сломана команда "echo".
Решается подменой того, что щас выполняет роль sh (dash) на bash.
Т.е. переименовываем во что-нибудь симлинк /bin/sh и делаем новый на bash:
Bash'евская реализация команды echo прокатывает и мы идём дальше.
А дальше оно говорит, что у меня плохой компилятор и ему нужен gcc. Тот факт, что он у меня уже установлен, ничего не меняет =).
На самом деле просто не хватает пакета libperl-dev
Но самое интересное происходит потом:
Т.е. в апачевская функция getline плохо названа, ибо в stdio уже есть такая.
Придётся переименовать её во всём апаче, благо не много:
И доустанавливаем:
Обычно я это делал на специально выделенной под это дело тестовой машине с Фрёй, где для этого дела есть отдельный порт и никаких проблем, но на этот раз я решил, что пора на своей машине это организовать.
Итак, пакета с первым апачом под современную убунту нет, поэтому придётся ставить из исходников.
Тут написано, что всё просто и делается парой команд, но я бы не писал этот пост, если бы оно действительно было так.
И вот вам моё прохождение сего квеста.
Скачиваем-распаковываем исходники:
1 2 3 4 5 6 |
cd /usr/src |
Далее начинается:
perl Makefile.PL APACHE_SRC=../apache_1.3.42/src DO_HTTPD=1 USE_APACI=1 EVERYTHING=1
Первое сообщение об ошибке говорит, что у меня сломана команда "echo".
Решается подменой того, что щас выполняет роль sh (dash) на bash.
Т.е. переименовываем во что-нибудь симлинк /bin/sh и делаем новый на bash:
ln -s /bin/bash /bin/sh
Bash'евская реализация команды echo прокатывает и мы идём дальше.
А дальше оно говорит, что у меня плохой компилятор и ему нужен gcc. Тот факт, что он у меня уже установлен, ничего не меняет =).
На самом деле просто не хватает пакета libperl-dev
Но самое интересное происходит потом:
1 2 |
htpasswd.c:101: error: conflicting types for ‘getline’ |
Т.е. в апачевская функция getline плохо названа, ибо в stdio уже есть такая.
Придётся переименовать её во всём апаче, благо не много:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
Index: src/support/htdigest.c |
И доустанавливаем:
1 2 3 |
make && make test && make install |