Linux

Как настроить BIND9 в качестве вторичного DNS-сервера в Ubuntu/Debian

Как настроить виртуальные хосты Nginx в Ubuntu/Debian

Как настроить BIND9 в качестве основного DNS-сервера в Ubuntu/Debian

Как установить OpenVPN Server на Ubuntu/Debian

Настройка OpenVPN в Ubuntu/Debian

Как установить сертификат SSL на Nginx для Ubuntu/Debian

Как настроить DNS-сервер BIND9 в Ubuntu/Debian

Как настроить HTTP / 2 в Nginx на Ubuntu/Debian

VPN-сервер с OpenVPN и Stunnel

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

Установка статического IP на сервере

Как из серого IP сделать белый IP?

Переносим Armbian на внешний HDD на Orange Pi PC (Plus)

Настройка Медиа в Majordomo. Orange Pi PC (Plus). Armbian

Установка и настройка Windows терминала

Перенос сайта

Настройка сервера (Rev1)

Установка ssh сервера на Ubuntu/Debian

Установка MajorDoMo на OrangePi

Установка MajorDoMo

Установка phpMyAdmin Ubuntu 20.04

Настройка системы умного дома на базе ESP8266

Установка MAJORDOMO Rev1

Установка сервера MQTT

Установка и настройка сервера на Ubuntu/Debian

Настройка Linux на Orange Pi

Монтирование разделов в Linux

Репозитории Linux

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

Установка и настройка Armbian и DLNA на Orange Pi PC в картинках

Простой VPN с WireGuard

Nagios – современный и популярный инструмент для мониторинга компьютерных систем и сетей.

Перенос системы на EMMC

Настройки Linux

Удаленный рабочий стол RDP в Linux Armbian

Установка Аndroid OS на Orange Pi Plus

Установка локального сервера BLYNK на любой другой одноплатник с OC Armbian

Установка статического IP на сервере

 Редактируем файл 

  /etc/network/interfaces

 тут находятся настройки сетевого интерфейса.

auto lo 
 iface lo inet loopback 
   iface eth0 inet dhcp 
   allow-hotplug wlan0 iface wlan0 
   inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf 
   iface default
   inet dhcp 

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

# сетевая петля
 auto lo
 iface lo inet loopback 
#

 #iface eth0 inet dhcp 
 iface eth0 inet static
       address 192.168.0.120 
       netmask 255.255.255.0 
       gateway 192.168.0.1 
       allow-hotplug wlan0 
    iface wlan0 inet manual 
 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
 iface default 
 inet dhcp

где закомментировали строку "iface eth0 inet dhcp" которая отвечает за автоматическое получение IP адреса,
и прописав дополнительно несколько строк,

строка "iface eth0 inet static" говорит о статическом IP интерфейса eth0,
строка "address 192.168.0.120" нужный нам IP для сервера,
строка "netmask 255.255.255.0" маска сети и
строка "gateway 192.168.0.1" это IP адрес шлюза а именно IP нашего роутера.

  WiFi. Настраивается он аналогично Ethernet, но набор параметров несколько отличается.  В файле interfaces задаем такие настройки:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid 
wpa-psk <Пароль WiFi>

После внесения настроек сохраняем файл нажатием клавиш Ctrl+O и подтверждаем клавишей Enter имя файла. Для закрытия файла нажимаем клавиши Ctrl+X.

Перегружаем сервер

sudo reboot 

После перезагрузки конектимся через SSH уже на новый присвоенный нами IP 192.168.0.120

После внесения настроек сохраняем файл нажатием клавиш Ctrl+O и подтверждаем клавишей Enter имя файла. Для закрытия файла нажимаем клавиши Ctrl+X.

 Чтобы новые настройки вступили в силу, необходимо перезапустить сетевой сервис. Делается это командой sudo service networking restart.

sudo service networking restart 

После загрузки системы проверяем, что настройки вступили в силу командой ifconfig.  

wlan0: flags=4163  mtu 1500
        inet 192.168.0.120  netmask 255.255.255.0  broadcast 192.168.123.255
        ether 12:42:56:67:9b:9a  txqueuelen 1000  (Ethernet)
        RX packets 508  bytes 151125 (151.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15  bytes 2586 (2.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

У меня установился автоматически IP-адрес 192.168.0.120

Если в выводе команды ifconfig вы не увидели IP-адреса, то нужно попробовать выполнить эти команды, которые перезапустят интерфейс wlan0:  

sudo ifdown wlan0
sudo ifup wlan0

 WiFi можно настроить с помощью графической утилиты NetworkManager TUI. Для этого необходимо ввести команду sudo nmtui  

sudo nmtui

 Виртуальный хост

создаем в домашнем каталоге два подкаталога:  

mkdir ~/public
mkdir ~/public/www

виртуальный хост – это такая настройка для сервера, позволяющая по одному и тому же IP-адресу обратиться к разным сайтам на сервере. 

Т.е. вы можете содержимое одного сайта хранить в каталоге /var/www/html,
а содержимое другого – в /home/andrey/public/www и оба они будут доступны по одному и тому же IP-адресу.
Но, чтобы сервер мог понять к какому сайту идет обращение, есть такой параметр как имя хоста (в настройках Apache – это ServerName).
Когда пользователь вводит в браузере адрес сайта, то браузер посылает HTTP-запрос на DNS-сервер (сервер доменных имен) и в заголовках HTTP-запроса хранится имя хоста.
DNS-сервер в свою очередь перенаправляет запрос браузера на IP-адрес сервера, где хранится сайт.
А уже сервер по имени хоста понимает из какой директории пользователь хочет получить содержимое.

На локальной машине сайты будут доступны по адресу http://localhost/ или http://127.0.0.1/. Т.е.
если бы Orange Pi Zero мы могли бы подключить к монитору, а также подключили клавиатуру,
то мы могли бы запустить браузер и введя адрес http://localhost/ получили бы точно такое же содержимое как в том случае,
когда мы на другом компьютере в сети вводили IP-адрес http://192.168.74.125/

Кстати, проверить это можно и без монитора прямо в консоли. Для этого существует консольный браузер Lynx.
Он также хранится в репозитории дистрибутива и устанавливается аналогично другим приложениям:  

sudo apt-get install lynx

 Теперь если набрать в командной строке команду 

lynx http://localhost/

то можно увидеть содержимое страницы, правда только в виде текста.

Выход из браузера выполняется клавишей q. 

На другой машине в сети получить доступ к сайту по имени хоста мы не сможем,
потому как нет DNS-сервера, который бы направил запрос браузера на IP-адрес устройства.
Поэтому, даже если мы зададим в настройках виртуального хоста его имя,
то доступ к сайту по имени мы можем получить только на локальной машине
(через браузер lynx в нашем случае). Но тут тоже есть одна тонкость:
имя хоста необходимо будет прописать в файле /etc/hosts и назначить
ему IP-адрес 127.0.0.1. Это такая своего рода имитация DNS-сервера на
локальной машине. Об этом подробнее напишу дальше.

 Файлы настроек виртуальных хостов хранятся в каталоге /etc/apache2/sites-available/

 Изначально в данном каталоге хранится две настройки 000-default.conf и 

default-ssl.conf. Именно настройка 000-default.conf указывает на стартовую страницу
в /var/www/html и позволила увидеть нам ее после установки Apache.
Мо создадим новый виртуальный хост на основе 000-default.conf просто
сделав его копию:  

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf

 Открываем только что созданный файл настроек:  

sudo nano /etc/apache2/sites-available/mysite.conf

 Здесь мы видим, что заданы e-mail адрес администратора сайта и корневой каталог, где хранятся файлы сайта.

Задаем имя виртуального хоста orangepi.home, меняем путь к корневому каталогу:  

ServerName orangepi.home
ServerAdmin webmaster@localhost
DocumentRoot /home/andrey/public/www

 Также необходимо добавить такие строки, чтобы открыть доступ к 

созданной корневой директории:

 

 Дальше сохраняем настройки и включаем виртуальный хост командой: 

sudo a2ensite mysite 

 Хост под именем 000-default выключаем командой: 

sudo a2dissite 000-default 

 После всех выполненных операций необходимо перезапустить веб-сервер одной из команд:  

systemctl reload apache2
sudo /etc/init.d/apache2 reload

 В результате выполнения команды перезапуска можно увидеть в терминале такое предупреждение:  

Warning: The unit file, source configuration file or drop-ins of apache2.service changed on disk. Run 'systemctl daemon-reload' to reload units.
 

 В этом случае необходимо выполнить команду: 

systemctl daemon-reload 

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

ls /etc/apache2/sites-enabled/ 

 В директории sites-enabled должен быть только файл mysite.conf. Если это не так, где-то была допущена ошибка.

Теперь открыв браузер и введя в адресную строку IP-адрес устройства можно вместо стандартной страницы Apache2 увидеть такое содержимое:

Так как веб-сервер не нашел в корневом каталоге файла index.html, index.htm, то он просто выдал содержимое директории, которая в данный момент пуста.

Настало время создать первую веб-страницу index.html. Создаем новый текстовый файл командой: 

sudo nano ~/public/www/index.html 

 В файл записываем такие строки и сохраняем его:

 

 Как видим, созданная страница отображается, но не совсем корректно: вместо русских букв непонятные символы. Здесь проблема кроется в неправильно выбранной браузером кодировке. Кодировку страницы можно задавать непосредственно в ее коде. Но мы зададим для сервера кодировку по умолчанию UTF8: 

sudo nano /etc/apache2/conf-available/charset.conf 

 В файле charset.conf убираем комментарий со строчки (символ #) AddDefaultCharset UTF-8 и сохраняем его. Дальше необходимо известным ранее способом перезапустить сервер: 

sudo /etc/init.d/apache2 reload 

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

Войти на сайт не удастся по адресу http://orangepi.home/ потому как данное имя еще необходимо внести в файл /etc/hosts, чтобы сайт был доступен по адресу 127.0.0.1

sudo nano /etc/hosts

 

127.0.0.1 localhost orangepizero
127.0.0.1 orangepi.home
::1 localhost orangepizero ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters 

 Теперь команда  


lynx http://orangepi.home/

 даст такой же результат, что и lynx http://localhost/

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

Все что нам понадобится – это программа Total Commaner и плагин для нее SFTP plugin, который можно скачать, например, здесь http://wincmd.ru/plugring/sftp4tc.html

Открываем скачанный архив через Total Commander и программа автоматически предложит установить плагин:

Мы получили доступ к файловой системе Armbian. Дальше можно выполнять все такие же операции с файлами, как и с обычными разделами (дисками) на персональном компьютере.

Когда установка будет окончена, переходим на вкладку Сеть /FS-плагины и открываем Secure FTP Connections:

При необходимости можно настроить новое соединение нажав на .

Запускаем созданное ранее нами соединение Orange Ethernet и вводим имя пользователя и пароль те, которыми мы пользуемся при входе в командную строку. 

 

Установка таймзоны


Выполняем из терминала 

sudo dpkg-reconfigure tzdata

 Выбираем стрелками вверх-вниз на клавиатуре "Europe" клавишей "Tab" выбираем "Ok" и жмем "Enter", 

далее находим в списке "Moscow" клавишей "Tab" выбираем "Ok" и жмем "Enter",
в результате после настройки таймзоны получаем сообщение:
Current default time zone: 'Europe/Moscow' Local time is now: Wed Jun 15 16:51:22 MSK 2016.
Universal Time is now: Wed Jun 15 13:51:22 UTC 2016.
на этом настройка таймзоны успешно окончена.

Установка vsFTPD (FTP)

Выполняем из терминала.

sudo apt-get install vsftpd

 далее потребуется запилить конфиг 

sudo /etc/vsftpd.conf

 и присвоить обязательно права на каталог /var/www 

у меня это пользователь orangepi делается это так: 

sudo chown -R orangepi /var/www

настройки конфигов vsftpd.conf

sudo nano /etc/hosts

в сети описаны очень подробно пример моего конфига
После настройки vsFTPD конектимся FTP клиентом на наш сервер по IP 192.168.0.120
с логином и паролем orangepi/orangepi,
в моем конфиге прописана директория 

local_root=/var/www

 куда вы попадаете изначально,

если нужно можно запереть пользователя в этой директории и закрыть доступ ко всем вышестоящим директориям,
все это настраивается в
vsftpd.conf  
*всегда после правки конфигов нужно перезагружать демоны, в данном случае
vsftpd:

sudo service vsftpd restart

  

Постановка заданий на крон (cron-crontab)

Устанавливать cron не требуется он уже есть,
для просмотра текущих заданий пользователя нужно выполнить: 

crontab -l

*вероятно список заданий для данного пользователя будет пуст
Добавить задание можно командой:
crontab -e вписав в самый низ нужное задание и время выполнения,
например:

 

15 */2 * * * wget -O - -q -t 1 http://192.168.0.120/vk/vk_post.php 

  задание, каждую 15 минуту каждого второго часа (не путать со вторым часом в сутках)

и каждый день|месяц|неделю выполнять задание wget http://192.168.0.120/vk/vk_post.php

 

 

 

 

 

 

 

Вверх