Установка Apache 2.4 + PHP 5.6 + MySQL 5.6 + phpMyAdmin на FreeBSD 10.1 | OS CONFIG

Установка Apache 2.4 + PHP 5.6 + MySQL 5.6 + phpMyAdmin на FreeBSD 10.1

В этой статье рассматривается развёртывание последних (на данный момент) компонентов связки FreeBSD + Apache + PHP + MySQL + phpMyAdmin.

Статья является аналогом старой статьи, где описывалась установка связки FreeBSD 9.0 + Apache 2.2 + PHP 5.4 + MySQL 5.5. Однако появились некоторые, хоть и незначительные изменения.



Устанавливаем Apache 2.4 из портов

cd /usr/ports/www/apache24

make all install clean

В файл /etc/rc.conf добавляем строчку

apache24_enable=»YES»

В файле /usr/local/etc/apache24/httpd.conf раскомментируем строчку ServerName

ServerName www.localserver12.ru:80

Находим строчку DirectoryIndex и допишем в неё:

DirectoryIndex index.html index.htm index.php index.shtml

 

Теперь запускаем службу Apache:

service apache24 start

Если запуск не выдал никакой ошибки, переходим к следующему шагу.

Устанавливаем сервер MySQL версии 5.6 из портов:

cd /usr/ports/databases/mysql56-server

make all install clean

В файл /etc/rc.conf добавим строку

mysql_enable=»YES»

Запускаем службу:

service mysql-server start

После этого необходимо запустить скрипт mysql_secure_installation

/usr/local/bin/mysql_secure_installation

В нём создаются пароль root для сервера БД и необходимые параметры.

Затем перезапускаем службу:

service mysql-server restart

Если запуск не выдал никакой ошибки, переходим к следующему шагу.

Устанавливаем PHP версии 5.6 из портов:

cd /usr/ports/lang/php56

make all install clean

В появившемся диалоговом окне оставляем всё по умолчанию.

Затем переходим к установке расширений PHP 5.6 из портов:

cd /usr/ports/lang/php56-extensions

make all install clean

В появившемся диалоговом окне отмечаем: BCMATH BZ2 CALENDAR CTYPE CURL DOM FILTER GD HASH ICONV JSON MBSTRING MCRYPT MYSQL MYSQLI

Готово.

Теперь устанавливаем модуль PHP версии 5.6 для Apache из портов:

cd /usr/ports/www/mod_php56

make all install clean

В папке /usr/local/etc/apache24/Includes создаём файл php-application.conf и внесём в него 2 строчки:

AddType application/x-httpd-php .php

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

После этого переходим в папку /usr/local/etc и создадим в нём файл php.ini из файла php.ini-production

cd /usr/local/etc

cp php.ini-production php.ini

и присвоим ему необходимые права

chmod u+w php.ini

Перезагружаем машину:

shutdown -r now

После перезагрузки для проверки в папке /usr/local/www/apache24/data создадим файл info.php с таким содержанием:

<?php

phpinfo();

?>

и на другой машине в сети в браузере вводим:

http://IP-адрес-сервера/info.php

Появится страница с информацией о системе и сервере.

Затем устанавливаем phpMyAdmin из портов:

cd /usr/ports/databases/phpmyadmin

make all install clean

После установки переходим в папку /usr/local/etc/apache24/Includes и в нём создадим файл phpmyadmin.conf с таким содержанием:

Alias /phpmyadmin «/usr/local/www/phpMyAdmin/»

<Directory «/usr/local/www/phpMyAdmin/»>

Options none

AllowOverride Limit

Order Deny,Allow

Require all granted

</Directory>

Перезапускаем службу:

service apache24 restart

и на другой машине в сети в браузере вводим:

http://IP-адрес-сервера/phpmyadmin/setup/

Появится страница установки phpMyAdmin. Какие действия там надо совершить думаю, описывать не стоит. Там и так всё понятно.

далее, при наличии DNS-сервера и A и CNAME записей можно описать виртуальные хосты и SSL.

для этого в файле /usr/local/etc/apache24/httpd.conf найдём и раскомментируем строчку:

Include etc/apache24/extra/httpd-vhosts.conf

затем открываем файл /usr/local/etc/apache24/extra/httpd-vhosts.conf, закомментируем или удалим ненужные строки (которые прописаны по умолчанию), и пропишем в нём примерно такие:

для subdomain.localserver12.ru и localserver34.ru

<VirtualHost *:80>

ServerName subdomain.localserver12.ru

ServerAdmin admin@localserver12.ru

DocumentRoot /usr/local/www/apache24/vhosts/subdomain.localserver12.ru/www

ServerAlias www.subdomain.localserver12.ru

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName localserver34.ru

ServerAdmin admin@localserver34.ru

DocumentRoot /usr/local/www/apache24/vhosts/localserver34.ru/www

ServerAlias www.localserver34.ru

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Строчка DocumentRoot может быть у каждого своя, в зависимости от того, где располагаются файлы данного сайта.

ServerName — это доменное имя, которое обязательно должно быть описано в A и CNAME-записях.

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

service apache24 restart

и проверяем на другой машине в сети в браузере.

Для виртуальных хостов SSL также необходимо в первую очередь в файле /usr/local/etc/apache24/httpd.conf раскомментировать строчку

Include etc/apache24/extra/httpd-ssl.conf

и сделать всё аналогичным образом, как описано в файле httpd-ssl.conf, не забывая при этом про A и CNAME-записи 🙂

Сервер готов!


Если Вам помогла статья, вы можете отблагодарить автора:
перечислить на WMR кошелёк (WebMoney): R301575071888
перечислить на Яндекс.Кошелёк: 410011003938168
или на PayPal:

Вы можете оставить комментарий, или ссылку на Ваш сайт.
  • Андрей

    «После установки переходим в папку /usr/local/etc/apache24/Includes и в нём создадим файл с таким содержанием…»
    А название файла?

    • OSC_Evgeny

      любой с расширением conf, например phpmyadmin.conf

      • Андрей

        Спасибо!
        Вот только теперь в браузере на страницах phpmyadmin и phpmyadmin/setup ничего не выводится. Если в соответствующих index.php вставлю echo «чего-нибудь», то только его и наблюдаю.

        • OSC_Evgeny

          Скорее всего дело в алиасе. Должно быть прописано именно так:

          Alias /phpmyadmin «/usr/local/www/phpMyAdmin/»

          если Вы прописали Alias /phpmyadmin «/usr/local/www/phpmyadmin/» то это неправильно. в Unix-системах очень важен регистр букв

          • Андрей

            В таком случае он бы просто не находил путь. Если ошибиться с другими параметрами, то можно получить 403 ошибку.
            И ещё, апачь у меня сам поставил перл и клиент mysql версии 5.5. Возникает конфликт при установке mysql
            сервера версии 5.6.

          • OSC_Evgeny

            Перл — это я ещё могу понять, но клиент mysql -это значит вы чё-то ставили ещё, кроме того, что описано.

            Думаю, Вам необходимо удалять 5.5, и ставить 5.6. Либо, устанавливайте ставьте тогда 5.5:

            cd /usr/ports/databases/mysql55-server
            make all install clean

          • Андрей

            Ну вот, всё снёс и с нуля поставил. Работает! Разве что php.ini создавал после установки самого PHP, а не сразу после установки сервера.
            Спасибо!

          • Стас

            У меня вообще php.ini уже был и конфиг файлы уже были поставлены и все в них прописано хотя до этого не стояло Web сервера

  • BoolDeZir

    На FreeBSD 10 при установке PHP-extensions нет больше галочки Apache
    Надо ставить ещё портик /usr/local/www/mod_php56

    • OSC_Evgeny

      это уже было учтено

  • Максим

    Вот поправка, строки:

    Alias /phpmyadmin «/usr/local/www/phpMyAdmin/»

    Options none

    AllowOverride Limit

    Order Deny,Allow

    Require all granted

    добавляем в файл /usr/local/etc/apache24/httpd.conf

    Это еще с Freebsd 8.2 так делал, а так статья супер, все работает.

  • Григорий

    Очень понятно написано для тех, кто знает. И абсолютно бесполезно для тех, кто попытается использовать статью как мануал для первого запуска. Даже если он и запустит, то как он это сделал — все равно не сможет сказать-=(

    • OSC_Evgeny

      Статью писал для всех. Основная цель — написать как можно короче. Очень старался, чтобы было понятно. Но если что-то действительно не понятно, для этого здесь и существует система комментирования… можно задать вопрос, и получить на него ответ.

  • стас

    Статья неплохая, но и не хорошая, так то если ты для всех писал, скринов бы наделал что ли

    • OSC_Evgeny

      вы имеете ввиду скринов консоли? где и что у меня не понятно написано?

      • Стас

        Ну вообще то есть такое например кавычки (хотя может у меня браузер их коряво отображает) (см картинку )
        А вообще статья и вправду помогла, в отличие от других все делал поэтапно и поставилось все, вообщем респект, тока phpmyadmin не встал но я разберусь с этим, (думаю просто руки кривые) продолжай в том же духе писать статьи так держать!
        МОЛОДЕЦ!

  • Стас

    А у вас статьи случайно нет как настроить почтовый сервак?

    • OSC_Evgeny

      нет.

  • Стас

    Как настроить домен 3го уровня не подскажите? или ссылочной не поделитесь?

    • OSC_Evgeny

      читайте список статей

  • AK74

    Все работает!
    Respect

  • master

    Особенно убило то, что автор, за каким то хреном перезагружает сервак…. да, слов нет

    • OSC_Evgeny

      не за каким-то хреном, а для проверки на ошибки при запуске служб

  • kex2k

    В версии apache24 есть существенное изменение
    Upgrading to 2.4 from 2.2

    2.2 configuration:
    Order allow,deny
    Allow from all
    2.4 configuration:
    Require all granted
    http://httpd.apache.org/docs/2.4/upgrading.html

    • OSC_Evgeny

      никто не спорит, это всё учтено 🙂

  • kex2k

    также использовать http для phpMyAdmin не кошерно (о чем он сразу и предупреждает), имхо требуется дописать мануал для настройки https

  • Поправьте ошибку в описании виртуалки алиаса phpMyAdmin нужно добавить строку DirectoryIndex index.php сразу за строкой Require all granted

  • Олег

    После установки phpmyadmin и прописки Алиасов в Инкладах получаю вот такое сообщение:

    Forbidden
    You don’t have permission to access /phpmyadmin
    on this server.

    До этого всё встало без ошибок, phpinfo() работает.

    • Олег

      В логах apache:
      client denied by server configuration: /usr/local/www/phpMyAdmin/

  • Максим

    Плин, привычка указывать php код без ‘php’, т.е. так сыграла со мной злую шутку)) 2 дня не мог понять почему не работает. Как исправить?

    • Максим

      Разобрался

  • Максим

    Теперь другая проблема появилась
    Захожу в http://*****/phpmyadmin/setup/ и получаю
    «The mbstring extension is missing. Please check your PHP configuration.»
    При установке php56-extensions «mbstring» отмечал

    • Max Ray

      Похожая проблема, mbstring Апачем не подгружается … хотя через
      #php —ri mbstring выдает что модуль загружен и все ок, а проверка через web: phpinfo(); mbstring не детектируется.

      Как решили эту проблему поделитесь?

  • Qweasd Asdfsdf

    Как-то много ребутов, для фряхи.

    • OSC_Evgeny

      проверено. всё работает. попробуйте сами

  • Ivan Bilimov

    А куда копать, если при автостарте апача24 система крашится? /var/crash/core.txt.43 не понимаю 🙁

  • Hikmat Zainitdin

    Брат, спасибо, все работает.

  • Дед

    подскажите пожалуйста что значит это: «После установки переходим в папку /usr/local/etc/apache24/Includes и в нём создадим файл с таким содержанием:»
    Конкретно интересует то, какой файл, с каким расширением?

  • Arzu Rushanov

    здравствуйте Евгений, можете помочь? мне нужно установить на FreeBSD MSSQL+PHP



Яндекс.Метрика
Проверка ТИЦ Яндекс цитирования