Простейшая настройка WEB сервера FreeBSD

| 25.10.2013
Apache+PHP+Perl+MySQL

1) Ставим mysql.

# cd /usr/ports/database/mysql51-server && make install clean

После установки базы производим её инициализацию:

# mysql_install_db

# mysql_secure_installation
# chown -R mysql:mysql /var/db/mysql

Я советую перенастроить mysql так, чтоб база находилась в удобном каталоге /data/mysql

Для этого создаем директорию/usr/local/etc/apache22/mysql и устанавливаем на нее правильные разрешения.

# mkdir /usr/local/etc/apache22/mysql
# chown mysql:mysql /usr/local/etc/apache22/mysql
# chmod go-rwx /usr/local/etc/apache22/mysql

Настраиваем автозапуск mysql

Добавляем следующие строки в файл конфигурации rc.conf

# echo ‘mysql_dbdir=»/usr/local/etc/apache22/mysql”’ >> /etc/rc.conf 
# echo ‘mysql_enable=»YES»’ >> /etc/rc.conf

При первом запуске в директории /usr/local/etc/apache22/mysql будут созданы необходимые для работы сервера поддиректории и файлы.
# /usr/local/etc/rc.d/mysql-server start

2) Ставим Apache

# cd /usr/ports/www/apache22 && make install clean

Обязательно выбираем следующие опции, остальные - на усмотрение (кстати, perl установится автоматом, как зависимый пакет):

WITH_MYSQL=true
WITH_CGI=true
WITH_DBD=true
WITH_SSL=true

Сразу после установки сменим владельца для рабочей папки Web-сервера:

# chown -R www:www /usr/local/www

Теперь будем править конфиг апача (/usr/local/etc/apache22/httpd.conf). Изменить достаточно одну переменную, остальные можно оставить по умолчанию:

ServerName test.domain.tld:80

Для возможности выполнения cgi-скриптов, нужно добавить эту возможность в конфиг (по дефолту она отключена). Приведём описание директивы для этого:

<Directory "/usr/local/www/apache22/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Теперь перейдём в каталог /usr/local/www/apache22/cgi-bin и сделаем всем файлам chmod +x для того, что бы их можно было выполнять. Да и вообще, для скриптов в этой папке права на файлы должны быть 755.

# echo 'apache22_enable="YES"' >> /etc/rc.conf

# /usr/local/etc/rc.d/apache start

3) Ставим PHP

# cd /usr/ports/lang/php5 && make install clean

Выбираем обязательно опции:

WITH_CGI=true
WITH_APACHE=true
WITH_FASTCGI=true

После установки добавляем строчку в /usr/local/etc/apache22/httpd.conf (по дефолту она добавляется, но лучше проверить 🙂 ):

LoadModule php5_module        libexec/apache22/libphp5.so

а так же добавляем такое

<IfModule mod_php5.c>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
</IfModule>

и наконец, меняем все DirectoryIndex index.html на такие DirectoryIndex index.php index.html, то есть добавляем index.php, что бы php проверка запуска php скриптов осуществлялась раньше, чем html

После этого перечитываем конфиг апача:

# /usr/local/etc/rc.d/apache22 reload

Иногда, нужно в директиву <IfModule mime_module>добавить то же самое, что мы добавляли в <IfModule mod_php5.c>, а именно

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

Все остальное ищим в http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/

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

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

пятнадцать − восемь =

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: