установка php на raspberry pi

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Как настроить Apache веб-сервер на Raspberry Pi и установить поддержку PHP?

Миникомпьютер Raspberry Pi находит широкое применение в различных технических областях, начиная с простой домашней автоматики и заканчивая робототехникой. Многие энтузиасты используют его в качестве домашнего компьютера, а некоторые более продвинутые пользователи делают на его основе веб-сервер.

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

В этом материале будет показано, как настроить Apache веб-сервер на Raspberry Pi, протестировать его и установить поддержку языка PHP.

Apache представляет собой популярное приложение для организации веб-серверов. Apache является кросс-платформенным решением и поддерживает большое количество операционных систем, поэтому установить Apache для Raspberry Pi не представляет никакой сложности. Сам по себе Apache может работать с файлами HTML через HTTP, а благодаря дополнительным модулям он может работать с динамическими веб-страницами с использованием языков сценариев, таких как PHP.

Итак, первым делом нужно установить apache2, написав в терминале следующую строку:

sudo apt-get install apache2 –y

Теперь следует протестировать веб-сервер. По умолчанию Apache помещает тестовый HTML-файл в веб-папку. Эта веб-страница по умолчанию выдается при вводе в браузере http://localhost/ при доступе с Raspberry Pi или http://192.168.1.10 при доступе с другого устройства этой сети. Чтобы узнать IP-адрес Raspberry Pi, введите hostname –I.

На этой странице вы должны увидеть следующее:

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

Если это так, то значит, что ваш Apache веб-сервер работает. Сервер на Raspberry Pi является хорошей практикой для начинающих веб-разработчиков и администраторов интернет-ресурсов, которые став профессионалами смогут работать с более серьезными серверами и оборудованием, крупных компаний, например, Intel. Это оборудование требует надежных и эргономичных корпусов, таких как этот https://digital-comfort.ru/catalog/serv-korpus-intel-sc5299brp-650vt.html. С помощью такого корпуса мощностью 650 Вт можно собрать сервер для серьезных задач.

Теперь поговорим о том, как сменить страницу, выдаваемую по умолчанию. Эта веб-страница представляет собой просто HTML-файл в файловой системе. Она расположена в по адресу /var/www/html/index.html. Учтите, что в Raspbian Wheezy путь /var/www в Raspbian Jessie стал /var/www/html. Перейдите с помощью терминала в эту директорию и посмотрите, что внутри.

Вы увидите следующее:

Здесь показано, что есть один файл в /var/www/html/ под названием index.html. Чтобы изменить этот файл, нужно обладать правами root. Поэтому перед внесением изменений введите sudo chown pi: index.html. Теперь вы можете редактировать этот файл и обновлять его в браузере, чтобы посмотреть, что изменилось.

Чтобы ваш Apache мог работать с файлами PHP, следует установить PHP5 и модуль PHP5 для Apache. Введите следующую команду:

sudo apt-get install php5 libapache2-mod-php5 –y

Теперь удалите файл index.html:

И создайте файл index.php:

Запишите в этот файл какой-нибудь простой код на языке PHP, например, такой:

Сохраните файл и обновите браузер. После этого вы увидите надпись «hello world». Вот так просто можно настроить веб-сервер с поддержкой PHP на Raspberry Pi.

Источник

Установка веб сервера Nginx и PHP-FPM на мини сервер Raspberry Pi

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi Сегодня мы будем настраивать веб сервер на нашем Raspberry Pi мини сервере либо его аналоге. Плюсы такого решения это малое потребление электричества, бесшумная работа так как все охлаждение пассивное, кстати если есть источник бесперебойного питания, то роутер и данный мини сервер достаточно долго могут висеть на бесперебойнике при аварийном отключении электричества. Из минусов только недостаточная мощность для высоконагруженных сайтов, магазинов, то есть тех, перерыв в работе которых будет ощутим для бизнеса. Малые сайты, сайты визитки данный сервер потянет только так, естественно никакой ддосс атаки не выдержит, но когда берутся за ддосс и при хороших деньгах его практически никто не выдержит.

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

Для Debian 7 Wheezy:

Для Debian 8 Jessie:

Добавляем ключи репозиториев в систему:

Есть одна из особенностей установки версии PHP языка, которые необходимо учитывать при установке операционной системы для работы вашего сайта на мини сервере Raspberry Pi:

в Debian 7 Wheezy устанавливается по умолчанию версия PHP 5.4

в Debian 8 Jessie устанавливается по умолчанию версия PHP 5.6

. Если системная флешка имеет раздел более 4 Gb можно переносом разделов не замарачиватся, так как для сервера системной флешки в 4Gb и выше достаточно.

. Внимание Настоятельно рекомендую использовать для Raspberry Pi флешки для установки системы отличные от Transcend, так как при установке на Transcend система после перезагрузки либо обновления может побить файловую систему и не грузится. С Kingston и Apacer такой проблемы не наблюдал. Такая проблема была с двумя Raspberry Pi платами с несколькими Transcend картами разного размера и класса.

Так как железо у нас не супер мощное, будем ставить легкий веб сервер Nginx, PHP-FPM, APC и MYSQL сервер баз данных с phpmyadmin.

Устанавливаем необходимые пакеты программ:

Соглашаемся на все вопросы инсталятора нажав букву y. При установке базы данных mysql инсталятор предложит ввести и повторить пароль пользователя root баз данных, обязательно необходимо записать в надежном месте, например в блокнот, чтобы не пришлось восстанавливать.

Монтируем флешку 8gb на которой будут находится файлы и логи веб сайта

Подключаем флешку 8GB в USB порт мини сервера и проверяем видима ли флешка в системе выполнив команду:

Тут мы видим, что система видит флешку /dev/sdb: размером 7948 MB(8Gb), а так же, что флешка отформатирована в Windows файловую систему Fat32.

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

Для просмотра параметров работы програмы fdisk необходимо набрать букву m, програма выдаст список возможных команд:

Проверяем таблицу разделов на флешке нажав p:

Удаляем существующий раздел на флешке нажав букву d:

Проверяем, что раздел удален набрав букву p:

Создаем раздел /usr размером 1Gb набрав букву n:

Создаем раздел /var размером 1Gb набрав букву n:

Создаем раздел /home размером на все оставшееся место набрав букву n:

Проверяем созданные разделы набрав букву p:

Записываем внесенные в флешку изменения набрав букву w:

Проверяем разбивку флешки выполнив команду:

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

Монтируем первый раздел в папку /mnt, копируем содержимое раздела /usr и размонтируем раздел выполнив команды:

Монтируем второй раздел в папку /mnt, копируем содержимое раздела /var и размонтируем раздел выполнив команды:

Монтируем третий раздел в папку /mnt, копируем содержимое раздела /home и размонтируем раздел выполнив команды:

Вносим изменения в файл монтирования разделов /etc/fstab

Так как системная флешка маленькая, и системные разделы /usr и /var мы скопировали на отдельную флешку, fstab настроили, тогда файлы с системной флешки удаляем и перезагружаем плату выполнив команды:

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

Настраиваем PHP

Вносим изменения в конфигурационный файл PHP:

Настраиваем APC для кеширования php скриптов:

Настраиваем Nginx

Настраиваем веб сервер, добавляем домен на котором будет работать сайт на нашей плате, для примера сайт будет называться webserver.loc

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

Добавляем пользователя с домашней директории /home/www/webserver.loc выполнив команду:

Создаем структуру директорий веб сайта:

Создаем конфигурационный файл webserver.loc.conf в папке pool.d для создаваемого домена webserver.loc и вносим изменения в данный файл:

Отключаем настройки по умолчанию для веб сервера выполнив команду:

Создаем конфигурационный файл веб сервера Nginx для нашего домена webserver.loc:

В файл /etc/nginx/nginx.conf вносим данные:

Внимание. Если при перезагрузке веб сервера выдает ошибку:

Необходимо в секцию http добавляем параметр server_names_hash_bucket_size:

Для проверки работы PHP скриптов на сервере, создаем в директории сайта файл index.php с содержимым:

Можно этот же файл создать выполнив команду:

Включаем домен создав символическую ссылку и перезагружаем Nginx и php5-fpm выполнив команды:

После этого можем открывать в браузере адрес вашего домена webserver.loc и посмотреть на открывшуюся страницу с параметрами PHP.

Внимание. Если у Вас установлена операционная система Debian Jessie и открывается белый экран вместо страницы с информацией о PHP, необходимо внести изменения в файл /etc/nginx/fastcgi_params:

Перегружаем Nginx WEB сервер выполнив команду:

Если необходимо открыть phpmyadmin для работы с Mysql, открываем в браузере адрес и вводим логин root и пароль который Вы вводили во время установки mysql сервера:

Сегодня мы установили веб и бд сервер на одноплатном компьютере Raspberry Pi либо его аналоге например Orange Pi достаточный для работы небольшого веб сайта, телефонной АТС.

Сделаем небольшой перерыв и посмотрим видео как можно сделать баню в походе:

Источник

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

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

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

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

sudo apt-get install nginx

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

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

sudo reboot

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

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

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

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

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

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

sudo apt-get install mysql-server php5-mysql

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

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

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

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

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

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

sudo mkdir /home/www

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на 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;
>

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

sudo service nginx restart

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

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

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

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

Источник

Установка Nginx, PHP и MariaDB на Raspberry Pi

В этой статье я расскажу как установить Nginx, php5-fpm и MariaDB для того, чтоб в конечном счете установить WordPress на платформу Raspberry Pi c операционной системой Raspbian.
Nginx – это популярный легковесный web-сервер, PHP-FPM (FastCGI Process Manager) – это альтернативное PHP FastCGI приложение с некоторым улучшениями, которые пригодятся для сайтов любых размеров. MariaDB – это одна из самых популярных серверных баз данных от разработчика оригинальной версии MySQL.

У нас уже есть установленная операционная система Rasbian. Для начала обновим ee:

Установка Nginx.
Как и Apache, Nginx может как отдавать html-файлы через http, так и генерировать динамические страницы с помощью, например, PHP. Сначала установим Nginx выполнив в терминале команду:

Сразу после установка Nginx должен начать работать. Проверим командой:

Для проверки работоспособности web-сервера попробуем зайти по ip-адресу нашей Raspberry.

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

По умолчанию тестовая страница храниться в каталоге /var/www/html

Настройка Nginx

Внесите следующие изменения для повышения потенциальной производительности:

1) Раскомментируйте пункт multi_accept и установите значение on, который информирует nginx о принятии максимального количества соединений за один раз.

2) Измените параметр keepalive_timeout с 65 на 5. Значение keepalive_timeout определяет, сколько секунд соединение с клиентом должно оставаться открытым. Его следует уменьшить, чтобы холостые соединения можно было закрыть раньше.

3) Раскомментируйте пункт server_tokens и убедитесь, что он в положении off. Это отключит вывод номера версии Nginx в сообщениях об ошибках и заголовках ответов, что в свою очередь улучшает безопасность.

4) Строкой ниже server_tokens, добавьте параметр client_max_body_size и установите значение 16m.

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

5) Раскомментируем gzip_vary on

6) Раскомментируем gzip_proxied и установим значение any

7) Раскомментируем gzip_comp_level и установим значение 5. Данный уровень сжатия приблизительно на 75% уменьшает размер файлов ASCII любого типа без существенного потребления процессора.

8) Раскомментируйте gzip_http_version 1.1 Это позволит включить сжатие как для HTTP / 1.0, так и для HTTP / 1.1.

9) Добавим строку gzip_min_length 256; перед пунктом gzip_types. Это гарантирует, что файл, не превышающий 256 байт, не будет разархивирован. Значение по умолчанию установлено на 20 байт, это слишком мало и может привести к лишним накладным расходам на процессор.

10) Чтобы избежать сбоев теста Google PageSpeed на некоторых типах файлов, заменим директиву gzip_types:

Это гарантирует, что в дополнение к типу файла HTML будут также сжиматься JavaScript, CSS и даже SVG.
Сохраните изменения, нажав Control-X, а затем Y на терминале. Чтобы убедиться, что ошибок нет, проверьте конфигурационный файл с помощью следующей команды:

Если Nginx не ругается на ошибки, перегружаем его:

Установка php5-fpm

Для установки php5-fpm выполним следующую команду:

Включить выполнение php в nginx

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

и приведем ее к такому виду:

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

Отредактируем, убрав кое-где знак #, чтобы получилось вот так:

и перезапустим наш web-сервер:

Тест PHP

Проверим, работает ли php. Для этого создадим файл index.php

и добавим в него такой текст:

Сохраните файл и зайдите интернет-браузером на сайт. Если все хорошо, то отобразятся логотип, версия и текущие настройки PHP.

Отредактируем настройки PHP.

Необходимо найти строку upload_max_filesize и установить значение, одинаковое значению client_max_body_size в файле nginx.conf

Также необходимо найти параметр cgi.fix_pathinfo и поменять его значение с ‘1’ на ‘0’.

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

Нажмите Control-X и Y для сохранения конфигурации.

Установка MariaDB

Если вы знакомы с установкой MySQL, то вы найдете, что эта процедура для MariaDB практически не отличается.

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

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

Замените username на имя по вашему выбору, и password на пароль, который вы хотите использовать для входа в систему. Так как затем мы будем устанавливать WordPress, сразу создадим базу wordpressdb. Далее мы предоставим права только что созданному пользователю.

Теперь нам нужно усилить параметры безопасности MariaDB.

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

Мы уже установили пароль во время установки MariaDB, поэтому мы пропустим вопрос «change root password». Отвечаем «y» на вопрос «remove anonymous users», отвечаем «y» на вопрос «disallow root login remotely», так как теперь у нас есть только что созданный пользователь с соответствующими правами. В отличие от Mysql, в MariaDB нет предварительно установленной базы данных «test», поэтому на вопрос «remove test database» мы отвечаем «n». И в завершении нужно согласился «reload privilege tables».

На этом все. Теперь можно приступать к установке WordPress.

Источник

Install PHP 8.0 on Raspberry Pi

PHP is a programming language that commonly used to create a web applications and dynamic websites. With each release of PHP, new features and various changes are introduced.

This tutorial shows how to install PHP 8.0 on Raspberry Pi.

Connect to Raspberry Pi via SSH and execute commands to download GPG key and add repository.

Then install PHP 8.0 with command line interface (CLI):

Check PHP version when installation was finished:

There are various PHP extensions that provides additional functionality. PHP extensions can be installed using the following syntax:

Execute the following command to install commonly used PHP extensions:

If we want completely remove any package with a name that starts with php and anything related to it we can execute this command:

PHP integration with MySQL or MariaDB

In order to use PHP with MySQL or MariaDB database we need to install the following extension:

PHP integration with Apache

If we want to integrate PHP with Apache HTTP server then install the following extension:

Once installation was completed restart Apache.

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

установка php на raspberry pi. Смотреть фото установка php на raspberry pi. Смотреть картинку установка php на raspberry pi. Картинка про установка php на raspberry pi. Фото установка php на raspberry pi

This article has 8 comments

Hi BlackSenator,
Raspberry Pi 1 Model B has an ARMv6 compatible CPU. The deb.sury.org repository is not supporting ARMv6. So you’ll need at least ARMv7-A compatible CPU.

Any hint of where/how to install PHP 8.0 on a ARMv6 architecture?

Hi steinmb,
Right now I unable to find precompiled PHP 8.0 binaries that compatible with ARMv6 architecture. You can try to install PHP from source code. However, compilation can take a while.

Thanks for your swift reply: I did try to build but I did run out of memory. Perhaps I could try again but make sure I have a rather large swap disk enabled? Anyone know why deb.sury.org do not build for ARMv6? I mean, not even PHP 7.4.x is available.

The deb.sury.org repository contains packages for Debian. The Debian armhf port needs at least ARMv7 compatible CPU. This means that Debian armhf packages can be installed on Raspberry Pi with ARMv7 CPU. Raspberry Pi 1 and Zero has ARMv6 CPU that is incompatible with the Debian armhf port. The deb.sury.org repository don’t provide packages for Debian armel (supports ARMv6 CPU). I gues that BlackSenator installed PHP 7.3 from official Raspbian repository and not from deb.sury.org. You need to increase the swap memory on Raspberry Pi in order to compile PHP 8.0.

I am doing a test install of Buster on my model3b Pi. Everything seems to be working (apache2, php8, mariadb). However, I am unable to install phpmyadmin. At the end of the install, I get ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO). All my attempts to get around this failed. I have remote tools for database management and they connect.
I’m not sure that I need phpmyadmin, but I use it on my other pi computers.
Is this a compatibility issue that can not currently be solved?

Hi, Gary
The phpMyAdmin available on official Raspbian repository is out of date and not compatible with PHP 8.0. Right now the Raspbian repository for Buster contains phpMyAdmin 4.6.6. So if you tried to install phpMyAdmin via APT package manager you got errors. You’ll have to install phpMyAdmin manually. Don’t forget to remove a previous version.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *