Блог о программировании, электронике и рыбалке

Raspberry Pi — установка веб-сервера

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi  Пошаговая инструкция по установке веб-сервера на Raspberry Pi.

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

Установка веб-сервера nginx на Raspberry Pi

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

sudo apt-get install nginx

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Соглашаемся с установкой, нажав "y".

Перезагружаем Raspberry Pi командой

sudo reboot

Вводим в браузере IP адрес Raspberry Pi

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

nginx установлен и работает нормально.

Установка PHP на Raspberry Pi

Набираем в консоли команду

sudo apt-get install php5-fpm php5-gd php5-curl php5-mcrypt

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Соглашаемся с установкой пакетов, нажав "y".

Установка MySQL на Raspberry Pi

Набираем в консоли команду

sudo apt-get install mysql-server php5-mysql

Соглашаемся с установкой пакетов нажав "y".

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Вводим пароль пользователя "root" для MySQL

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Повторяем пароль

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Настройка веб-сервера на Raspberry Pi

Все необходимое мы установили и нам осталось только все настроить. На самом деле настроить необходимо только nginx.

По умолчанию домашним каталогом нашего веб-сервера является /usr/share/nginx/www

Давайте заменим его на  /home/www для удобства доступа.

Для начала создадим сам каталог/home/www.

В консоли набираем:

sudo mkdir /home/www

Теперь открываем файл /etc/nginx/sites-available/default для внесения изменений.

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Находим в нем строку root /usr/share/nginx/www и заменяем ее на root /home/www

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Строку index index.html index.htm; заменяем на index index.html index.htm index.php;

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Включаем PHP. Для этого

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#    fastcgi_split_path_info ^(.+\.php)(/.+)$;
#    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
#    # With php5-cgi alone:
#    fastcgi_pass 127.0.0.1:9000;
#    # With php5-fpm:
#    fastcgi_pass unix:/var/run/php5-fpm.sock;
#    fastcgi_index index.php;
#    include fastcgi_params;
#}

заменяем на

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
#    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
#    # With php5-cgi alone:
#    fastcgi_pass 127.0.0.1:9000;
#    # With php5-fpm:
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Перезапускаем nginx командой

sudo service nginx restart

Для проверки создаем в /home/www файл index.php с содержанием:

<?php phpinfo(); ?>

Вводим в браузере IP нашей Raspberry Pi.

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

Установка и настройка веб-сервера на Raspberry Pi завершена.

Свой веб-сервер я пока >использую так:

веб сервер Raspberry Pi PHP nginx MySQL  raspberry pi

  • vertical_align_bottomRaspberry Pi — установка веб-сервера
    • Автор:
    • Язык: ru-RU
    • Миниатюра: https://geekelectronics.org/wp-content/uploads/2012/11/image68.png
    • Рубрика: Raspberry Pi
    • Метки: , , , ,
    • Обновлено: 15.08.2017
    • Комментариев: 61
    • Просмотров: 51 291
  • Оцените статью - я старался
    1 Star2 Stars3 Stars4 Stars5 Stars (23 votes, average: 5,00 out of 5)
    Загрузка...
  • Поделитесь с друзьями
logo

Комментариев: 61

  • КирилКа:

    А такой веб-сервис сайт на wordpress или Drupal потянет ?

    • source™:

      Пока не пробовал, но WordPress довольно тяжелый движек. Побаловаться может и получиться, а как рабочий проект - вряд-ли.
      Я тут изначально для работы с базами ставил phpmyadmin - тормозил сильно.
      Сейчас заменил его на SQL Buddy - все летает.

  • КирилКа:

    Ну мне как раз побаловаться. На ближайших выходных попробую.
    Вы на форуме онлайнера писали, что собрали чистый как слеза образ Raspbian. С ним что-то не так или еще не загрузили на файлообменник ?

    • source™:

      Все получилось. Уже и новость по этому поводу написал - я просто ее публикацию запланировал на 16 число. Тут пару дней осталось. Если время не терпит - отпишите в асю - скину ссылку.

  • Саша:

    Хорошая инструкция. У меня заработало.
    Правда пока не придумал, что разместить на таком веб-сервере :)

  • TheMrWooyGuy:

    Сайт заработал, php статистику показывает, но такая проблема, балуюсь с формой обратной связи, при отправке получаю сообщение 405 Not Allowed.
    вот ссылка на файл формы, http://www.script-php.ru/engine/download.php?id=448
    подскажи пожалуйста что нужно перенастроить чтоб это дело заработало на Ras-Pi

    • source™:

      Видимо какой-то модуль в PHP надо доставить, но я не могу вам сказать какой именно.

  • Alex:

    Спасибо за такую подробную инструкцию. Я заказал Raspberry именно для этого, у меня есть страница в интернете, для этого я должен снимать целый хостинг.
    У меня просто несколько страниц в html. Базы и php не использую. Посещений немного. Хотел попрбовать поставить такой веб сервер. И привязать домен к моему IP, он статичный. Но как это сделать?
    Еще было бы неплохо сделать почтовый клиент, который бы просто перенаправлял письма с моего домена на gmail.
    Что посоветуете?

  • Роман:

    А как прикрутить phpmyadmin ко всему этому теперь? я попробовал его поставить, в процессе установки phpmyadmin мне выдал предложение авто-настройки всех параметров, но там был только апач и httpd а nginx не было. в итоге они так и не подружились((

    • source™:

      я просто скачал его и закинул на малинку. Все работает.
      Там правда модкль для PHP потом попросит доставить - но там все понятно будет раписано

  • Максим:

    Отличная статья! Скажите как бы себе замутить такую сетевую статистику, как вы ее сделали?

    • source™:

      не смог вот я повторить процесс создания статистики - что-то уже призыбыл

    • Павел:

      Сетевая статистика сделана с помощью Multi Router Traffic Grapher
      http://oss.oetiker.ch/mrtg/

  • Lord:

    Прежде чем спросить, благодарю автора за потраченной с пользой время.
    Довольно часто "слышал" про сервер/мини-сервер на плате, но что бы показли реальный пример, такого не было.
    Меня интересует вот такой момент: я бы хотел поднять на малинке форум с небольшой посещаемостью, где-то до 50 человек, может быть со временем он разрастется до 100. В к-ве движка хочу использовать MiniBB, как самый легкий и практичный в плане затраты ресурсов. Но он, как и все использует БД MySql, боюсь может виснут все. Подскажите пожалуйста, Если есть какие-то мысли.

    • source™:

      надо пробовать - что еще сказать
      может MiniBB не так активно использует базу как wordpress
      а вообще я бы не рекомендовал рабочий проект кидать на малинку, так как те же поисковики своей индексацией положат ваш форум

  • olannmk:

    Привет.
    Подскажи чем выводишь статистику графики, аптайм и прочее на странице Моя Raspberry Pi?

  • anton:

    может, лучше SQLite? mysql тяжеловат для малинки.

  • Roman:

    Я не совсем понял, каким образом доступ к веб-серверу на малине происходит из интернета (86.57.161.244), а не из локальной сети.

    • source:

      купил у провайдера статический IP
      перенаправил в роутере 80 порт на малинку
      все просто

      • Tirarex:

        Можно узнать как настроить порт в роутере ?

        • source:

          в разных моделях и у разных производителей интерфейс отличается
          поищите в интернете описание своей модели

          в моем китайце нужные настройки находятся в Advanced Setup - NAT - Virtual Server

          • Tirarex:

            Product Name ZXDSL 832CII

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

          • Tirarex:

            нашел раздел описанный вами , но как его заполнить ?
            вот такая картина : http://rghost.ru/49703793

          • source™:
          • Tirarex:

            вроде настроил но при вводе моего ip в адресную строку ,моего сайта нет (юзаю только nginx)

          • source™:

            у вас ваш сайт будет доступен по внутреннему IP, а у всех остальных по внешнему
            по вашему внешнему IP у вас, скорее всего, откроется страничка настроек модема
            для проверки можете через прокси проверить видимость сайта

          • source™:

            еще, возможно, ваш провайдер не позволяет подключаться на 80 порт - надо уточнить в поддержке

          • Tirarex:

            как переместить мой сайт на внешний ip ?

            (простите за кучу вопросов , я мало осведомлён в данной сфере но есть большой интерес )

          • source™:

            по внутреннему IP малинки ваш сайт доступен ? 192.168.xxx.xxx
            это IP и надо было прописать в настройках модема

          • Tirarex:

            давайте лучше в skype дабы не засорять сайт
            Tirarex_vg

  • DENIS:

    Последнее время я использую Valentina Studio для работы с MySQL. Очень хороший и бесплатный инструмент, рекомендую посмотреть.http://www.valentina-db.com/en/valentina-studio-overview

  • Вопрос к автору, не могли бы выложить образ флешки готового WEB сервера для малинки, очень прошу?..

  • source:

    к сожалению, не могу
    а что у вас не получается ?

    • Пока нет, не могу wi-fi грамотно настроить, к сожалению я программист, м системным ПО не очень дружу.

  • shsmith:

    Огромное спасибо за статьи! Для начинающих - это просто находка.
    Буду признателен если про настройку sql buddy напишите тоже для чайников.

  • Hacker:

    Может кто-нибудь поделиться опытом успешной установки MariaDB вместо MySQL на малинку?

  • Евгений:

    мне интересно что на по последнем скрине за статистика, точнее как поставить, PHP файлик где взять и нужно ли для него какой то пакет ставить?

    • source™:

      графики рисует пакет MRTG
      я его не сам настраивал, поэтому не помогу

  • Данила:

    Не могу создать файл index.php, пишет "permission denied"

  • Антон:

    Здравствуйте. Все сделал по Вашей инструкции. Заработало, но не все. Страничка index.php не заработала :( Хотя index.html работает.
    Подскажите пожалуйста, в чем может быть проблема.

  • лось:

    Спасибо за инфу !!! По больше бы таких людей !!!!

  • Дмитрий:

    Вот, интересно, развернули на Raspberry web2py сервер. Вот здесь малинка следит за солнечной станцией и копит все данные. По сети к ней подключается хозяин и смотрит статистику. Думаю, что дополнительно он и управляет станцией через Raspberry

  • Anton:

    А чем обусловлен выбор сервера Апач, который крутится на Банана Пи?

  • Alexey:

    Добрый день. Установил nginx и php, по данной статье, HTML страницы сервер отдает, а при запуске php, пустая страница. Подскажите в чем может быть дело?

    • source™:

      Где-то Ошибочка в конфиге при подключении php

      • Егор:

        Alexey, вот здесь описана Ваша проблема: http://blog.tataranovich.com/2015/02/nginx-php-fpm-debian-jessie.html

        • Дмитрий:

          Можете написать решение

          • Дмитрий:

            Нашел

            добавляем в конец конструкции

            location ~ \.php$ {
            .
            .
            .
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }

  • Sergey:

    Помогите, пожалуйста...
    Скрипт на питоне опрашивает датчик DHT22, температуру и влажность выводит просто в командную строку. Что дописать в скрипте, чтобы эти две циферки тупо положить на страничку nginx веб сервера?

    • source™:

      может просто при запуске скрипта сделать его вывод результата в текстовый файл, а из него уже читать значения для отображения на странице?
      "строка запуска скрипта > путь к файлу для сохранения результатов работы"
      пример:
      netstat -ntu > /tmp/test.txt

  • Sergey:

    Спасибо за помощь начинающим! ;)
    Теперь буду осиливать следующий этап - с хранением и выборкой данных из базы MySQL

    • source™:

      я даже немного завидую. у вас все интересное еще впереди :)

  • Михаил:

    у кого нибудь есть стандартный файл конфига default.
    а то где-то накосячил, сервер не работает теперь и второй файл где количество процессоров надо указывать есть?

  • Жанибек:

    конце я вел свой ip адрес в dillo браузер но у меня выходит bad gateway что это

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

vertical_align_top
banner