Пошаговая инструкция по установке веб-сервера на 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;
Включаем 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 с содержанием:
<?php phpinfo(); ?>
Вводим в браузере IP нашей Raspberry Pi.
Установка и настройка веб-сервера на Raspberry Pi завершена.
Свой веб-сервер я пока >использую так:
А такой веб-сервис сайт на wordpress или Drupal потянет ?
Пока не пробовал, но WordPress довольно тяжелый движек. Побаловаться может и получиться, а как рабочий проект - вряд-ли.
Я тут изначально для работы с базами ставил phpmyadmin - тормозил сильно.
Сейчас заменил его на SQL Buddy - все летает.
Ну мне как раз побаловаться. На ближайших выходных попробую.
Вы на форуме онлайнера писали, что собрали чистый как слеза образ Raspbian. С ним что-то не так или еще не загрузили на файлообменник ?
Все получилось. Уже и новость по этому поводу написал - я просто ее публикацию запланировал на 16 число. Тут пару дней осталось. Если время не терпит - отпишите в асю - скину ссылку.
Подожду. Пока с веб-сервером поиграю.
Хорошая инструкция. У меня заработало.
Правда пока не придумал, что разместить на таком веб-сервере :)
Сайт заработал, php статистику показывает, но такая проблема, балуюсь с формой обратной связи, при отправке получаю сообщение 405 Not Allowed.
вот ссылка на файл формы, http://www.script-php.ru/engine/download.php?id=448
подскажи пожалуйста что нужно перенастроить чтоб это дело заработало на Ras-Pi
Видимо какой-то модуль в PHP надо доставить, но я не могу вам сказать какой именно.
Спасибо за такую подробную инструкцию. Я заказал Raspberry именно для этого, у меня есть страница в интернете, для этого я должен снимать целый хостинг.
У меня просто несколько страниц в html. Базы и php не использую. Посещений немного. Хотел попрбовать поставить такой веб сервер. И привязать домен к моему IP, он статичный. Но как это сделать?
Еще было бы неплохо сделать почтовый клиент, который бы просто перенаправлял письма с моего домена на gmail.
Что посоветуете?
с таким пока не разбирался
А как прикрутить phpmyadmin ко всему этому теперь? я попробовал его поставить, в процессе установки phpmyadmin мне выдал предложение авто-настройки всех параметров, но там был только апач и httpd а nginx не было. в итоге они так и не подружились((
я просто скачал его и закинул на малинку. Все работает.
Там правда модкль для PHP потом попросит доставить - но там все понятно будет раписано
Отличная статья! Скажите как бы себе замутить такую сетевую статистику, как вы ее сделали?
не смог вот я повторить процесс создания статистики - что-то уже призыбыл
Сетевая статистика сделана с помощью Multi Router Traffic Grapher
http://oss.oetiker.ch/mrtg/
Прежде чем спросить, благодарю автора за потраченной с пользой время.
Довольно часто "слышал" про сервер/мини-сервер на плате, но что бы показли реальный пример, такого не было.
Меня интересует вот такой момент: я бы хотел поднять на малинке форум с небольшой посещаемостью, где-то до 50 человек, может быть со временем он разрастется до 100. В к-ве движка хочу использовать MiniBB, как самый легкий и практичный в плане затраты ресурсов. Но он, как и все использует БД MySql, боюсь может виснут все. Подскажите пожалуйста, Если есть какие-то мысли.
надо пробовать - что еще сказать
может MiniBB не так активно использует базу как wordpress
а вообще я бы не рекомендовал рабочий проект кидать на малинку, так как те же поисковики своей индексацией положат ваш форум
Привет.
Подскажи чем выводишь статистику графики, аптайм и прочее на странице Моя Raspberry Pi?
статистика - mrtg
остальное - PHP скрипты
поделись информацией по установке mrtg ^)
может, лучше SQLite? mysql тяжеловат для малинки.
Да. Видимо лучше его
sudo apt-get install sqlite3
Я не совсем понял, каким образом доступ к веб-серверу на малине происходит из интернета (86.57.161.244), а не из локальной сети.
купил у провайдера статический IP
перенаправил в роутере 80 порт на малинку
все просто
Можно узнать как настроить порт в роутере ?
в разных моделях и у разных производителей интерфейс отличается
поищите в интернете описание своей модели
в моем китайце нужные настройки находятся в Advanced Setup - NAT - Virtual Server
Product Name ZXDSL 832CII
вот что говорит мой роутер , как я понимаю можно и не регистрировать статичный ip просто нужно будет узнавать каждый раз новый ip
нашел раздел описанный вами , но как его заполнить ?
вот такая картина : http://rghost.ru/49703793
вроде настроил но при вводе моего ip в адресную строку ,моего сайта нет (юзаю только nginx)
у вас ваш сайт будет доступен по внутреннему IP, а у всех остальных по внешнему
по вашему внешнему IP у вас, скорее всего, откроется страничка настроек модема
для проверки можете через прокси проверить видимость сайта
еще, возможно, ваш провайдер не позволяет подключаться на 80 порт - надо уточнить в поддержке
как переместить мой сайт на внешний ip ?
(простите за кучу вопросов , я мало осведомлён в данной сфере но есть большой интерес )
по внутреннему IP малинки ваш сайт доступен ? 192.168.xxx.xxx
это IP и надо было прописать в настройках модема
давайте лучше в skype дабы не засорять сайт
Tirarex_vg
Последнее время я использую Valentina Studio для работы с MySQL. Очень хороший и бесплатный инструмент, рекомендую посмотреть.http://www.valentina-db.com/en/valentina-studio-overview
Вопрос к автору, не могли бы выложить образ флешки готового WEB сервера для малинки, очень прошу?..
к сожалению, не могу
а что у вас не получается ?
Пока нет, не могу wi-fi грамотно настроить, к сожалению я программист, м системным ПО не очень дружу.
Огромное спасибо за статьи! Для начинающих - это просто находка.
Буду признателен если про настройку sql buddy напишите тоже для чайников.
Может кто-нибудь поделиться опытом успешной установки MariaDB вместо MySQL на малинку?
мне интересно что на по последнем скрине за статистика, точнее как поставить, PHP файлик где взять и нужно ли для него какой то пакет ставить?
графики рисует пакет MRTG
я его не сам настраивал, поэтому не помогу
Не могу создать файл index.php, пишет "permission denied"
Прав не хватает, нужно sudo добавлять
Здравствуйте. Все сделал по Вашей инструкции. Заработало, но не все. Страничка index.php не заработала :( Хотя index.html работает.
Подскажите пожалуйста, в чем может быть проблема.
с настройкой php где-то ошиблись
перепроверьте
Спасибо за инфу !!! По больше бы таких людей !!!!
Вот, интересно, развернули на Raspberry web2py сервер. Вот здесь малинка следит за солнечной станцией и копит все данные. По сети к ней подключается хозяин и смотрит статистику. Думаю, что дополнительно он и управляет станцией через Raspberry
А чем обусловлен выбор сервера Апач, который крутится на Банана Пи?
Добрый день. Установил nginx и php, по данной статье, HTML страницы сервер отдает, а при запуске php, пустая страница. Подскажите в чем может быть дело?
Где-то Ошибочка в конфиге при подключении 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;
}
Помогите, пожалуйста...
Скрипт на питоне опрашивает датчик DHT22, температуру и влажность выводит просто в командную строку. Что дописать в скрипте, чтобы эти две циферки тупо положить на страничку nginx веб сервера?
может просто при запуске скрипта сделать его вывод результата в текстовый файл, а из него уже читать значения для отображения на странице?
"строка запуска скрипта > путь к файлу для сохранения результатов работы"
пример:
netstat -ntu > /tmp/test.txt
Спасибо за помощь начинающим! ;)
Теперь буду осиливать следующий этап - с хранением и выборкой данных из базы MySQL
я даже немного завидую. у вас все интересное еще впереди :)
у кого нибудь есть стандартный файл конфига default.
а то где-то накосячил, сервер не работает теперь и второй файл где количество процессоров надо указывать есть?
конце я вел свой ip адрес в dillo браузер но у меня выходит bad gateway что это
а хостинг панель можно к pi4 какую нибудь прикрутить?