УСТАНОВКА ВЕБ СЕРВЕРА НА RASPBERRY

Тема в разделе "Raspberry", создана пользователем Транклюкатор, 1 фев 2018.

  1. Транклюкатор

    Транклюкатор Господин ПЖ

    Установка Raspbian на Raspberry pi
    Прежде всего у вас должен быть карт ридер, чтобы загрузить на SD карту операционную систему Raspbian. По сути это тот же Debian но с адаптацией под Raspberry pi.

    Я бы советовал использовать решение из коробки, с автоматическим установщиком нужной OC на карту памяти. В специальном руководстве для новичков, вы можете узнать как ее установить.

    Если коротко, то вам необходимо отформатировать вашу карту в формате FAT программой SD Formatter, скачать автоматический установщик, выбрать OC и дождаться ее загрузки на карту. В нашем случаи это будет Raspbian.



    Первый запуск Raspberry pi
    При первом запуске Вам понадобиться монитор с выходом на hdmi (либо переходником) и клавиатура. Подключить вы их сможете через USB порты вашего raspberry. Далее вставьте карту памяти в Raspberry pi и подключите блок питания к устройству. Чуть не забыл про LAN кабель, его тоже следует подключить, а иначе у устройства не будет доступа к интернету. Если все сделано правильно, то после включения Вы увидите много бегущего текста в конце которого предстанет меню конфигурации.



    Интерфейс Raspi-config
    [​IMG]

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

    Меняем пароль пользователя
    Далее рекомендуется поменять пароль пользователя Change User Password, вам будет предложено ввести новый пароль 2 раза. Не ошибитесь с раскладкой.

    Логин и пароль по умолчанию: pi/raspbian

    Добавляем русский язык
    Переходим в пункт Internationalisation Options и в нем выбираем Change Locale в открывшемся списке опуститесь до пункта ru_RU.UTF-8 UTF-8 и нажмите пробел, тем самым выбрав Русский язык. Далее кнопкой Tab переключитесь на пункт Ok чтобы сохранить изменения.

    Дополнительные настройки
    [​IMG]

    Перейдите к пункту Advanced Options он раскроет перед вами список дополнительных настроек где необходимо внести еще 2 изменения.

    Hostname (не обязательно)
    Чтобы сменить имя хоста, нажмите на Hostname и впишите свое название сервера. Например: pedanto.com

    Включение SSH
    Также вам необходимо включить SSH для работы с командной строкой через putty делается это там же в дополнительных настройках.

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

    Снова открыть консоль настроек можно используя команду: sudo raspi-config



    Настройка роутера и сети
    Чтобы наше устройство было видно извне мы должны получить свой статический внешний IP адрес. Купить его можно у провайдера и как правило он не стоит больше доллара в месяц. В противном случаи на Ваши сайты заходить сможете только Вы.

    Узнаем IP адрес на котором висит Raspberry
    Далее нужно узнать какой сетевой IP был назначен роутером для Raspberry. В консоли нужно прописать соответствующую команду

    hostname -I

    Позволяет узнать на каком IP у роутера висит Raspberry

    Узнаем IP роутера
    Обычно IP адрес роутера такой: http://192.168.1.1, но в моем случаи он выглядит так miwifi.com

    Чтобы узнать адрес наверняка, переверните Ваш роутер и посмотрите на наклейку снизу. Там как правило есть вся необходимая информация.

    Логин и пароль всех роутеров по умолчанию: admin/admin

    Открытие 80 порта
    В настройках роутера, вам необходимо задать правило проброса портов. Дело в том что у вас есть 2 IP адреса, внешний (который выделил провайдер) и внутренний (который выделил роутер вашему raspberry) и ваша задача сделать так, чтобы при обращении кого-либо в интернете на ваш внешний IP адрес, роутер понимал информацию с какого внутреннего IP необходимо отображать.

    В http протоколе используется 80 TCP порт, поэтому необходимо сделать port forwarding в Вашем роутере.

    Я понимаю что роутеры у всех разные, поэтому изучите настройки своего и найдите аналогичное меню.

    У меня это выглядит так:

    [​IMG]

    После этого при обращении на ваш внешний IP посетитель будет получать данные генерируемые вашим Raspberry pi. Но пока он у нас нечего не генерирует, и сейчас мы это будем исправлять.



    Подключаемся по SSH
    Вы конечно можете продолжать использовать монитор и клавиатуру для работы с Вашим raspberry pi, но я предпочитаю вводить все команды удаленно через putty, так как клавиатура и монитор у меня всего одни, и без них мой основной компьютер не работает как следует :)

    Для подключения к Putty используйте внутренний IP вашего Raspberry, и в целях безопасности не советую открывать доступ к консоли извне.

    [​IMG]

    После того как откроется консоль вас попросит ввести логин и пароль от Raspberry, по умолчанию это: pi/raspbian, но вы наверняка уже поменяли пароль при настройке, которую мы делали выше вот и используйте его.

    Интерфейс консоли выглядит так, привыкайте:

    [​IMG]

    Теперь наш Raspberry будет получать все необходимые задания удаленно через консоль. И первым таким заданием станет установка WEB сервера ajenti на raspberry pi.



    Установка Ajenti через Putty
    [​IMG]

    Используя Putty пишем следующую команду

    sudo -s

    Это переключит нас в режим root и избавит от лишних подтверждений во время установки.

    Далее нам следует установить базовую панель Ajenti

    wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-debian.sh | sh

    Дождитесь завершения установки и после выполнения перезагрузите ajenti

    service ajenti restart

    После этого устанавливаем Web модуль Ajenti, без него мы не сможем управлять сайтами в панели

    apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-ftp-pureftpd ajenti-v-php-fpm php5-curl

    По окончанию, снова перезагружаем Ajenti

    service ajenti restart

    Не забываем про необходимые компоненты работы с изображениями и БД

    apt-get install php5-mysql imagemagick php5-imagick php5-gd

    И опять перезагрузка (на всякий случай)

    service ajenti restart

    Полное удаление Apache (если он установлен)
    Так как Ajenti яростно не дружит с Apache его следует не просто отключить, а полностью удалить с сервера, ибо он может вызывать конфликты из за которых сайты не будут работать должным образом. Даже если вам кажется что он у вас не установлен, лучше проделайте эту процедуру.

    Первым делом останавливаем Apache

    sudo service apache2 stop

    После подчищаем все его компоненты

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common

    sudo apt-get autoremove --purge

    sudo rm -Rf /etc/apache2 /usr/lib/apache2 /usr/include/apache2

    Перезагружаем сервер

    sudo reboot

    Вот и все! Сервер полностью готов к эксплуатации, и теперь можно приступить к добавлению сайта в панель управления.

    Интерфейс панели управления Ajenti
    Попасть в панель Ajenti вы можете по адресу, который роутер назначил вашему Raspberry Pi.
    В моем случаи адрес https://192.168.31.139:8000/

    Обратите внимание на протокол https в начале, и порт 8000 в конце, это важно!

    [​IMG]

    Браузер Chrome будет ругаться что Ваше подключение не защищено, проигнорируйте это сообщение.

    При входе Ajenti потребует ввод пароля.

    [​IMG]

    Пароль к Ajenti умолчанию: root/admin

    В дальнейшем вы можете поменять пароль в настройках Ajenti.

    Рассмотрим органы управления панели Ajenti и как с ней взаимодействовать чтобы сайты работали безотказно.

    Раздел Веб-сайты
    Если Вы правильно установили ajenti, то в панели управления слева появится категория "WEB", c пунктом меню "Веб-сайты". Управление доменами и сайтами сервера происходит здесь.

    Проверяем конфигурацию
    Чтобы убедится что Ajenti настроена правильно, в панели "Проверка Конфигурации" нажмите кнопку Обновить. У вас должна получится следующая картина.

    [​IMG]

    Если хоть один сервис выдаст ошибку - сайт не запустится! Убедитесь что Apache отсутствует в этом списке.

    Добавление сайта
    Придумайте название сайту, или впишите домен и нажмите кнопку создать.

    [​IMG]

    В списке появится сайт, а справа кнопка "Управление", нажав на нее мы попадем на страницу конфигурации сайта.



    Страница управления сайтом
    Здесь настраиваются домены, обработчик PHP, nginx конфиг (аналог .htaccess), базы данных, FTP и папка установки файлов сайта.

    Общие
    [​IMG]

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

    Домены
    [​IMG]

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

    Содержимое
    [​IMG]

    Здесь настраиваем php обработку. Для этого напротив PHP FastCGI нажмите создать. В появившемся разделе PHP прописываются значения php.ini. Советую сразу же вписать туда следующий код.

    open_basedir = none;
    upload_max_filesize = 100M;
    post_max_size = 100M;

    Это позволит загружать на серфер файлы размером до 100 мегабайт.

    Расширенные
    [​IMG]

    Здесь задается конфигурация nginx параметров. Что по сути альтернатива .htaccess файла на серверах с Apache. Чтобы конвертировать параметры htaccess в nginx при помощи специального сервиса. Деля это обратите внимание на обертку location, она не везде нужна. Советую добавлять код поэтапно.

    FTP и MySQL
    Тут создаем базу данных и пользователя FTP.

    Лайфхак:
    Чтобы создать одного пользователя FTP для нескольких сайтов в одном каталоге, создайте пользователя на новом сайте (можно без домена) с указанием пути к нему.

    Сохранение параметров
    Для сохранения параметров сайта, нажмите "Применить изменения" внизу. Если домен правильно настроен, то перейдя по адресу в браузере Вы увидите ошибку 403, 404, или 503 в случаи если галочка с "режима обслуживания" не снята. Если так, значит сайт настроен правильно!

    Первоисточник Настройка панели управления Ajenti - Публикации на Pedanto
     
    Последнее редактирование: 19 мар 2019
    Izilda и Levin нравится это.
  2. Levin

    Levin Пацак

    Спасибо, как раз валяется малинка, сделаю внутрисетевой игровой сервер.
     
    Izilda нравится это.
  3. Транклюкатор

    Транклюкатор Господин ПЖ

    Последнее редактирование: 14 фев 2018
    Izilda нравится это.
  4. 06shurik

    06shurik Пришелец

    как установить ее на Raspbery pi 4?
     
  5. Транклюкатор

    Транклюкатор Господин ПЖ

    Четверки у меня нет, но думаю, что установка не сильно отличается от этой, что описана выше.
     
  6. Транклюкатор

    Транклюкатор Господин ПЖ

    Настройка NGINX