Настройка веб-сервера
Статья дорабатывается
sudo nano /etc/hostname
sudo nano /etc/hosts
При желании можно изменить имя пользователя, заменив все экземпляры «пи» новым именем пользователя:
sudo -s
nano /etc/passwd (изменить имя пользователя И домашний каталог)
nano /etc/shadow
nano /etc/group
nano /etc/gshadow
nano /etc/sudoers
mv /home/pi /home/newusername
passwd newusername
shutdown -r now
Установите обновления программного обеспечения:
sudo apt-get update
sudo apt-get upgrade
Установите и настройте Apache, MySQL и PHP
Установите программное обеспечение веб-сервера:
ls
ls /var/www/html
index.html
sudo chown pi /var/www/html
sudo chgrp pi /var/www/html
ln -s /var/www/html /home/pi/html
yourusername --pi
sudo chown -R yourusername /var/www
sudo chgrp -R yourusername /var/www
ln -s /var/www/html ~/html
На данный момент все готово. Переход к IP-адресу Pi в веб-браузере должен открыть страницу Apache по умолчанию. Эта страница хранится в /var/www/html/index.html, а также доступна по ссылке, которую вы сделали как ~ / html / index.html.
Предполагая, что вы хотите, чтобы веб-сервер был общедоступным, вы, вероятно, захотите настроить переадресацию портов на своем маршрутизаторе (TCP-порт 80) и использовать доменное имя и динамическую службу DNS, чтобы люди могли вводить .com вместо IP-адреса, который может измениться. время.
Я использую Google Domains. Это около 12 долларов в год для домена .com, и они включают услугу динамического DNS без дополнительной платы. Вот как настроить предлагаемую ими службу динамического DNS:
Войдите в https://domains.google.com/
В строках с доменными именами щелкните значок DNS для домена, который вы хотите настроить.
В разделе Synthetic Records выберите Dynamic DNS.
Для субдомена используйте "@" (без кавычек), если нет субдомена
(например, когда кто-то переходит на yourdomain.com вместо www.yourdomain.com)
Затем сделайте еще одну запись для поддомена "www" (без кавычек)
Щелкните значок > рядом с каждой записью, затем щелкните Просмотреть учетные данные
Вы можете использовать программное обеспечение, такое как ddclient, для уведомления Google об изменении вашего IP-адреса, или вы можете упростить задачу и просто периодически посещать специально созданный URL-адрес, чтобы поддерживать Google в актуальном состоянии. Я написал простой скрипт для посещения этого URL-адреса и записи его ответа в текстовый файл.
Обязательно сделайте скрипт исполняемым:
nano ~/dns_update_script.sh
wget https://username:Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра./nic/update?hostname=yourdomain.com -qO dns_update_results.txt
wget https://username:Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра./nic/update?hostname=www.yourdomain.com -qO- >> dns_update_results.txt
echo " Last run: `date`" >> dns_update_results.txt
chmod +x ~/dns_update_script.sh
Сценарий загружает веб-страницы в текстовый файл (первый wget создает текстовый файл, второй wget добавляет в текстовый файл), а затем я также добавляю текущую дату и время в текстовый файл.
Настройте задание cron для запуска скрипта в начале каждого часа:
crontab -e
0 * * * * ~/dns_update_script.sh
Использование виртуальных хостов для обслуживания нескольких доменов
Один компьютер может обслуживать несколько доменов.
Apache поддерживает это и называет это «виртуальным хостом».
Вы можете повторить следующие шаги для любого количества доменов:
sudo nano /etc/apache2/sites-available/yourdomain.conf
ServerName www.yourdomain.com
ServerAlias yourdomain.com *.yourdomain.com
DocumentRoot /var/www/yourdomain
sudo mkdir /var/www/yourdomain
sudo chown -R yourusername /var/www/yourdomain
sudo chgrp -R yourusername /var/www/yourdomain
ln -s /var/www/yourdomain ~/yourdomain
sudo a2ensite yourdomain
sudo service apache2 reload
Использование Swish-SFTP для копирования файлов на Pi
После установки Swish-SFTP устройство Swish появится в списке в Проводнике> Этот компьютер. Дважды щелкните его, затем выберите «Добавить SFTP-соединение» в верхней части окна. После подключения вы можете перетаскивать файлы между Windows и Pi.
Вот и все. Теперь у вас есть веб-сервер, для работы которого требуется менее 5 Вт энергии, и он почти не занимает места в вашем доме.