Найти тему
takoedelo

Переход от веб-сервера Raspberry Pi к недорогому маломощному веб-серверу x86 (часть 2)

Оглавление

Добавление административного пользователя

Перезагрузите веб-сервер, пока он подключен к маршрутизатору через кабель Ethernet. Убедитесь, что ваш ноутбук также подключен к маршрутизатору. Загрузите ноутбук, откройте окно терминала и SSH с ноутбука на веб-сервер, используя "root" и пароль root, который вы создали. Если статический адрес вашего веб-сервера равен 192.168.1.128, команда SSH для этого:

ssh root@192.168.1.128

Теперь создайте административного пользователя на своем сервере и добавьте его в группы sudo, admin и www-data следующим образом.

adduser bob
adduser bob sudo
adduser bob admin
adduser bob www-data

Очевидно, что вы замените предпочтительное имя администратора на "bob". Вам будет предложено ввести пароль для нового пользователя. Обязательно создайте сильный. Надежный пароль будет особенно важен, если вы разрешите SSH-доступ из Интернета.

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

groups bob

По умолчанию пользователь bob должен использовать пароль для sudo.

Отредактируйте файл /home/bob/.bashrc Боба и добавьте эту строку вверху:

PATH="$PATH:/usr/local/bin:/user/bin:/user/sbin:/bin:/sbin"

Теперь выключите веб-сервер, как и раньше, и перезагрузите его. SSH с вашего ноутбука на ваш веб-сервер как пользователь bob, чтобы убедиться, что вы правильно настроили bob. Обязательно проверьте, что пользователь Боб может использовать sudo. Если нет, вы, возможно, забыли установить переменную среды PATH Боба в его ".bashrc", как описано ранее. Обеспечение того , чтобы боб имел полный административный доступ, очень важно, потому что позже вы отключите корневой SSH-доступ. Таким образом, Боб будет единственным пользователем, который может SSH на ваш сервер x86.

Установка и настройка PHP

Если у вас есть динамический веб-сайт, который требует кода PHP, будьте готовы к некоторому разочарованию в том, чтобы PHP и Lighttpd работали друг с другом. Установите PHP с помощью этой команды:

sudo apt-get install php php-cgi php-fpm php-mysql -y

Команда "php --version" указывает, какая версия установлена. Поиск в /etc/php, чтобы узнать, какие подкаталоги есть , даст ту же информацию.

В следующих инструкциях используйте любую версию PHP вместо "7.3".

В файле /etc/php/7.3/fpm/php.ini раскомментируйте строку (удалив точку с запятой), которая гласит ";cgi.fix_pathinfo=1". Затем, чтобы перезапустить службу PHP, введите в командной строке:

sudo pkill php-fpm
sudo systemctl restart php7.3-fpm.service

Чтобы предотвратить появление сообщения об ошибке "Отказано в доступе" в интернет-браузере вашего ноутбука при переходе на ваш сайт из-за PHP -кода в ваших HTML-файлах, измените файл /etc/php/7.3/fpm/pool.d/www. conf на вашем сервере, чтобы раскомментировать строку:

;security.limit_extensions = .php .php3 .php4 .php5 .php7

и добавьте ".html" в конец, чтобы это выглядело так:

security.limit_extensions = .php .php3 .php4 .php5 .php7 .html

Это первый шаг, который позволяет запускать PHP-код, встроенный в HTML-код. Этот метод менее безопасен, чем альтернативы, Позже я буду экспериментировать с моим сервером x86, чтобы узнать, смогу ли я найти более безопасный метод.

Установка и настройка Lighttpd

Программное обеспечение веб-сервера Lighttpd достаточно эффективно для работы на машинах с более медленным процессором и меньшим объемом оперативной памяти, таких как Raspberry Pi. Lighttpd может обрабатывать пару сотен одновременных подключений пользователей к Интернету на Raspberry Pi 3, и, как говорят, он может обрабатывать до десяти тысяч одновременных подключений на гораздо более мощных компьютерах. Lighttpd на Raspberry Pi 3 в течение трех лет,обрабатывал пиковый трафик до 4 в основном статических загрузок страниц в секунду и 80 000 в основном статических загрузок страниц за 24-часовой период. Этого достаточно почти для всех персональных веб-сайтов.

Чтобы установить программное обеспечение веб-сервера Lighttpd, введите в командной строке Linux сервера:

sudo apt-get install lighttpd

На этом этапе вы сможете открыть интернет-браузер на своем ноутбуке, перейти к локальному IP-адресу вашего веб-сервера Debian в браузере и увидеть HTTP-страницу Lighttpd по умолчанию, озаглавленную "Страница-заполнитель".

Следующим шагом в обеспечении запуска PHP-кода внутри веб-страниц HTML является добавление этой строки в конец файла сервера /etc/lighttpd/lighttpd.conf:

fastcgi.map-extensions = ( ".html" => ".php" )

Теперь включите fastcgi и fastcgi-php, введя в командной строке Linux сервера:

sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php

Затем перезапустите Lighttpd с помощью этих команд:

sudo systemctl stop lighttpd
sudo systemctl start lighttpd

Это очень хорошее время, чтобы сделать резервную копию вашего USB-накопителя Debian web server (Stick B), вставив его в ноутбук и введя команду Linux:

sudo dd if=/dev/sdb of=/debian_server_backup.img bs=1M conv=notrunc,noerror status=progress

Замените в приведенной выше команде расположение USB-накопителя B на "/dev/sdb". Создание резервной копии на жесткий диск вашего ноутбука теперь избавит вас от необходимости повторять все предыдущие шаги по установке и настройке операционной системы и программного обеспечения, если вы позже совершите ошибку, которая сломает ваш сервер.

Выполнение более сложных задач с помощью Lighttpd, таких как запуск нескольких веб-сайтов на одном сервере, блокировка веб-роботов, добавление кэширования браузера, добавление каталогов, доступных для посетителей, и защита от DOS-атак, может включать добавление нескольких сотен строк в файл /etc/lighttpd/lighttpd.conf. К счастью, вы сможете скопировать этот файл с вашего веб-сервера Raspberry Pi, при условии, что вы сначала создадите любые дополнительные каталоги, созданные для Lighttpd на вашем Raspberry Pi. Внимательно прочитайте файл lighttpd.conf вашего Raspberry Pi в поисках любых дополнительных каталогов, которые вы, возможно, создали, например /var/www/cache или каталогов для ведения журнала. Если эти каталоги отсутствуют на вашем сервере Debian, Lighttpd не будет работать. К сожалению, Lighttpd не отображает сообщения об ошибках, поэтому отладка может быть затруднена.

Если у вас есть другие файлы, которые вы включили в свой файл lighttpd.conf с оператором "include", например "include /etc/lighttpd/spam.conf", вы можете скопировать их (полностью или частично) на свой сервер x86 прямо сейчас.

Часть1

Часть 3