Apache perl linux настройка

🐧 Как установить Perl-модули на Linux

В этом кратком руководстве мы покажем, как установить модули Perl в Linux из репозитория CPAN (Comprehensive Perl Archive Network).

На момент написания данного руководства в CPAN было доступно 185128 модулей Perl.

Многие программы, написанные на языке программирования Perl, зависят от определенных модулей Perl для выполнения конкретной задачи.

Например, на днях я тестировал Sysadmin-util, который предоставляет набор полезных инструментов для системных администраторов Linux / Unix:

Когда я тестировал определенный инструмент под названием multi-ping, я столкнулся со следующей ошибкой:

Установим модули Perl на Linux

Существует множество инструментов для установки и модулей Perl.

Мы собираемся попробовать два инструмента, а именно cpan и cpanm.

Стоит отметить, что для многих модулей на CPAN требуется последняя версия Perl 5.8 или выше.

Убедитесь, что вы установили пакет «make» в свой дистрибутив Linux.

«Make» – важный инструмент для создания Perl-модулей.

Если вы не устанавливаете «make», вы можете столкнуться с ошибкой, подобной приведенной ниже:

Пакет make доступен в репозиториях по умолчанию в большинстве дистрибутивов Linux.

Чтобы установить «make» в Arch Linux и его вариантах, запустите:

На Debian, Ubuntu, Linux Mint:

На Fedora:

На RHEL, CentOS:

На SUSE/openSUSE:

Установим модули Perl, используя cpan

cpan является клиентом командной строки для репозитория CPAN и по умолчанию распространяется со всеми версиями Perl.

Чтобы установить модуль Perl, например Net :: DNS, введите в оболочку cpan команду:

После установки модуля введите «exit», чтобы вернуться в свою оболочку.

Вы также можете напрямую установить модуль из Терминала с помощью команды:

Установим модули Perl, используя Cpanminus

Cpanminus или cpanm – это клиент cpan для получения, распаковки, сборки и установки модулей из репозитория CPAN.

Это автономный скрипт без зависимостей, который требует нулевой настройки.

Многие опытные разработчики Perl предпочитают cpanm нежели cpan.

Cpanminus может быть установлен разными способами.

1. Используя Perl:

Чтобы установить последнюю версию cpanm в вашей системе Linux, просто запустите:

2. Используя менеджер пакетов дистрибутива:

cpanm также доступен в репозиториях по умолчанию нескольких дистрибутивов Linux.

Это стабильная версия, но немного старая.

Чтобы установить cpanminus на Arch Linux и его вариантах, запустите:

На Debian, Ubuntu, Linux Mint:

3. Ручная установка:

Кроме того, вы можете вручную загрузить последний двоичный файл cpanm и поместить его в ваш $PATH, как показано ниже.

Пример вывода:

Установим отсутствующие модули Perl с помощью менеджера пакетов дистрибутива

Многие модули Perl доступны в виде пакетов, поэтому вы можете установить их с помощью диспетчера пакетов вашего дистрибутива.

На Debian, Ubuntu:

Чтобы найти отсутствующий модуль в Arch Linux, запустите:

Список установленных модулей Perl

Чтобы просмотреть список установленных модулей Perl, используйте команду «perldoc»:

Вывод:

Вы увидите следующий вывод:

В командной строке введите «l» для просмотра списка модулей.

Обратите внимание, что две вышеуказанные команды приведут список модулей, установленных с помощью cpan.

Там может быть много модулей, установленных вручную или предварительно установленных с вашим дистрибутивом Linux.

Чтобы найти все установленные модули Perl, запустите:

Удалим модули Perl

Модули Perl могут быть легко удалены с помощью cpanm с помощью команды:

Источник

Как настроить Apache 2 для запуска сценариев Perl CGI?

Я хотел бы настроить Apache 2 на Kubuntu выполнять сценарии Perl CGI. Я попробовал несколько шагов, которые я наткнулся на Google, но ничего не получается.

Как правильно достичь этого?

Решение

Этот пост предназначен для спасения людей, которые страдают от * неспособности правильно настроить Apache2 для Perl в Ubuntu. (Конфигурации системы, специфичные для вашего компьютера с Linux, будут указаны в квадратных скобках, например [this]).

Возможный результат неправильной настройки Apache 2:

  1. Браузер пытается загрузить файл .pl вместо выполнения и выдачи результата.
  2. Запрещено.
  3. Внутренняя ошибка сервера.

Если кто-либо выполняет действия, описанные ниже, с разумным интеллектом, он / она может пройти через ошибки, упомянутые выше.

Перед началом шагов. Идти к /etc/hosts файл и добавьте IP-адрес / имя-домена`, например:

Читайте также:  Активатор windows от starforce

Шаг 1: Установите apache2
Шаг 2: Установите mod_perl
Шаг 3: настроить apache2

открыть sites-available/default и добавьте следующее,

Шаг 4:

Добавьте следующие строки в ваш /etc/apache2/apache2.conf файл.

Шаг 5:

Очень важно, или, по крайней мере, я так думаю, только после выполнения этого шага я получил его на работу.

AddHandler cgi-script .cgi .pl

Шаг 6

Очень важно, или, по крайней мере, я так думаю, только после выполнения этого шага я получил его на работу.

Добавьте следующее к вам /etc/apache2/sites-enabled/000-default файл

Шаг 7:

Теперь добавьте ваш Perl-скрипт как test.pl в то место, где вы упоминали ранее на шаге 3 как [Путь-где-вы-хотите-ваш-.pl-и-.cgi-файлы].

Дайте разрешения .pl использование файла chmod а затем введите webaddress/cgi-bin/test.pl в адресной строке браузера, вы идете, вы получили это.

(Теперь, многие вещи были бы излишними в этом посте. Пожалуйста, игнорируйте это.)

Другие решения

Вам нужно взглянуть на ваш журнал ошибок Apache, чтобы увидеть, что такое «внутренняя ошибка сервера». По моему опыту, четыре наиболее вероятных случая:

Программа CGI находится в каталоге, в котором не разрешено выполнение CGI. Решение: Добавьте ExecCGI опцию к этому каталогу через httpd.conf или файл .htaccess.

Apache настроен только для запуска CGI из выделенного cgi-bin каталог. Решение: переместите туда программу CGI или добавьте AddHandler cgi-script .cgi заявление в httpd.conf.

Программа CGI не установлена ​​как исполняемая. Решение (при условии операционной системы типа * nix): chmod +x my_prog.cgi

Программа CGI выходит без отправки заголовков. Решение: Запустите программу из командной строки и убедитесь, что: а) она действительно запускается, а не умирает с ошибкой во время компиляции, и б) генерирует правильный вывод, который должен включать, как минимум, Content-Type заголовок и пустая строка после последнего заголовка.

(Поиск в Google привел меня к этому вопросу, хотя я не просил Perl)

У меня была проблема с запуском скриптов (хотя bash не perl). Apache имел конфиг ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ однако журнал ошибок Apache показал File does not exist: /var/www/cgi-bin/test.html ,

Пробовал ставить скрипт в оба /usr/lib/cgi-bin/ а также /var/www/cgi-bin/ но ни один не работал.

После длительного сеанса поиска в Google мне это удалось
sudo a2enmod cgi и все стало на свои места с помощью /usr/lib/cgi-bin/ ,

По состоянию на Ubuntu 12.04 (Точный Pangolin) (и, возможно, релиз или два раньше) просто установка apache2 а также mod-perl через Synaptic и размещение ваших CGI-скриптов в / usr / lib / cgi-bin — это действительно все, что вам нужно сделать.

Если вы успешно установили веб-сервер Apache и Perl, пожалуйста, выполните следующие шаги для запуска сценария cgi с использованием perl в системах Ubuntu.

Перед началом работы со сценариями CGI необходимо настроить сервер apache таким образом, чтобы он распознавал каталог CGI (в котором сохранены программы cgi) и разрешал выполнение программ в этом каталоге.

В Ubuntu каталог cgi-bin обычно находится в пути / usr / lib, если его нет, создайте каталог cgi-bin с помощью следующей команды.CGI-BIN должен быть на этом пути сам.

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

Проверьте, выглядит ли разрешение как «drwxr-xr-x 2 root root 4096 2011-11-23 09:08 cgi- bin», если да, перейдите к шагу 3.

Если нет, введите следующую команду, чтобы обеспечить соответствующее разрешение для нашего каталога cgi-bin.

Дайте разрешение на выполнение директории cgi-bin

Таким образом, ваш каталог cgi-bin готов к работе. Здесь вы помещаете все свои сценарии cgi для выполнения. Нашим следующим шагом будет настройка apache для распознавания каталога cgi-bin и разрешения выполнения всех программ в нем как сценариев cgi.

Настройка Apache для запуска CGI-скрипта с использованием perl

Директива должна быть добавлена ​​в файл конфигурации сервера Apache, чтобы он знал наличие CGI и расположение его каталогов. Сначала перейдите в папку с конфигурационным файлом apache и откройте его в вашем любимом текстовом редакторе.

Скопируйте приведенный ниже контент в файл 000-default.conf между строкой кодов «DocumentRoot / var / www / html /» и «ErrorLog $ /error.log»

Перезапустите сервер Apache с помощью следующего кода

Теперь нам нужно включить модуль cgi, который по умолчанию присутствует в более новых версиях ubuntu.

На этом этапе мы можем перезагрузить веб-сервер apache, чтобы он снова считывал файлы конфигурации.

Конфигурационная часть apache завершена, теперь давайте проверим ее с помощью примера программы cgi perl.

Тестирование это

Перейдите в каталог cgi-bin и создайте файл cgi с расширением .pl

Скопируйте следующий код в test.pl и сохраните его.

Читайте также:  Как узнать активировался ли windows

Теперь дайте разрешение на выполнение test.pl.

Теперь откройте этот файл в вашем веб-браузере. Http: //Localhost/cgi-bin/test.pl

Если вы видите вывод «CGI работает отлично», вы готовы к работе. Теперь выгрузите все свои программы в каталог cgi-bin и начните их использовать.

NB. Не забудьте дать вашим новым программам разрешения cgi-bin, chmod 755, чтобы они могли успешно запускаться без каких-либо внутренних ошибок сервера.

Есть два способа обработки CGI-скриптов: SetHandler а также AddHandler .

применяется ко всем файлам в данном контекст , независимо от того, как они названы, даже index.html или же style.css ,

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

Кроме того, модуль CGI должен быть загружен и Options +ExecCGI сконфигурировано. Чтобы активировать модуль, выдайте

и перезапустите или перезагрузите Apache. Наконец, сценарий Perl CGI должен быть исполняемым. Таким образом, биты выполнения должны быть установлены

и должно начинаться с

как его первая строка.

Когда вы используете SetHandler или же AddHandler (а также Options +ExecCGI ) вне какой-либо директивы, он применяется глобально ко всем файлам. Но вы можете ограничить контекст подмножеством, заключив эти директивы внутрь, например, Directory

Сейчас SetHandler применяется только к файлам внутри / path / to / some / cgi-dir, а не ко всем файлам веб-сайта. То же самое с AddHandler внутри Directory или же Location директива, конечно. Затем он применяется к файлам внутри / path / to / some / cgi-dir, оканчивающимся на .pl ,

Я предполагаю, что вы взглянули на mod_perl ?

Вы пробовали следующее руководство ?

РЕДАКТИРОВАТЬ: Относительно вашей публикации — возможно, вы могли бы включить образец кода в свой .cgi файл. Возможно, даже первые несколько строк?

Для таких, как я, которые пробирались по учебникам и документам «гораздо больше, чем вам нужно знать сейчас», и просто хотели увидеть, как это работает для начинающих, я нашел единственное, что у меня было сделать было добавить:

AddHandler cgi-скрипт .pl .cgi

К моему файлу конфигурации.

В моей ситуации это работает лучше всего, так как я могу поместить свой Perl-скрипт куда угодно и просто добавить расширение .pl или .cgi.

В ответе Дейва Шерохмана также упоминается решение AddHandler.

Конечно, вы все равно должны убедиться, что права доступа / владельца вашего скрипта установлены правильно, особенно для того, чтобы скрипт был исполняемым. Обратите внимание на то, кто является «пользователем» при запуске из запроса http — например, www или www-data.

Источник

Настройка CGI. Выполнение Perl-скриптов на Apache 2

Выбор анализатора логов

  • Webalizer — http://www.mrunix.net/webalizer/
  • Visitors — http://www.hping.org/visitors/
  • AWStats — http://awstats.sourceforge.net/
  • Pathalizer — http://pathalizer.sourceforge.net/

Установка Perl для Windows

Настройка CGI

Тестируем CGI

25 Комментариев »

  1. Автор, молодец.
    Для чистоты работы надо еще только первую часть, что касаемо AWStats. Это чисто и красиво ляжет в следующую статью.
    Извини, что напрягаю.

Комментарий от Alexey A. Ukhov — Сентябрь 12, 2006 @ 7:39 am

2Alexey. Тебе спасибо за своевременный фидбек.

Комментарий от Администратор — Сентябрь 12, 2006 @ 10:39 am

Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию). Необходимо чтобы он работал с файлом на основе расширения. Иначе скрипт будет обрабатываться командным интерпертатором в отдельном окошке и выводится в виде текста html не будет.

Комментарий от Danila — Октябрь 25, 2006 @ 9:52 pm

Приветик всем! Пользуюсь ВебАлайзером (webalizer). И чем плоха программа. Нормально всё показывает. Если кому надо, пишите! Меня Zend Optim просто достал. Что-то у него с библиотекой php4 не вяжется. Не находит в dll какую — то точку входа. Если кто поборол это и как опишитесь, очень прошу! Спасибки! (Или автор данного сайта может что замутит!?)

Комментарий от Raduga — Декабрь 26, 2006 @ 10:34 am

[guote=Danila]Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию). Необходимо чтобы он работал с файлом на основе расширения. Иначе скрипт будет обрабатываться командным интерпертатором в отдельном окошке и выводится в виде текста html не будет.[/quote] Данила! А посетителю такого сайта тоже надо бъяснять, что и как ему изменить в своём браузере? Право, смешно!

Комментарий от Raduga — Декабрь 26, 2006 @ 10:37 am

Я из этойстатьи так и не понял:
1. как в виндоусе настроить локалный сервер на на выполнение Perl-скриптов.
2. Как задать права на скрипт и на папку где будет лежать скрипт
Тотал команер просто пишет чот не находит файла

Читайте также:  Mac os добавить path

Комментарий от bumba — Июль 17, 2007 @ 11:30 pm

А я Думаю можно ешё статью по настройке Webalizer.

Комментарий от Dmitry — Июль 24, 2007 @ 7:09 am

Набиваю в браузере http://site.com/awstats/awstats.pl —
Firefox хочет открыть/сохранить файл awstats.pl.
Как сделать чтобы он выполнялся на сервере ?
AddHandler, AddType — прописано
LoadModule perl_module — это на всякий случай, но и без него должно работать.
Помогите. Спасибо.

Комментарий от Sasha — Август 13, 2007 @ 6:18 pm

Sasha, такая же проблема… хз как решить =((
Подскажите плиз, кто знает))

Комментарий от MuRADiN — Декабрь 5, 2007 @ 6:46 pm

Проблема решается пониманием базовых принципов http.
В данном случае, как и в примере автора, нужно прописывать заголовок объясняющий браузеру что вы ему подсовываете:
print “Content-type: text/plain\r\n\r\n”; (или text/html, понятно зачем?)

Комментарий от Max — Июль 30, 2008 @ 12:10 pm

Очень классная статья респект.
_______________________________
http://www.automobileit.info/

Комментарий от андрюха — Сентябрь 4, 2008 @ 7:30 pm

всё четко и ясно. спасибо

Комментарий от t130 — Ноябрь 20, 2008 @ 12:22 pm

Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию).

Комментарий от Георгий — Декабрь 10, 2008 @ 10:28 am

уважаемый, подскажи плиз, а возможно ли установить awstats на виртуальный хостинг самому для своего домена? в виде скрипта чтоли…

Комментарий от Арни — Январь 5, 2009 @ 4:16 pm

Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию). Необходимо чтобы он работал с файлом на основе расширения. Иначе скрипт будет обрабатываться командным интерпертатором в отдельном окошке и выводится в виде текста html не будет.

Комментарий от Людмила — Февраль 11, 2009 @ 9:26 pm

Sasha, такая же проблема… хз как решить =((
Подскажите плиз, кто знает)))

Комментарий от Юрий — Февраль 27, 2009 @ 8:39 pm

Спасибо, спасибо большое, хорошая информация для меня.
Мини-игры
Дети
Юмор

Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию). Необходимо чтобы он работал с файлом на основе расширения. Иначе скрипт будет обрабатываться командным интерпертатором в отдельном окошке и выводится в виде текста html не будет.

Комментарий от Злата — Март 2, 2009 @ 6:44 pm

Приветик всем! Пользуюсь ВебАлайзером (webalizer). И чем плоха программа. Нормально всё показывает. Если кому надо, пишите! Меня Zend Optim просто достал. Что-то у него с библиотекой php4 не вяжется. Не находит в dll какую — то точку входа. Если кто поборол это и как опишитесь, очень прошу! Спасибки! (Или автор данного сайта может что замутит!?)

Комментарий от Валерий — Март 5, 2009 @ 11:17 am

Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию)

Комментарий от Юрия — Март 15, 2009 @ 12:19 am

уважаемый, подскажи плиз, а возможно ли установить awstats на виртуальный хостинг самому для своего домена? в виде скрипта чтоли…

Комментарий от Арина — Март 15, 2009 @ 9:59 pm

Я из этойстатьи так и не понял:
1. как в виндоусе настроить локалный сервер на на выполнение Perl-скриптов.
2. Как задать права на скрипт и на папку где будет лежать скрипт
Тотал команер просто пишет чот не находит файла

Комментарий от Арнольд — Апрель 16, 2009 @ 6:31 pm

А что необходимо сделать, чтобы Apache смог использовать Perl в качестве обработчика CGI скриптов

Комментарий от Инга — Апрель 16, 2009 @ 9:46 pm

Необходимо добавить, что в настройках безопасности браузера необходимо отключить возможность открытия браузером файла на основе содержимого (в 6-ой версии IE эта настройка установлена для среднего уровня по умолчанию

Комментарий от Ярослав — Апрель 17, 2009 @ 6:29 pm

А что необходимо сделать, чтобы Apache смог использовать Perl в качестве обработчика CGI скриптов?

Комментарий от Аделина — Апрель 20, 2009 @ 11:20 am

Источник

Оцените статью