Меню Рубрики

Установка web сервера raspberry

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

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

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

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

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

sudo apt-get install nginx

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

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

sudo reboot

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

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

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

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

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

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

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

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

sudo apt-get install mysql-server php5-mysql

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

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

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

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

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

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

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

sudo mkdir /home/www

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

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

Строку index index.html index.htm; заменяем на index index.html index.htm index.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;
>

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

sudo service nginx restart

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

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

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

источник

Делаем умный дом с нуля. Часть 4 — установка и настройка Web-сервера на Raspberry pi

Сегодня мы будем устанавливать и настраивать Web-сервер на микрокомпьютере Raspberry pi. Web-сервер просто необходим для работы платформы умного дома MajorDoMo, которую мы собираемся использовать для построения системы домашней автоматизации. MajorDoMo, по большому счету, представляет собой обычный веб-сайт.

Перед началом установки нам понадобится подключить питание к микрокомпьютеру и удаленно зайти на него с обычного ПК через программу PuTTY. Как всё это делается было рассмотрено в предыдущих статьях.

Повторюсь еще раз, на официальном сайте Majordomo для Raspberry pi 3 есть готовый образ операционной системы с предустановленной платформой MajorDoMo. Поэтому, если у вас нет желания поближе познакомиться с операционной системой Линукс (в нашем случае Raspbian), то можете просто скачать этот образ, и установить его на свой микрокомпьютер. Эту и следующую статью в данном случае можно не читать.

Если вы тоже решили ставить все по отдельности, или используете микрокомпьютер, для которого нет готового образа системы с MajorDoMo, то давайте двигаться дальше.

За основу установки Web-сервера и MajorDoMo на одноплатный компьютер Raspberry pi, была взята статья с официального сайта — как установить Majordomo на Linux. Из этой статьи было убрано все ненужное для ОС Raspbian, и кое-что расписано поподробнее. Скриншоты консоли я выкладывать не буду, так как они не очень информативны, а буду просто давать команды, которые нужно будет ввести в командную строку.

Микрокомпьютер у нас уже включен, удаленно через программу PuTTY мы на него зашли. В консоли ввели логин и пароль, и видим перед собой командную строку. С этой строкой мы и будем работать.

Для начала нам нужно обновить программные пакеты Raspbian до актуального состояния. Делается это в два этапа. Сначала, командой

sudo apt-get update

мы загрузим полный список пакетов, предназначенных для обновления (введем в командную строку консоли эту команду и нажмем Enter). А затем, командой

sudo apt-get upgrade

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

Читайте также:  Установка разрешение экрана для mac

Теперь можно приступать к установке и настройке Web-сервера. Его мы будем делать на базе Apache. Помимо Apache, нам нужно будет установить систему управления базами данных — MySQL, скриптовый язык для работы веб-приложений — PHP и веб-интерфейс для работы с mysql — Phpmyadmin.

Установка и настройка Web-сервера Apache:

Для установки Apache, в командную строку консоли вводим команду:

sudo apt-get install apache2 apache2-utils -y

где, sudo — запуск команды с правами пользователя root, apt-get install — непосредственно команда на установку пакетов, названия которых перечисляются дальше: apache2 (web-сервер Apache) и apache2-utils (утилиты для web-сервера Apache). -y в конце команды означает, что на все запросы устанавливаемых программ автоматически будет дан ответ yes (да).

Далее, на всякий случай запретим вывод версии Apache. Для этого откроем в редакторе Nano файл по пути /etc/apache2/conf-enabled/security.conf:

sudo nano /etc/apache2/conf-enabled/security.conf

ServerTokens OS

ServerTokens Prod

Сохраним внесенные изменения сочетанием клавиш Ctrl+O, после чего нажмем Enter, и выйдем из редактора Nano сочетанием клавиш Ctrl+X.

Затем , нам нужно внести изменения в его конфигурационный файл. Этот файл расположен по пути /etc/apache2/sites-available/ и может называться (в зависимости от версии Apache) default, default.conf, 000-default.conf. Кроме того, этот файл может располагаться по пути /etc/apache2/ и называться httpd.conf.

Чтобы выяснить какой у меня конфигурационный файл, я прибегнул к помощи консольного файлового менеджера Midnight Commander. Устанавливается он командой:

sudo apt-get install mc

Запускается Midnight Commander простенькой, короткой командой:

В консоли Midnight Commander выглядит следующим образом:

В папке /etc/apache2/sites-available/, у меня лежит конфигурационный файл 000-default.conf:

Выходим из файлового менеджера, нажав клавишу F10.

Давайте теперь откроем наш конфигурационный файл, расположенный по пути /etc/apache2/sites-available/000-default.conf, при помощи консольного редактора Nano. Чтобы это сделать, введем в командную строку следующую команду:

sudo nano /etc/apache2/sites-available/000-default.conf

В этом файле нужно найти раздел , и заменить в нем все строчки

AllowOverride None

AllowOverride All

Опция AllowOverride указывает Apache, какие директивы в файле .htaccess допустимы (All — доступны все директивы).

Однако, в более новых версиях Apache конфигурационный файл может не содержать опций «AllowOverride». Это как раз мой случай, у меня этих опций нет. В таком случае необходимо вручную привести файл к следующему виду:

DocumentRoot /var/www

Options FollowSymLinks
AllowOverride All

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog $/error.log
CustomLog $/access.log combined

Я просто удалил все записи из моего конфигурационного файла, и вставил в него те, что указаны выше. После этого, комбинацией клавиш Ctrl+O сохраняем сделанные в файле изменения, и комбинацией Ctrl+X выходим из редактора Nano.

Теперь нам нужно перезапустить Apache. Делается это следующей командой:

sudo apache2ctl restart

При выполнении данной команды у меня возникла ошибка следующего содержания:

Для ее исправления необходимо внести исправления в конфигурационный файл, расположенный по пути /etc/apache2/apache2.conf. Давайте откроем этот файл в редакторе Nano командой

sudo nano /etc/apache2/apache2.conf

и в самом его конце добавим вот такую строку:

ServerName localhost

Сохраним сделанные изменения комбинацией клавиш Ctrl+O, и выйдем из редактора Nano комбинацией Ctrl+X.

Теперь снова перезапустим Apache:

sudo apache2ctl restart

Перезапуск прошел нормально, Apache к работе готов.

Устанавливаем PHP:

Чтобы установить язык программирования PHP (на котором написан MajorDoMo), нужно в командной строке ввести команду:

sudo apt-get install php php-cgi php-cli php-pear php-mysql php-mbstring php-xml -y

Эта команда установит 7 пакетов PHP и его библиотек, названия которых собственно и перечислены в команде. Подробнее о них вы можете почитать на просторах интернета.

Так же нам потребуется установить CURL и его библиотеки:

sudo apt-get install curl libcurl3 libcurl3-dev php-curl -y

CURL – это библиотека функций PHP, с помощью которой можно посылать запросы, например, HTTP, из PHP скрипта.

И еще нам надо установить PHP-модуль для веб-сервера Apache 2:

sudo apt-get install libapache2-mod-php -y

Далее, включаем конфигурацию php7.0-cgi следующей командой:

sudo a2enconf php7.0-cgi

Перезапускаем Apache, чтобы изменения вступили в силу:

sudo service apache2 reload

При помощи редактора Nano создаем файл index.php в папке /var/www/html/

Читайте также:  Установка принтера xerox workcentre 5021

sudo nano /var/www/html/index.php

После ввода этой команды перед нами откроется пустой файл. Нам нужно прописать в нем следующие строчки:

источник

Как установить веб-сервер Apache на Raspberry Pi

Главное меню » Статьи » Как установить веб-сервер Apache на Raspberry Pi

В этой статье мы расскажем, как установить веб-сервер Apache на Raspberry Pi. Мы предполагаем, что на вашем Raspberry Pi установлен Raspbian.

Установка Apache

Apache доступен в репозиториях Raspbian по умолчанию, и установка довольно проста.

Сначала обновите индекс пакета, а затем установите пакет apache2, выполнив следующие команды:

Вот и все, на данный момент на Raspberry Pi установлен веб-сервер Apache.

Чтобы убедиться, что все работает должным образом, откройте браузер, введите IP-адрес Raspberry Pi, http://PI_IP и вы увидите страницу приветствия Apache по умолчанию, как показано на рисунке ниже:

На этой странице содержится основная информация о файлах конфигурации Apache, вспомогательных сценариях и расположениях каталогов.

Эта веб-страница Apache по умолчанию названа index.html и хранится в каталоге /var/www/html. Если вы хотите изменить эту страницу, вам нужно отредактировать файл как пользователь sudo. Вы также можете удалить файл и добавить свои собственные файлы HTML.

Файлы журнала Apache access.log и error.log находятся в каталоге /var/log/apache. Если у вас возникнут какие-либо проблемы, файлы журнала должны сообщить вам, что пошло не так.

Установка PHP

Если вы хотите использовать динамические файлы PHP на вашем Raspberry Pi, вам нужно установить модуль PHP и PHP Apache:

Как только пакеты установлены для включения модуля PHP, перезапустите службу Apache:

Чтобы проверить, является ли ваш веб – сервер Apache настроен должным образом для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html с помощью следующего кода:
/var/www/html/info.php

Сохраните файл, откройте ваш браузер и посетите http://PI_IP/info.php. Эта страница покажет информацию о вашей конфигурации PHP.

Заключение

Вы успешно установили Apache и PHP на свою плату Raspberry Pi. Теперь вы можете начать использовать Apache в качестве веб-сервера или прокси-сервера.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

5 способов сделать Python-сервер на Raspberry Pi. Часть 1

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

Допустим, у нас уже есть супер Python-программа, делающая что-то очень важное, от мигания светодиодом до управления «умным домом» или хотя бы кормушкой для кота. Я покажу разные способы, от простого к сложному, как сделать web-доступ к такому приложению, добавив немного кода.

Статья расчитана для начинающих, профи вряд ли найдут здесь что-то кардинально новое, ну а новичкам в Linux надеюсь, будет полезно. Для тех кому интересно, продолжение под катом.

Примечание: эта статья является своего рода «экспериментом», как-то в комментариях жаловались что на Хабре недостаточно статей для начинающих. Я попытался восполнить пробел, ну а по оценкам будет видно, имеет смысл продолжать в таком формате или нет.

Настройка Raspberry Pi

Будем надеятся, что у читателя есть Raspberry Pi, которая подключена к домашней сети через WiFi или Ethernet, и читатель знает что такое IP адрес и как зайти удаленно на Raspberry Pi через SSH при помощи putty. Мы будем рассматривать так называемую headless-конфигурацию — без клавиатуры и монитора. Но перед тем, как делать что-то с Raspberry Pi, пара небольших лайфхаков.

Совет N1. Чтобы что-то удаленно делать с Raspberry Pi, на нем нужно настроить SSH, а по умолчанию он выключен. Можно пойти традиционным способом, и запустить стандартный конфигуратор, но можно сделать проще — после записи образа диска достаточно создать пустой файл ssh (без расширения) в корне SD-карты. Дальше, после загрузки Raspberry Pi, SSH будет сразу активен.

Чтобы зайти удаленно на устройство, нужно узнать IP-адрес Raspberry Pi. Для этого достаточно открыть контрольную панель своего маршрутизатора, найти там список DHCP-клиентов, скопировать оттуда нужный IP-адрес (например, это будет 192.168.1.102), и ввести команду putty.exe pi@192.168.1.102 (для Windows) или ssh pi@192.168.1.102 для Linux или OSX.

Читайте также:  Установка hypersonic на studio one

Однако, IP-адреса могут меняться, например после перезагрузки маршрутизатора, это не всегда удобно. Из этого следует Совет N2 — настроить статический IP-адрес. Для этого на Raspberry Pi выполняем команду sudo nano /etc/dhcpcd.conf, и вводим следующие настройки:

Если нужен адрес WiFi, то интерфейс будет wlan0, если Ethernet то eth0. IP-адреса разумеется, нужно тоже подставить свои. После перезагрузки убеждаемся что IP-адрес правильный, введя команду ifconfig.

Теперь все готово, можем приступать к Python. Все примеры даны для Python 3.7, т.к 2.7 уже давно устарел, и поддерживать его бесмысленно. Но при небольших изменениях кода все заработает и там, если нужно. Кстати, язык Python является кроссплатформенным — это значит что весь приведенный ниже код можно запустить и на Windows и на OSX, ну и разумеется, на Raspberry Pi. Из этого следует Совет N3 — отлаживать программу можно и на обычном ПК, а уже готовую версию заливать на Raspberry Pi. Возможно, придется лишь сделать функции-обертки для методов GPIO, все остальное будет работать.

Итак, наша задача — обеспечить доступ к приложению через обычный браузер. Ибо это стильно-модно-молодежно, ну и «интернет вещей» это наше все.

Способ 1: командная строка

Самый простой способ, не требующий вообще никакого программирования.

Выбираем нужную папку на Raspberry Pi, и вводим команду:

Все, на Raspberry Pi работает файловый сервер! Достаточно зайти на страницу http://192.168.1.102:5000 и мы увидим наши файлы в браузере:

Это достаточно удобно, если нужно открыть удаленный доступ к каким-либо файлам с минимумом затраченных сил. Можно также ввести команду sudo python3 -m http.server 80 и запустить сервер со стандартным 80-м портом, это позволит не указывать порт в адресной строке браузера.

Кстати, если мы хотим, чтобы сервер работал и после закрытия терминала, можно использовать команду sudo nohup python3 -m http.server 80 & — это запустит процесс в фоне. Убить такую программу можно перезагрузкой, или вводом в командной строке команды sudo killall python3.

Способ 2: SimpleHTTPServer

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

Команда os.chdir является опциональной, если мы хотим предоставить доступ из сервера к какой-то другой папке, кроме текущей.

Способ 3: HTTPServer

Это уже полноценный web-сервер, способный обрабатывать GET и POST-запросы, возвращать разные данные и пр. Но и кода разумеется, понадобится больше.

Рассмотрим минимально работающий вариант сервера:

Запускаем браузер, и видим в нем нашу HTML-страницу:

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

Исходный файл «raspberrypi.jpg» разумеется, должен лежать в папке с программой. Добавим в функцию do_GET возможность получения файлов:

Запускаем сервер, и видим соответствующую картинку:

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

Теперь мы можем открыть в браузере ссылку http://192.168.1.102:5000/status и увидеть текущие параметры системы:

Кстати, как можно видеть, мы отдаем данные в формате JSON, что позволит использовать их для каких-то других запросов.

Заключение

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

Если для Raspberry Pi будет использоваться внешний IP-адрес, обязательно стоит помнить о мерах безопасности. Может показаться что ваш мини-сервер никому не нужен, однако сейчас не составляет труда пакетно просканировать все диапазоны IP-адресов (как пример, Украина, Австрия) и найти все доступные устройства. Так что обязательно стоит поменять пароль на Raspberry Pi, и не стоит хранить на устройстве какую-либо конфиденциальную информацию (папки Dropbox, имена/пароли захардкоженные в скриптах, фото и пр).

PS: Для понимания картины добавил опрос

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

источник

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

Adblock
detector