Меню Рубрики

Установка web server на freebsd

Настройка web сервера на Freebsd 10

В первой и второй частях мы рассмотрели установку и настройку операционной системы Freebsd 10.1 для разворачивания на ней блога wordpress. Теперь предстоит установить и настроить программное обеспечение, необходимое для нашего web сервера.

Я буду рассматривать самый простой и быстрый вариант настроек, с небольшим отклонением от дефолтных для нашего удобства. По каждому пункту могут возникать вопросы и нюансы, я не буду касаться всего этого в этой статье.

Устанавливаем ftp сервер vsftpd

Начнем нашу настройку с установки ftp сервера vsftpd. Для авторизации мы будем использовать системные учетные записи, анонимный доступ отключим.

Первым делом обновим порты:

После обновления, ставим сервер:

Компоненты оставляем по-умолчанию. Добавляем загрузку vsftpd в /etc/rc.conf:

Редактируем конфиг /usr/local/etc/vsftpd.conf, приводим его к следующему виду:

Проверяем, запустился ли демон:

В ответ должны увидеть что-то похожее:

Это означает, что сервер запустился и слушает входящие соединения на 21 порт. С текущими настройками можно залогиниться учетной записью root и перемещаться по всему серверу. Это очень небезопасно, призываю внимательно относиться к этим возможностям. Рекомендую подробнее ознакомиться с настройками сервера, обратить внимание на директивы userlist_enable, userlist_file, chroot_local_uses, chroot_list_enable, chroot_list_file. С помощью них можно ограничивать доступ к серверу и перемещение пользователей по папкам. Вообще, у vsftpd много настроек и возможностей, в интернете достаточно статей на подобную тему. Можно без проблем хранить базу пользователей сервера в mysql. В завершение порекомендую ограничить доступ к ftp через firewall.

Установка и настройка Mysql

Дальше устанавливаем сервер баз данных mysql:

Настройки оставляем дефолтные.

Сервер тянет за собой достаточно большое количество зависимостей. Установка постоянно тормозится и выскакивает окно с настройками очередной зависимости. Чтобы не отвлекаться на это и не тормозить процесс, я рекомендую перед командой make install clean ввести команду:

Она проверит все зависимости и выведет сразу настройки этих зависимостей. Потом в процессе сборки пакета уже не будет прерываний.

После завершения установки добавляем запуск сервера в rc.conf:

Создаем необходимые папки и выставляем права:

Создаем файл конфигурации:

Записываем следующее содержание в файл настроек:

Закомментированные строки включаем на свое усмотрение в процессе отладки. Если будет включен лог всех SQL запросов, то нужно не забыть настроить ротацию логов, файл будет расти очень быстро, можно забыть и пропустить момент, когда файл займет все свободное место.

Лог файлы нужно обязательно создать самим и выставить на них права пользователя mysql. Если этого не сделать, то сервер не будет стартовать, и что самое неприятное, не будет никаких сообщений в лог файлах. Они будут созданы с правами root:wheel и сервер ничего туда не сможет записать. Так что создаем файлы сами:

Проверяем, все ли запустилось как следует:

Если все в порядке, то вы увидите что-то похожее на это:

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

Задаем пароль root пользователя mysql. Обращаю внимание, что это не системный root. В mysql свои пользователи. На остальные вопросы отвечаем положительно, в принципе, там все понятно описано, ничего сложного нет. Удаляется тестовая база, тестовый пользователь, запрещается удаленный доступ к серверу.

На этом настройка mysql окончена. Идем дальше.

Устанавливаем и настраиваем apache24

Устанавливаем непосредственно web сервер apache:

Оставляем все настройки по-умолчанию. Запускаем установку:

Добавляем apache в атозагрузку:

Теперь создадим 2 виртуальных хоста. На первом будет располагаться phpmyadmin, на втором наш сайт, в данном случае wordpress. Не забываем настроить в DNS эти хосты. Раскомментируем строчку в конфиге /usr/local/etc/apache24/httpd.conf

Дальше идем в папку /usr/local/etc/apache24/extra/ и редактируем файл httpd-vhosts.conf до следующего вида:

Я использую тестовый домен websrv.local В общем случае тут должен быть непосредственно домен вашего сайта, что-то вроде myblog.ru. Для phpmyadmin я использую поддомен с произвольным непопулярным именем, чтобы туда не заходил тот, кому не следует.

Обращаю внимание на параметр Require all granted. На предыдущих серверах я его не указывал. В этот же раз при обращении к виртуальному домену в логах получал ошибку:

Скорее всего это особенность apache24, до этого я пользовался более ранними версиями.

Сайты я размещаю в каталоге /web/sites. Для каждого домена отдельная папка. Для улучшения безопасности можно настроить отдельных пользователей для каждого поддомена, сделать пользователя ftp, доступ к логам и так далее. В этой статье я не буду касаться этого вопроса. У нас будет один сайт и один пользователь. Создаем необходимые папки:

На этом пока настройку apache закончим, мы к ней вернемся позже, когда установим остальные компоненты. Запускать его не будем, он все равно не запустится, выдаст ошибку.

Устанавливаем php и phpextensions

Дальше устанавливаем php, настройки оставляем настройки по-умолчанию:

Читайте также:  Установка колодцев сетей связи

После установки создаем файл конфигурации:

Помимо настроек по-умолчанию, обязательно добавляем CURL, DOM, POSIX, FTP, GD, HASH, ICONV, XML, JSON, MBSTRING, MYSQL, MYSQLI, OPENSSL, SOCKETS, TOKENIZER, XMLREADER, ZLIB, EXIF, GETTEXT,

Теперь поставим модуль php для apache. Он теперь стал почему-то отдельным портом. Я не сразу первый раз сообразил, куда делся модуль, который всегда ставился вместе с портом php. В общем, ставим отдельно:

Для того, чтобы apache правильно обрабатывал php файлы, необходимо в конфиг httpd.conf добавить следующие строки:

Теперь можно запустить apache и проверить, все ли у нас в порядке. Сначала проверим, нет ли у нас ошибок в конфигурации:

У нас ошибка, модуль mod_rewrite не подключен. Чтобы это исправить, раскомментируем в конфиге апача строку

Снова ошибка, но не критичная, можно работать и с ней, но мы все равно ее исправим. В фале httpd.conf находим строку со значением ServerName и приводим ее к виду:

Сохраняем файл, проверяем конфигурацию:

Все в порядке, можно стартовать apache:

Проверяем, все ли запустилось:

Если получаете что-то подобное, значит все в порядке. Сейчас можно в браузере набрать http://ip-сервера/ и увидеть страничку с одной единственной надписью:

Это означает, что веб сервер apache работает, все в порядке.

Настройка frontend сервера nginx

Теперь будем настраивать наш frontend — nginx. Он будет смотреть в интернет и принимать запросы от пользователей, чтобы потом их перенаправлять на apache. Идем в порты и устанавливаем nginx:

Добавим nginx в автозагрузку:

Редактируем конфиг nginx /usr/local/etc/nginx/nginx.conf, приводим его к следующему виду:

Указываем свой внешний ip адрес. Проверяем настройки nginx:

Теперь необходимо изменить конфигурацию apache, чтобы он слушал только локальный интерфейс 127.0.0.1, а все внешние запросы принимал nginx и перенаправлял к apache. Меняем в /usr/local/etc/apache24/httpd.conf строку с параметром Listen, приводим к виду:

Наш веб сервер готов. Теперь проверим его работу. Создадим в папке /web/sites/websrv.local/www файл index.php с содержимым

Заходим в браузере по адресу http://websrb.local

Если вы видите информацию о версии php и его модулях, значит все настроено и работает.

Установка phpmyadmin на виртуальный хост

Остался последний шаг в нашем деле — установка phpmyadmin. В принципе, wordpress можно установить уже сейчас, но без удобного средства работы с mysql как-то неловко. В будущем оно все равно пригодится. Так что ставим из портов:

По-умолчанию, phpmyadmin устанавливается в папку /usr/local/www/phpMyAdmin, но так как мы для него создали отдельный виртуальный хост, то переносим все содержимое папки туда:

источник

База знаний
Try 2 Fix beta

FreeBSD 11: WEB-сервер своими руками. MySQL 5.5 + Nginx + PHP-FPM 5.6

Инструкция по настройке полноценного WEB-сервер на основе FreeBSD 11. В комплекте у нас MySQL 5.5, PHP-FPM 5.6.27 и Nginx. Никаких невероятных откровений по тюнингу и быстродействию Вы здесь не найдёте. Наша цель получить готовый WEB-сервер с полным набором приложений максимально простым путём. Поехали.

Установка MySQL 5.5

Параметр config-recursive позволяет сразу выбрать составляющие всех подтянутых портов, чтобы после их выбора Вам осталось только ждать окончания установки.

  • Добавляем в автозапуск
  • Запускаем MySQL сервер:
  • Проверяем статус MySQL

    Если всё хорошо, увидим что-то вроде

    pid может быть любой.

  • Запускаем первоначальную настройку MySQL для удаления тестовых БД и задания пароля:
  • Проверяем работает ли указанный пароль:

    Вводим пароль и видим, что в начале строки появилось

    MySQL работает! Идём дальше!

    Установка PHP-FPM 5.6

    Обязательно ставим галочку Build FPM version. Ждём окончания установки.
    Ставим все расширения, которые могут нам понадобиться:

    Обязательно в расширениях выберите MySQL!

  • Добавляем PHP-FPM в автозагрузку FreeBSD:
  • Делаем небольшие правки конфигурационного файла PHP-FPM

    Проверим, не ошиблись ли мы во время правки файла

    и смотрим статус процесса

    Уже 2 шага позади. Двигаемся дальше!

    Установка Nginx

    1. Ничего не меняется, идём в порты и ставим
    2. Сразу добавим Nginx в автозагрузку:
    3. Правим nginx.conf. Для тестов сильно править стандартный конфиг мы не будем. Просто отметим места, которые НЕОБХОДИМЫ для запуска Nginx в связке с PHP-FPM. Тюнинг Nginx — отдельная тема! Отметим здесь следующие моменты: в секции localtion добавим index.php. Далее блок, отвечающий за PHP: здесь мы дописываем путь root как у location, к fastcgi_pass дописываем unix:/tmp/php-fpm.sock (который мы указали при настройке PHP-FPM в php-fpm.conf), остальное просто примите на веру!
    4. Проверяем правильность заполнения конфига:

    В папке, которая у нас указана как корень сервера, создаём файл index.php, файл index.html удаляем. Содержимое index.php приведено ниже.

    Этот файл, при запросе к нему, отдаст Вам всю информацию по серверу.

  • Запускаем Nginx, проверяем статус
  • Запросим эту страницу через браузер, указав IP адрес сервера FreeBSD, например 10.10.10.100. Увидим страницу с фиолетовым заголовком, в котором будет красоваться

    Читайте также:  Установка регулировки подсветки хендай солярис

    PHP Version 5.6.27. С Nginx закончили!

    На этом всё. Полноценный WEB-сервер работает!

    Эти статьи будут Вам интересны

    Проверка согласованности разделов реестра SQL Server — Ошибка при установке MS SQL Express

    На одном из ПК наших клиентов для работы программы Альта-Софт ГТД потребовалось установить Microsoft SQL Server. При установке Express версии указанного сервера (и 2008, и 2012, и 2014) при проверке глобальных правил, появлялось неинформативное слово «Ошибка» напротив пункта «Проверка согласованности разделов реестра SQL Server». Чистка реестра CCleaner, откат системы и прочие ухищрения не помогали. Не помог даже пропуск проверки глобальных правил. но мы нашли выход. Го!

    Windows 10: Служба профилей пользователей препятствует входу в систему

    Вы создали нового пользователя на ПК или ноутбуке с Windows 10, затем пытаетесь войти в систему с новой учётной записью, но видите сообщение «Служба профилей пользователей препятствует входу в систему». Всё очень просто (если у Вас точно Windows 10: для Windows 7 всё немного сложнее).

    СБИС++: Сдача больничных листов в ФСС

    Наш бухгалтер снова толкает нас на подвиги: потребовалась сдача листов о временной нетрудоспособности (больничных листов) в электронном виде через СБИС++. Мы нашли множество инструкций как это сделать, но есть одна загвоздка: такого отчёта нет в списке. Находим его!

    База знаний «Try 2 Fix» Beta

    Все материалы свободны
    к распространению с обязательным
    указанием источника

    источник

    Установка web server на freebsd

    В качестве примера используются apache24, php5, mysql56.
    Операционная система — FreeBSD 10.

    Подготавливаем сервер

    Заходим под суперпользователем:

    Выставляем часовой пояс (у меня московское время) и сразу синхронизируем время:

    # cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime; ntpdate 0.freebsd.pool.ntp.org;

    Создаем задание в cron для автоматической синхронизации времени каждую ночь:

    # echo ‘0 0 * * * /usr/sbin/ntpdate 0.freebsd.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab
    # freebsd-update fetch && freebsd-update install

    Установка и настройка MySQL

    Устанавливаем из пакета mysql-server:

    # pkg install -y mysql56-server

    Разрешаем запуск демона mysql:

    # echo ‘mysql_enable=»YES»‘ >> /etc/rc.conf
    # service mysql-server start

    Меняем пароль для пользователя root в mysql:

    # mysqladmin -u root password

    Установка и настройка Apache

    Указываем правильное имя сервера через файл hosts:

    192.168.166.155 dmosk dmosk.local

    * IP-адрес указан для локального сервера, для внешнего сервера указываем внешний адрес. dmosk — имя моего сервера.

    Разрешаем запуск демона apache24:

    # echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf

    Отредактируем файл конфигурации для apache:

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

    MaxClients 200

    HostnameLookups Off

    * ServerName указывает имя сервера, Include стоит раскомментировать при использовании виртуальных доменов (рекомендуется), MaxClients указывает на максимальное количество одновременно созданных процессов apache, HostnameLookups разрешает или запрещает определение имени подключенного клиента (отключение, как в примере, ускоряет работу веб-сервера Apache).

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

    # ee /usr/local/etc/apache24/extra/httpd-vhosts.conf

    * Это простейшая конфигурация для виртуального сервера. Она принимает любые запросы на сервер по http (80 порт) и запускает скрипт в директории DocumentRoot. Рекомендую посмотреть в сети Интернет более полные примеры для настройки виртуальных доменов Apache.

    Проверяем работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть ответ «It Works!»

    Установка и настройка PHP

    Устанавливаем интерпретатор PHP с необходимыми модулями:

    # pkg install -y php5 mod_php5 php5-extensions php5-mysqli php5-mysql

    Редактируем файл конфигурации php.ini:

    * Это пример самых распространенных параметров, которые приходится редактировать. date.timezone определяет временную зону. magic_quotes_gpc, в данном примере, отключает экранирование кавычек («волшебных кавычек»). upload_max_filesize выставляет лимит для одного загружаемого на сервер файла. post_max_size выставляет лимит для всех загружаемых на сервер файлов. max_execution_time — это лимит времени в секундах, которое будет выделено на работу скрипта; при превышении этого времени сервер вернет ошибку (0, как в примере не лимитирует выполнение скрипта по времени).

    Измените конфигурацию сервера Apache для подключения модуля PHP:

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

    AddType application/x-httpd-php .php .php3 .phtml

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

    DirectoryIndex index.html index.htm index.php

    * AddType вставляется внутри IfModule mime_module и устанавливает правила обработки скриптов PHP. DirectoryIndex задает индексный файл по умолчанию; если скрипт не задан явно в запросе, будет запущен именно он.

    Переходим в корневую директорию расположения скриптов и переименовываем индексный файл:

    # cd /usr/local/www/apache24/data && mv index.html index.php

    Теперь добавляем в него функцию вызова параметров настройки сервера phpinfo():

    Проверьте работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть много параметров в различных таблицах.

    Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.

    источник

    Веб-сервер на FreeBSD

    FreeBSD предоставляет множество возможностей для организации работы в сети интернет и не только. На сегодняшний день трудно представить интернет без Unix-систем, частью семейства которого является FreeBSD. Ранее был пост с описанием настройки сети FreeBSD, теперь пришло время поговорить о том, как настроить связку Apache + PHP + MySQL.
    Весь процесс установки мы разделим на следующие основные шаги:

    1. Обновление портов

    Приступаем к установке и настройке, первым делом обновляем порты. Коллекция портов — это набор файлов (makefile, патчи, описание и т.д.), которые хранятся в директории /usr/ports, и предназначены для построения, установки приложений во FreeBSD. Для получения коллекции портов, мы воспользуемся инструментом Portsnap.

    Скачиваем snapshot основного дерева портов:

    Распаковываем дерево портов, используя команду:

    После того как у нас будет свежая коллекция портов, мы приступим к установке из них нужных нам приложений.

    2. Установка Apache

    Apache – приложение, выполняющее роль веб-сервера, он надёжен, гибок в плане настроек, кроссплатформенный, кроме того является свободно распространяемым программным обеспечением. Его популярность более чем велика в сети интернет.

    Определим его местонахождение в коллекции портов, для этого воспользуемся командой whereis:

    Результат выполнения команды будет примерно следующим:
    apache22: /usr/ports/www/apache22

    Проходим в указанный каталог:

    После этого должно появиться меню с опциями для Apache, появляться их будет несколько в ходе компиляции.
    Здесь вы можете включить / отключить поддержку различных дополнений, которые возможно потребуется для реализации вашей задачи. Символ «x» в квадратных скобках означает, что опция включена, переключать можно клавишей «пробел». Перемещаться между опциями можно клавишами «вверх — вниз».

    Если Apache скомпилировался успешно, можно прописать основные настройки в его конфигурационном файле httpd.conf.

    Открываем конфигурационный файл для редактирования:

    Примерно на строке 148 находим строку с записью:
    #ServerName www.example.com:80

    Раскомментируем запись (убираем символ «#» перед строкой), далее указываем свой домен, либо ip-адрес сервера (вместо www.example.com), по которому можно будет обращаться к сайту.


    Выйти из редактора с сохранением изменений можно нажав клавиши «Ctrl+C», после чего ввести команду «exit».

    Далее необходимо задать параметр apache22_enable в файле /etc/rc.conf:

    После успешного старта Apache следует проверить работу веб-сервера. Для этого открываем браузер на десктопе, с возможностью сетевого доступа к серверу, набираем адрес сервера, если сервер работает, в ответ придет тестовая страница с надписью «It works!».

    Дополнительно рекомендую почитать документацию «Apache HTTP сервер».

    3. Установка PHP

    Следующий наш шаг, это установка компилятора PHP. PHP – один из популярных сценарных языков программирования для сети Интернет (наряду с JSP, Perl, и языками используемыми в ASP.NET), благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

    Определяем местонахождение портов php:

    Результат, возвращаемый командной строкой:
    php5: /usr/port/lang/php5

    Вам будет представлено меню с опциями выбора компонентов для PHP, в ходе компиляции их может быть несколько. Здесь вы можете включить дополнительные компоненты в установку PHP. Нам необходимо добавить пункт «APACHE» для связки PHP и Apache.


    Затем, как PHP интерпретатор будет успешно установлен, необходимо в конфигурационный файл Apache (httpd.conf) прописать пару строк.

    Открываем конфигурационный файл для редактирования:

    Сохраняем сделанные изменения в конфигурационном файле, перезапускаем Apache:

    Проверим, PHP скрипты должны отрабатываться интерпретатором. Попробуем создать тестовый файл-скрипт, и обратимся к нему через браузер. Наша публичная директория веб-сервера находиться по адресу /usr/local/www/apache22/data/, разместим в ней файл index.php:

    Обращаемся к скрипту через браузер (набираем адрес_веб-сервера/index.php). Если всё работает, то результат работы функции phpinfo() будет показан в браузере, в виде таблицы с параметрами PHP.

    4. Установка MySQL

    Современный веб-сервер трудно представить без системы управления базами данных, таковой является MySQL.
    MySQL – свободная реляционная СУБД, широко применяется различными приложениями для хранения данных. Одна из популярных систем хранения баз данных в сети интернет, так же широко используется различными движками сайтов.

    Находим MySQL в дереве портов FreeBSD:

    Переходим в директорию, где находятся файлы, для установки MySQL:

    После установки проверяем наличие записей параметров MySQL в информации выводимой функцией phpinfo().

    5. Дополнения

    PHP-Extensions — это расширения, которые устанавливаются для добавления функционала PHP. В него так же входят механизмы для работы с MySQL сервером, поэтому дополнение может быть весьма полезным.

    Находим местонахождение PHP-extensions:

    Переходим в директорию портов:

    Появиться конфигурационное меню, в котором следует выбрать поля MySQL и MySQLI, после чего на этапе компиляции так же будет показано несколько окон меню, там можно оставить всё как есть.

    После успешной установки в «phpinfo» также появятся записи mysql и mysqli:

    Итак, мы завершили установку связки Apache + PHP + MySQL. Стоит заметить, что здесь мы рассмотрели лишь «базовую» установку приложений. Как известно всё это дело так же можно настраивать под конкретные задачи, но в данном посту мы этого делать не будем. Вообщем, до скорого!

    источник

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

    Adblock
    detector