Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Установка MySQL + Apache + PHP на FreeBSD (тот-же веб-сервер LAMP на FreeBSD) кратко

Практика



Задача: всем известный LAMP (первая буква которого = Linux) нужно поставить на FreeBSD. Этакий FAMP )))


Приступим.
Установка MySQL + Apache + PHP на FreeBSD (тот-же веб-сервер LAMP на FreeBSD)

MySQL

Для начала ставим MySQL сервер.

$ cd /usr/ports/databases/mysql51-server
$ sudo make install clean


MySQL при сборке не спрашивает Вас конфигурацию - просто ставится. Запасемся терпением - сборка сервера БД - дело долгое.

После установки идет и ставим скрипты:

$ cd /usr/ports/databases/mysql51-scripts
$ sudo make install clean


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

mysql_enable="YES"


И запускаем сервер MySQL:

$ sudo /usr/local/etc/rc.d/mysql-server start


Теперь запускаем скрипт безопасности, в котором задаем пароль root (по-умолчанию - пароль пустой) и отвечаем утвердительно на остальные вопросы.

$ sudo mysql_secure_installation


Apache

Следующим пунктом - установка веб-севрвера Apache.

$ cd /usr/ports/www/apache22
$ sudo make install clean


А вот тут уже нам предлагают конфигуратор, чтобы выбрать некоторое количество опций. Большая их часть - это "моды" - mod_.

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

  • MySQL : чтобы была поддержка MySQL в apr-dbd
  • mem_cache : если Ваши веб-мастера используют mem_cache
  • ldap : если планируете использовать модуль mod_lpad в каталоге LDAP


И обязательно убедитесь, что включен mod_rewrite (rewrite) - один из самых лакомых кусочков Apache: Rewrite Engine, а также проверьте включение SSL - ну а вдруг Вы будете какие-то сайты по защищенному каналу использовать.

Ставится Apache тоже не быстро.

Теперь в файл /usr/local/etc/apache22/httpd.conf добавим следующую строчку:

ServerName "MyWebServer"


где вместо MyWebServer укажите имя этого сервера (как Вы хотите, чтобы сервер называелся в сообщениях Apache и генерируемых им страницах).

После установки в файл /etc/rc.conf добавляем:

apache22_enable="YES"
apache22_httpd_accept="YES"


И стартуем сервер (пока с голой конфигурацией):

$ sudo /usr/local/etc/rc.d/apache22 start


Установка PHP 5.3.x

Теперь ставим последнюю доступную версию PHP (во FreeBSD новые версии появляются достаточно оперативно).

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


Заметка. В каталоге "php5" находится последняя версия - PHP 5.3; в каталоге "php52" находится последняя версия ветки 5.2 - 5.2.17.

В конфигураторе выбираем пункт "Apache", чтобы установщик PHP автоматически дописал свой модуль для загрузки в Apache, и продолжаем установку.


Установка дополнений PHP

Мало одного PHP, большинство сайтов используют его дополнительные модули (далеко ходить не надо - наш сайт использует). Например, даже тот же iconv или gd или imagick... список можно продолжать.

Итак, устанавливаем дополнения к PHP.

$ cd /usr/ports/lang/php5-extensions
$ sudo make install clean


Вот список того, что я рекомендую включить. Помимо этого, конечно, Вы можете добавить то, что нужно на Вашем сервере (у меня на серверах список больше):

  • BZ2
  • CTYPE
  • CURL
  • DOM
  • FILTER
  • GD
  • GETTEXT
  • HASH
  • ICONV
  • IMAP
  • JSON
  • MBSTRING
  • MCRYPT
  • MYSQL
  • MYSQLI
  • OPENSSL
  • PDO
  • PDO_SQLITE
  • POSIX
  • SESSION
  • SIMPLEXML
  • SQLITE
  • SQLITE3
  • TOKENIZER
  • XML
  • XMLREADER
  • XMLWRITER
  • ZIP
  • ZLIB


Веб-мастера и разработчики наверняка запросят то, что им не хватает для PHP, но предложенный список - это такая универсальная коробочка, не полная, но и не пустая уже.

Все, жмем OK и устанавливаем.

Ставится даже дольше, чем MySQL, при этом постоянно дергая админа вопросами о конфигурации сопутствующих пакетов (из зависимостей). Т.ч. не торопитесь отходить попить кофе или чай - оно еще помотает Вам мозги.


Донастраиваем Apache для работы с PHP

Несмотря на то, что мы включили при сборке PHP опцию "Apache", нам нужно еще поправить немного файл конфига httpd.conf, находящийся по адресу:

/usr/local/etc/apache2/httpd.conf

Теперь находим секцию:


...


и перед закрывающей "" вставляем такие строчки:

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


А также, в конец файла конфигурации добавляем директиву:

NameVirtualHost *:80


После которой уже пойдут описания сайтов в виде:


ServerName mysite.ru
ServerAlias www.mysite.ru
DirectoryIndex index.php
DocumentRoot /www/mysite.int


(это, конечно, только пример)


И перезагружаем Apache:

$ sudo /usr/local/etc/rc.d/apache2 restart


SSL для Apache под FreeBSD

Актуально для: FreeBSD 6.x+

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2017-05-09
обновлено: 2021-09-19
133219



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)