Apache+php+mysql на FreeBSD

Apache+php+mysql на FreeBSD

Источник: Apache+php+mysql на FreeBSD | Блог Creator969.

 

Конечно процедура это не сложная, да и в интернете не мало статей по данной теме. Но все же написать стоит.

Когда я только первый раз установил Freebsd, то долго мучился с настройкой этой связки (Apache+php+mysql), не знаю почему тогда для меня это было проблемой, наверное не попало под руки хорошего мануала.
Главное в установке Apache+php+mysql это последовательность.
Ну что ж, приступим.

Установка Apache+php+mysql

Ставим из портов mysql-server

в моем случае это версия 5.1:

1
2
cd /usr/ports/databases/mysql51-server/
make install clean

Следующим шагом будет установка Apache2.2:

1
2
cd /usr/ports/www/apache22/
make config-recursive && make install clean

Здесь выберите те модули которые вам могут пригодиться. Я же оставил все по умолчанию, и конечно же, включил поддержку mysql.

make config-recursive — очень полезная команда. Когда много зависимостей, можно выставить их опции все сразу, до начала установки, а не пялиться в монитор и ждать когда же вылезет окошко с опциями следующей зависимости.
На этом установка apache закончена.

Переходим к установке php5:

1
2
cd /usr/ports/lang/php5/
make config-recursive && make install clean

Здесь опять же оставляем все по умолчанию и отмечаем apache.

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

1
2
cd /usr/ports/lang/php5-extensions/
make config-recursive && make install clean

Выбираю некоторые опции которые мне в будущем могут пригодиться, и конечно же опцию mysql.

Настройка и запуск php apache mysql

Открываем конфиг апача:

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

Находим там следующее:

1
2
3
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

и добавляем index.php, что бы выглядело так

1
2
3
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

Для того, что бы apache выполнял php код добавляем в конфиг следующее:

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

Ну и что бы apache не ругался, нужно добавить это:

1
ServerName localhost.localdomain

Теперь зададим пароль к mysql для пользователя root:

1
mysqladmin -u root password mypassword

Где mypassword — мой пароль.

В принципе, на этом конфигурация заканчивается, теперь связка Apache+php+mysql должна работать. Осталось только добавить демоны в rc.conf, что мы и сделаем:

1
2
echo 'mysql_enable="YES"' >> /etc/rc.conf
echo 'apache22_enable="YES"' >> /etc/rc.conf

Теперь запустим и проверим:

1
2
/usr/local/etc/rc.d/mysql-server start
/usr/local/etc/rc.d/apache22 start

Все запустилось, теперь проверим, как это работает:
Идем в папку апача, удаляем там файл index.html, создаем файл Index.php

1
2
3
cd /usr/local/www/apache22/data/
rm index.html
touch index.php

И добавляем в файл код:

1
echo '<?php phpinfo() ?>' >> index.php

Теперь идем в браузер набираем ip адрес нашего сервера и видим версию php, и еще много разной информации.
Все, связка Apache+php+mysql работает.