О web-разработке
и даже немного больше...

Веб-сервер на FreeBSD

FreeBSD предоставляет множество возможностей для организации работы в сети интернет и не только. На сегодняшний день трудно представить интернет без Unix-систем, частью семейства которого является FreeBSD. Ранее был пост с описанием настройки сети FreeBSD, теперь пришло время поговорить о том, как настроить связку Apache + PHP + MySQL.
Весь процесс установки мы разделим на следующие основные шаги:

  1. Обновление портов
  2. Установка Apache
  3. Установка PHP
  4. Установка MySQL
  5. Дополнения

1. Обновление портов

Приступаем к установке и настройке, первым делом обновляем порты. Коллекция портов — это набор файлов (makefile, патчи, описание и т.д.), которые хранятся в директории /usr/ports, и предназначены для построения, установки приложений во FreeBSD. Для получения коллекции портов, мы воспользуемся инструментом Portsnap.

Скачиваем snapshot основного дерева портов:

#portsnap fetch

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

#portsnap extract

Обновляем порты:

#portsnap update

После того как у нас будет свежая коллекция портов, мы приступим к установке из них нужных нам приложений.

2. Установка Apache

Apache – приложение, выполняющее роль веб-сервера, он надёжен, гибок в плане настроек, кроссплатформенный, кроме того является свободно распространяемым программным обеспечением. Его популярность более чем велика в сети интернет.

Определим его местонахождение в коллекции портов, для этого воспользуемся командой whereis:

#whereis apache22

Результат выполнения команды будет примерно следующим:
apache22: /usr/ports/www/apache22

Проходим в указанный каталог:

#cd /usr/ports/www/apache22

Ставим Apache:

#make all install clean

После этого должно появиться меню с опциями для Apache, появляться их будет несколько в ходе компиляции.
Здесь вы можете включить / отключить поддержку различных дополнений, которые возможно потребуется для реализации вашей задачи. Символ «x» в квадратных скобках означает, что опция включена, переключать можно клавишей «пробел». Перемещаться между опциями можно клавишами «вверх — вниз».
apache

Если Apache скомпилировался успешно, можно прописать основные настройки в его конфигурационном файле httpd.conf.

Открываем конфигурационный файл для редактирования:

#ee /usr/local/etc/apache22/httpd.conf

Примерно на строке 148 находим строку с записью:
#ServerName www.example.com:80

Раскомментируем запись (убираем символ «#» перед строкой), далее указываем свой домен, либо ip-адрес сервера (вместо www.example.com), по которому можно будет обращаться к сайту.

httpd.conf1
Выйти из редактора с сохранением изменений можно нажав клавиши «Ctrl+C», после чего ввести команду «exit».

Далее необходимо задать параметр apache22_enable в файле /etc/rc.conf:

#ee /etc/rc.conf

Вписываем:

apache22_enable=”YES”

Запускаем Apache:

#/usr/local/sbin/apachectl start

После успешного старта Apache следует проверить работу веб-сервера. Для этого открываем браузер на десктопе, с возможностью сетевого доступа к серверу, набираем адрес сервера, если сервер работает, в ответ придет тестовая страница с надписью «It works!».
it-works
Дополнительно рекомендую почитать документацию «Apache HTTP сервер».

3. Установка PHP

Следующий наш шаг, это установка компилятора PHP. PHP – один из популярных сценарных языков программирования для сети Интернет (наряду с JSP, Perl, и языками используемыми в ASP.NET), благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Определяем местонахождение портов php:

#whereis php5

Результат, возвращаемый командной строкой:
php5: /usr/port/lang/php5

Ставим PHP5:

#make all install clean

Вам будет представлено меню с опциями выбора компонентов для PHP, в ходе компиляции их может быть несколько. Здесь вы можете включить дополнительные компоненты в установку PHP. Нам необходимо добавить пункт «APACHE» для связки PHP и Apache.

php
Затем, как PHP интерпретатор будет успешно установлен, необходимо в конфигурационный файл Apache (httpd.conf) прописать пару строк.

Открываем конфигурационный файл для редактирования:

#ee /usr/local/etc/apache22/httpd.conf

Добавляем строки:

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

Сохраняем сделанные изменения в конфигурационном файле, перезапускаем Apache:

#/usr/local/sbin/apachectl restart

Проверим, PHP скрипты должны отрабатываться интерпретатором. Попробуем создать тестовый файл-скрипт, и обратимся к нему через браузер. Наша публичная директория веб-сервера находиться по адресу /usr/local/www/apache22/data/, разместим в ней файл index.php:

#ee /usr/local/www/apache22/data/index.php

Впишем туда код:

<?php
phpinfo();
?>

Обращаемся к скрипту через браузер (набираем адрес_веб-сервера/index.php). Если всё работает, то результат работы функции phpinfo() будет показан в браузере, в виде таблицы с параметрами PHP.
phpinfo

4. Установка MySQL

Современный веб-сервер трудно представить без системы управления базами данных, таковой является MySQL.
MySQL – свободная реляционная СУБД, широко применяется различными приложениями для хранения данных. Одна из популярных систем хранения баз данных в сети интернет, так же широко используется различными движками сайтов.

Находим MySQL в дереве портов FreeBSD:

#whereis mysql55-server

Переходим в директорию, где находятся файлы, для установки MySQL:

#cd /usr/ports/databases/mysql55-server

Ставим MySQL сервер:

#make all install clean

После установки проверяем наличие записей параметров MySQL в информации выводимой функцией phpinfo().
mysql

5. Дополнения

PHP-Extensions — это расширения, которые устанавливаются для добавления функционала PHP. В него так же входят механизмы для работы с MySQL сервером, поэтому дополнение может быть весьма полезным.

Находим местонахождение PHP-extensions:

#whereis php5-extensions

Переходим в директорию портов:

#cd /usr/ports/lang/php5-extensions

Ставим расширения:

#make all install clean

Появиться конфигурационное меню, в котором следует выбрать поля MySQL и MySQLI, после чего на этапе компиляции так же будет показано несколько окон меню, там можно оставить всё как есть.
php-extn
После успешной установки в «phpinfo» также появятся записи mysql и mysqli:
php-extn2
Итак, мы завершили установку связки Apache + PHP + MySQL. Стоит заметить, что здесь мы рассмотрели лишь «базовую» установку приложений. Как известно всё это дело так же можно настраивать под конкретные задачи, но в данном посту мы этого делать не будем. Вообщем, до скорого!

Опубликован: 02.12.2013 г.

См. также:

Преимущества и недостатки веб-серверов Nginx и Apache
Как включить сжатие GZip в Nginx?
Подробнее о логах в Apache
Ротация логов в Linux
Denwer в локальной сети
HTTP авторизация
Просмотр списка загруженных модулей Apache
httpd грузит процессор, что делать?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта