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

Обновлено: 06.07.2024

В этой статье я расскажу Вам как установить и настроить веб сервер Apache, PHP, Perl, почтовый сервер и СУБД MySQL у себя на компьютере, который Вы можете использовать как для тестирования и отладки скриптов, так и для полноценного веб сервера. Конечно, существуют множество готовых решений, например, как Денвер, LAMP, XAMPP, с помощью которых вы сможет легко и быстро установить веб сервер себе на локальный компьютер за 5 минут. Может быть это быстро и удобно, в этом случае, используя готовые инструменты, вам будет проблематично настроить и обновить систему под свои нужды. Устанавливая самостоятельно программное обеспечение, вам не придётся зависит от готовых инструментов, и вы всегда можете настроить систему под cвои нужды. Тем более в этом нет ничего сложного.

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

  • Веб сервер Apache 2.2.25;
  • Интерпретатор сценарного языка PHP 5.4.25;
  • Сервер баз данных MySQL 5.5.23;
  • Сценарного языка Perl - Perl 5.20.1.1;
  • Почтовый сервер Courier Mail Server 3.02;
  • Планировщик задач nnCron Lite 1.1.7 .

Установка веб сервера Apache

установка apache

Рис.1 Установка веб сервера Apache

Далее кликаем на кнопку "Next", появляется следующее окно с лицензионным соглашением.

установка apache

Рис.2 Установка веб сервера Apache

Выбираем: "I accept the terms in the agreement", чтобы принять лицензионное соглашение. В следующем шаге должно появиться новое окно с описанием веб серрвера Apache.

установка apache

Рис.3 Установка веб сервера Apache

Кликаем на кнопку “Next” и продолжаем установку. Далее появляется следующие окно.

установка apache

Рис.4 Установка веб сервера Apache

В этом окне нам нужно ввести информацию о нашем веб сервере. Заполняем поля следующим образом:
Network domain: localhost
Server name: localhost
Administrator’s email: admin@ localhost

установка apache

Рис.5 Установка веб сервера Apache

После того как вы заполнили все поля, кликаем на кнопку “Next”. Должно появиться новое окно.

установка apache

Рис.6 Установка веб сервера Apache

В этом окне вам предлагают выбрать тип установки, полную (Typical) и выборочную(Custom). Выбираем “Custom” и продолжаем установку.

установка apache

Рис.7 Установка веб сервера Apache

В следующем шаге вам нужно выбрать куда устанавливать, а также дополнительные библиотеки. Кликаем на против креcтика “Build Headers and Libraries”, в выпадающем списке выбираем “This features will be installed on local hard drive” Потом выбираем папку, куда устанавливать Apache. Вместо C:\Program Files (X86)\Apache Software Foundation\Apache 2.2 указываем C:\server\Apache2\ и кликаем на сново на кнопк “Next”

установка apache

Рис.8 Установка веб сервера Apache

Должно появиться заключительное окно.

установка apache

Рис.9 Установка веб сервера Apache

Кликаем на кнопку “Install”, чтобы начать процесс установки.

установка apache

Рис.10 Установка веб сервера Apache

установка apache

Рис.11 Установка веб сервера Apache

Кликаем на кнопку “Finish” и завершаем установку. Всё, теперь установка веб сервера завершена. Чтобы убедиться в этом, смотрим в правом нижнем углу, вы должны увидеть значок, как показано на рисунке 12.

установка apache

Рис.12 Установка веб сервера Apache

Если этот так, значит веб сервер запущен как служба. Если по какой-либо причине Apache не был запущен, то возможная из причин, что 80 порт занят другой программой. Решить проблему, можно отключив программу, которая занимает 80 порт. Чтобы это выяснить, набираем в командной строке:

netstat -o -n -a | findstr 0.0:80

установка apache

Рис.13 Установка веб сервера Apache

Очень часто 80 порт занимает программы Skype Если '80 порт занимает это так, отключите в настройках использование в качестве альтернативных портов 80 и 443 (Инструменты -> Настройки -> Расширенный настройки -> Соединение -> снимаем галочку (Использовать порты 80 и 443 в качестве альтернативных)

установка apache

Рис.14 Установка веб сервера Apache

Настройка веб-сервера Apache

установка apache

Рис.15 Установка веб сервера Apache

установка apache

Рис.16 Установка веб сервера Apache

В папке home папку localhost, в которой создаём ещё 3 паки cgi-bin, logs. В папке www, будут храниться php, html и другие файлы витального хоста. В папке cgi-bin, будут храниться perl скрипты. В папке log, логи веб сервера. Cодержимое папки localhost выглядит так, как показано на рисунке

установка apache

Рис.17 Установка веб сервера Apache

Установка PHP итепритатора

Для того, чтобы ваш веб сервер обрабатывал php файлы, необходимо установить интопритатор php файлов.

Установка PHP итепритатора

Рис.1 Установка PHP итепритатора

Установка PHP возможна двумя вариантами: как модуль Apache и как внешнее CGI-приложение. Мы выбираем первый вариант, потому что PHP в качестве модуля немного повышает быстродействие, так как модуль PHP загружается один раз при запуске Web-сервера.

Открываем блокнот и добовляем следующие строчки:

Установка PHP интерпретатора

Рис.2 Установка PHP интерпретатора

Даём имя index.php и сохраняем в папке C:\server\home\localhost\www

Установка PHP интерпретатора

Рис.3 Установка PHP итепритатора

Установка Perl интерпретатора

Для того, чтобы на вашем веб сервере выполнялись скрипты написаные на языке Perl, вам необходимо установить интерпритарор языка perl.

В папке C:\server создаём папку perl. Скачиваем дистрибутив perl strawberry-perl-5.20.1.1-64bit.msi После того, как вы скачали дистрибутив, запустите файл установки strawberry-perl-5.20.1.1-64bit.msi (расширение .msi будет скрыто). Должно появится окно:

Установка Perl интерпретатора

Рис.3 Установка Perl итепритатора

Кликаем на кнопку “Next”, сразу после этого появится окно лицензионого соглашения:

Установка Perl интерпретатора

Рис.4 Установка Perl итепритатора

Чтобы принять лицензионное соглашение и продолжить установку, выбираем “I accept the terms in the License Agreement”. В следующем окне вписываем куда будем устанавливать дистрибутив, папку C:\server\perl

Установка Perl интерпретатора

Рис.5 Установка Perl интерпретатора

Кликаем на кнопку “Inslall”, чтобы запустить процесс установки.

Для выполнения Perl-скриптов необходимо установить сам интерпретатор и дополнительные модули.

Использовать Perl в качестве backend на веб-сервере Apache можно двумя способами:

  • с помощью модуля mod_perl;
  • как CGI-скрипты.

Debian/Ubuntu

Установка

  • Устанавливаем Perl:
  • Устанавливаем интерфейс для работой с базой данных:
  • Устанавливаем драйвер для конкретной СУБД,например, sqlite:
  • Для сборки дополнительных модулей через CPAN устанавливаем пакет build-essential:

Далее модули устанавливаются средствами CPAN.

Apache + mod_perl

Apache + CGI

CentOS

Установка

  • Устанавливаем Perl:
  • Устанавливаем интерфейс для работой с БД:
  • Устанавливаем драйвер для конкретной СУБД, например, MySQL:

Далее модули устанавливаются средствами CPAN.

Apache + mod_perl

Apache + CGI

Python

Debian/Ubuntu

Установка

На версиях Ubuntu 16.04, Debian 8 и старше и других других этого семейства Linux установлена по умолчанию последняя версия Python 3.

Если нужна другая версия — ее нужно устанавливать отдельно.

Разберем на примере Python 3.7 действия для установки языка из исходников с сайта разработчика.

Устанавливаем пакеты, которые потребуются для сборки:

Переходим в директорию с распакованным архивом и подготавливаем установку:

Компилируем интерпретатор. Процесс долгий, в зависимости от конфигурации бокса может занять до получаса. Команда:

Устанавливаем интерпретатор. Обычно при установке используется команда make install, но если использовать её, собранная нами версия заменит предустановленную в системе, поэтому используем другую команду, чтобы сохранить обе:

Проверяем, что Python установился:

Apache + mod_wsgi

  • Устанавливаем mod_wsgi для Apache:
  • Создаем конфигурационный файл /etc/apache2/conf-available/wsgi.conf :
  • Активируем конфигурацию:
  • Перезагружаем веб-сервер:

Apache + CGI

CentOS

Установка

  • Устанавливаем инструменты для компиляции:
  • Подключаем репозиторий:
  • Устанавливаем Python3.6:
  • Устанавливаем pip:

Далее модули устанавливаются средствами pip.

Apache + mod_wsgi

Apache + CGI

Node.JS

Node.JS — ПО, позволяющее скриптам на языке JavaScript взаимодействовать с устройствами ввода-вывода через свой API. Используется для создания веб-сервера, процесс которого постоянно запущен на машине в ожидании запросов.

Так как разработка принципов работы веб-сервера в данном случае полностью зависит от поставленной задачи, рассмотрим только процесс установки ПО.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

На Debian, Ubuntu, Linux Mint:

На Fedora:

На RHEL, CentOS:

На SUSE/openSUSE:

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

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

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

И введите в командной строке cpan следующую команду для установки модуля:

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

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

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

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

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

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

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

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

Эта команда установит cpanm для всей системы и установит бинарник cpanm в каталог bin, например /usr/local/bin.

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

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

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

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

На Debian, Ubuntu, Linux Mint:

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

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

После установки cpan вы можете установить любой модуль Perl, например Net :: DNS, выполнив следующую команду из вашего терминала:

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

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

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

На Debian, Ubuntu:

Как видите, модуль Net :: DS предоставляется с помощью «libnet-dns-zonefile-fast-perl», поэтому давайте установим его с помощью команды:

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

И установите отсутствующий модуль с помощью команды «pacman».

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

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

Вывод:

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

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

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

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

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

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

Решение

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

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

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

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

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

Шаг 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 не установлена ​​как исполняемая. Решение (при условии операционной системы типа * 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/ ,

Если вы успешно установили веб-сервер 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 и сохраните его.

Теперь дайте разрешение на выполнение 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 ?

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

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

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

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

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

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

Читайте также: