FAMP (FreeBSD + Apache + PHP + MySQL) apache на FreeBSD + phpMyAdmin



В этой статье подробно описан процесс установки веб-севере на базе ОС FreeBSD 10
А именно FAMP  - FreeBSD 10 (10.1), Apache 2.4, PHP5 и MySQL
Статья рассчитана на, начинающих работу в UNIX-подобных системах, администраторов
По этому вы множите просто копировать строчки кода и бездумно вставлять из Putty. Однако в данном случает вы НИЧЕМУ И НИКОГДА не научитесь и малейшие отклонения будут вводить вас в "ступор" а начальство ставить в позу "ротного пулемета". Так что автор советует вникать в то что вы делаете. (примеч это касается не только данной статьи а вообще всей вашей профессиональной деятельности)

Достаточно давно в операционной системе FreeBSD , по мимо сборки ПО из "портов" присутвует установка из "пакетов" - более знакомая пользователям Linux. (Для тех кто никогда не работал с "портами"  не знает что это такое читать тут) Если кратко - "порты" имеет смысл использовать при необходимости тонкой настройке ПО, а пакеты - при стандартных настройках, кроме того существенно экономите время.

На всякий случай описывать буду оба варианта установки
В прошлой статье была описана базовая установка и настройка FreeBSD 10.1 повторяться не буду.
Для начала опишу самый быстрый и простой способ - из пакетов
Нам надо установить для начала MySQL сервер, допустим мы не знаем точно имени пакета

# pkg search mysql

Нам вывалило  все пакеты где встречается mysql

последняя версия сервера и название пакета - mysql56-server-5.6.23
Устанавливаем

# pkg install mysql56-server

Дальше нам говорят какие пакеты будут установлены :

New packages to be INSTALLED:
        mysql56-server: 5.6.23
        perl5: 5.18.4_11
        mysql56-client: 5.6.23

The process will require 178 MiB more space.
23 MiB to be downloaded.

Proceed with this action? [y/N]:
В дальнейшем так подробно описывать не буду - просто что бы поняли логику - тут подтянулись кроме нашего, еще и те пакеты которые нужны для его работы. 
Соглашаемся.

Далее установим сам apache 24 и PHP56

# pkg install apache24

# pkg install php56
И для поддержки апача

pkg install mod_php56
Дело в том что с какой-то версии в PHP нет поддержки апача, для этого есть mod_php.

Проинсталили, начнем настройку с MySQL

Первым делом разрешим  ему автозагрузку

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

т е добавим в rc.conf строку mysql_enable="YES"

или другой способ 
# nano /etc/rc.conf 
и внизу добавим в ручную  mysql_enable="YES"
Кому как удобнее, думают суть уловили

# service mysql-server start

В ответ должно выдать Starting mysql.
Теперь задаим пароль для root в MySQL


# /usr/local/bin/mysqladmin -u root password 'Ваш_Пароль'

Настроим сам apache


echo 'apache24_enable="YES"' >> /etc/rc.conf

 # service apache24 start



Открываем файл конфигурации Апача

# nano /usr/local/etc/apache24/httpd.conf 

Для начала находим

<IfModule dir_module>
    DirectoryIndex index.html 
</IfModule>

И добавляем  index.php :
<IfModule dir_module>
    DirectoryIndex index.html  index.php
</IfModule>

Далее добавляем в конец файла

<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Перезапускаем апач 

# service apache24 restart

Проверим что у нас получилось

# links 127.0.0.1

наблюдаем "It Work" - наш веб-сервер работает. Можно зайти и с нормального браузера с другой машины. =)

Теперь проверим работу php

# cd /usr/local/www/apache24/data

удаляем index.html
# rm index.html
и создадим
# nano index.php
пишем в файле

<?php
phpinfo();
?>

и заходим браузером на http://ip_нашего_сервера/index.php


как видим все работает
Еще один важный момент timezone - смотрим в браузере наш index.php если там она не задана надо задать. Иначе, когда будем на наш сервер что-то ставить - будем иметь бледный вид. 
# nano /usr/local/etc/php.ini
Находим date.timezone 
Задаем date.timezone = Europe/Moscow
На последок поставим PhpMyAdmin - потом пригодиться.

# pkg install phpmyadmin

В конфиге Апача
# nano /usr/local/etc/apache24/httpd.conf 
 добавляем


Alias /phpmyadmin "/usr/local/www/phpMyAdmin"
<Directory "/usr/local/www/phpMyAdmin">
Options None
AllowOverride None
Require all granted
</Directory>

*Альяс Alias /phpmyadmin на самом деле можно сделаю любым например "pma" 
адрес будет такой http://Ваш_адрес/Ваш_альяс/

Потом монтируем папку и даем права

mkdir /usr/local/www/phpMyAdmin/config && chmod o+w /usr/local/www/phpMyAdmin/config

и даем права на
chmod o+r /usr/local/www/phpMyAdmin/config.inc.php


и заходим по адресу http://Ваш_адрес/Ваш_альяс/setup (в моем случае http://192.168.8.152/phpmyadmin/setup) и настраиваем подключения к серверу - там все понятно.






















если выадает Call to undefined function mb_detect_encoding() in /usr/local/www/phpMyAdmin/libraries/php-gettext/gettext.inc on line 177
перезапускаем Апач
# service apache24 restart

теперь переносим конфиг, удаляем директорию и меняем права
# mv /usr/local/www/phpMyAdmin/config/config.inc.php /usr/local/www/phpMyAdmin
# rm -r /usr/local/www/phpMyAdmin/config
# chmod o-r /usr/local/www/phpMyAdmin/config.inc.php

и перезапускаем
# service apache24 restart
# service mysql-server restart
заходим в браузереб в моем случае  http://192.168.8.152/phpmyadmin/
логин root
пароль - Ваш_рутовый_пароль_от_MySQL

За сим все - веб-север готов. Можете пользоваться (с)

Установка из портов
portsnap fetch
portsnap extract
обновим порты
portsnap fetch update
Ставим Mysql
cd /usr/ports/databases/mysql56-server
make install clean

ствим Апач

cd /usr/ports/www/apache24
make install clean
и PHP

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

cd /usr/ports/www/mod_php5
make install clean
Выбрать поддержку Апача

cd /usr/ports/lang/php5-extensions/
make config

Включаем поддержку “MySQL database support” и  “MySQLi database support,”
make install clean


Дальнейшая настройка ничем не отличается

2 комментария:

  1. Интересует инструкция о тонкой настройке Апача и настройке алиасов и v-hosts.

    ОтветитьУдалить
  2. Что именно, в настройках, что не поанятно в алиасах-то? В хосты - очень пожоже на алиасы по настройке - что именно Вам не понятно?

    ОтветитьУдалить