Веб- и FTP-сервер на Raspberry Pi

10 Февраля

Установка сервера на Raspberry Pi - вопрос времени. Да, мне тоже поначалу это казалось неразумным, но позднее я понял, какие большие возможности это даёт. По сути, это веб-интерфейс, доступный откуда угодно через браузер, с помощью которого можно получать изображение с камеры или рулить сервами. Короче говоря, я до сервера дозрел очень быстро.

Веб-сервер

Идеальным веб-сервером для Raspberry Pi является lighttpd в силу его легковесности и высокой производительности. Кому интересно, можно почитать немного тут, а мы же перейдём непосредственно к установке. Кстати, если у вас используются настройки доступа по умолчанию (пользователь "pi" и пароль "raspberry"), то настоятельно рекомендуется их сменить. Теперь можно устанавливать lighttpd и PHP5:

sudo apt-get install lighttpd -y
sudo apt-get install php5-common php5-cgi php5 -y

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

sudo lighty-enable-mod fastcgi-php
sudo /etc/init.d/lighttpd restart
sudo service lighttpd force-reload

Установка закончена и если набрать в строке браузера IP-адрес своего Raspberry Pi (как его узнать написано тут), откроется страница-заглушка lighttpd.

Для повышения комфорта, можно изменить права доступа к папкам сервера, чтобы не только root мог там что-то менять, но простой "рабочий класс" в лице юзера pi:

sudo chown www-data:www-data /var/www
sudo chmod 775 /var/www
sudo chown -R pi /var/www
sudo usermod -a -G www-data pi

Для вступления изменений в силу нужно перезагрузить устройство. Корневая папка сервера - /var/www , порт сервера - 80. Если есть необходимость изменить порт, сделать это можно отредактировав конфигурационный файл сервера (после изменения опять же необходима перезагрузка):

sudo nano /etc/lighttpd/lighttpd.conf

И последний нюанс. Если Raspberry Pi подключен к локальной сети, возможно, что для доступа "извне" придётся сделать перенаправление портов (Port Forwarding) в рутере. В этом случае надо установить перенаправление для внешних клиентов с порта 80 (Public Port) на IP-адрес Raspberry Pi и опять же на порт 80 (Private port).

FTP-сервер

Веб-сервер установлен, но надо же ещё туда как-то файлы закачивать. Наиболее простой способ - настроить FTP-сервер. Установим vsftpd и сразу же откроем файл конфигурации для редактирования

sudo apt-get install vsftpd -y
sudo nano /etc/vsftpd.conf

В файле необходимо сделать следующее:

  • изменить anonymous_enable=YES на anonymous_enable=NO
  • разкомментировать (убрать символ # в начале) строки local_enable=YES и write_enable=YES
  • добавить в конце файла строку force_dot_files=YES

После сохранения изменений надо перезапустить сервер:

sudo service vsftpd restart

Для повышения комфорта, можно добавить быструю ссылку на корневую папку сервера:

ln -s /var/www/ ~/www

Опять же, если нужно перенаправление портов, оно делается так же, как и для веб-сервера, но с портами 20 и 21.

Знатно накомментили:

Андрей
2020-09-29 23:26:17
У меня в PI3B тормозит браузер - не потому что интернет слабый)) Что же будет если там будет выполняться PHP? Тормоза как во времена dial-up?
adin
2016-07-22 15:05:48
Спасибо. На Raspberry Pi 3 получилось с первого раза.
Ne0
2016-06-06 21:13:49
Статья огонь !

Оставить комментарий

Цитировать
в комментарии