После того как вы подключите какой-либо тариф на мобильный «инет» (через официальный сайт оператора, личный кабинет в приложении или USSD-команду), вам нужно будет настроить соединение на телефоне. Во-первых, необходимо предоставить смартфону данные для подключения к сети оператора. Во-вторых, выбрать стандарт связи (2G, 3G, 4G).
Мы используем наши внешние USB-устройства хранения данных, периферийные устройства и ряд устройств практически ежедневно. Теперь при извлечении USB-накопителей рекомендуется использовать опцию Безопасное извлечение USB-накопителей . Это предотвращает повреждение данных на этих USB-устройствах. Но иногда вы можете увидеть следующую ошибку, которая может помешать вам извлечь устройство:
Проблема при извлечении USB Mass Storage — это устройство используется в настоящее время, закройте все программы или окна, которые могут использовать это устройство, а затем повторите попытку.
Это вызвано тем, что устройство взаимодействует с операционной системой в фоновом режиме. Сегодня мы будем искать решение, как исправить эту ошибку.
Существуют различные способы исправления этой ошибки. Но прежде чем начать, закройте все открытые окна и программы, которые могут использовать USB, подождите несколько секунд и попробуйте. Если это не помогает, читайте дальше.
Используйте DISKPART.
Используйте утилиту управления дисками.
Используйте Process Explorer.
Используйте диспетчер задач.
1] Используйте DISKPART
Выполните следующие команды в командной строке с повышенными привилегиями:
diskpart
Это запустит утилиту Diskpart. Тогда наберите:
list disk
И затем:
list volume
Эти команды помогут вам либо перечислить все подключенные Диски, либо все разделы на этих дисках.
Отсюда вам нужно будет выбрать одну команду в зависимости от введенной вами команды.
Введите:
select disk #
или
select volume #
Нажмите Enter. Это выберет диск или раздел, который вы хотите выбрать.
Далее введите
offline disk #
или
offline volume #
Затем нажмите Enter. Это пометит выбранный диск как автономный.
Теперь вы можете физически вынуть USB-накопитель. Но когда вы подключите его снова, вам нужно выполнить тот же метод, но в последней команде. Вам необходимо ввести следующую команду:
online disk #
или
online volume #
Это подключит диск обратно.
2] Использование утилиты управления дисками
Введите diskmgmt.msc в текстовое поле и нажмите кнопку ОК .
Найдите запись для вашего USB-накопителя и щелкните по ней правой кнопкой мыши.
Теперь выберите Offline.
Теперь вы можете безопасно удалить ваше USB-устройство хранения данных физически.
Вы можете выполнить те же действия и выбрать Online, чтобы восстановить резервное копирование USB-накопителя при повторном подключении.
3] Использование Process Explorer
Загрузите Process Explorer от Microsoft, а затем запустите исполняемый файл.
Теперь из ленты меню выберите «Найти».
В раскрывающемся меню выберите «Найти дескриптор» или «DLL».
Появится мини-окно поиска в Process Explorer.
Для подстроки Handle или DLL введите букву диска для вашего USB-накопителя и выберите Поиск.
Он выполнит поиск всех процессов, использующих выбранное устройство USB Storage.
Вы можете убить эти процессы и затем попытаться извлечь устройство как обычно.
4] Используйте диспетчер задач
Откройте диспетчер задач, а затем найдите запущенные процессы и программы на вашем USB-накопителе.
Если у вас есть программа, использующая USB-накопитель, она будет подключаться к определённому диску или процесу во время передачи данных и взаимодействия с устройством. Это может быть виновником.
Выберите их, затем щелкните правой кнопкой мыши по ним и, наконец, нажмите «Завершить задачу» или «Завершить процесс» в зависимости от того, завершаете ли вы Программу или весь процесс для нее.
Вы также можете перезапустить Explorer.exe и посмотреть, поможет ли это.
Если вы планируете поездку в какое-нибудь экзотическое место или просто в другой город в вашей стране, вам может понадобиться руководство по карте. В настоящее время почти у каждого есть смартфон или, по крайней мере, какое-то другое устройство с поддержкой GPS, которое может помочь ему/ей убедиться, что он на правильном пути. В некоторых ситуациях вы не можете получить какой-либо сигнал или не можете найти доступное интернет-соединение в тот момент, когда оно вам больше всего нужно. Чтобы помочь вам в такой ситуации, Windows 10 предлагает решение: автономные карты. Это так же просто, как загрузить необходимую карту на свой ноутбук или планшет с Windows 10, прежде чем отправиться в путешествие, и использовать ее в любое время, когда вам не нужно подключение к Интернету. В этой статье мы покажем вам, как загружать автономные карты в Windows 10, чтобы вы могли использовать их, даже если у вас нет подключения к Интернету.
Пример в статье основан на картах для США, но ничто не мешает вам сделать то же самое для города в любой другой стране мира.
Первый шаг — открыть приложение «Настройки», и самый простой способ — нажать клавиши Windows + I на клавиатуре или щелкнуть на ярлыке в меню «Пуск». Когда откроется приложение «Настройки», нажмите «Приложения», а затем «Автономные карты». В правой части окна вы видите настройки и параметры, связанные с картами. Чтобы скачать карту, нажмите кнопку Скачать карты справа.
Далее вас попросят выбрать континент, на котором находится карта, которую вы хотите скачать.
Если на карте вашей страны назначения много данных, она разбивается на регионы, например, Соединенные Штаты Америки. Для этой страны карта включает в себя 3D-данные, которые занимают место.
После выбора страны выберите регион. Для нашего урока предположим, что мы хотим поехать в круг Майами во Флориде, поэтому мы нажимаем на название штата.
После того, как вы сделаете свой выбор, загрузка начнется, и это займет несколько секунд или несколько минут, в зависимости от размера карты и скорости вашего интернет-соединения. Как только это будет сделано, загруженная карта появится в окне настроек.
Загрузка автономных карт сохраняет их на вашем компьютере с Windows 10 или устройстве. Теперь вы можете использовать их в любое время, когда захотите. Давайте посмотрим, как вы можете настроить способ, которым Windows 10 обрабатывает автономные карты.
Как настроить местоположение для автономных карт
Для загружаемых автономных карт Windows 10 позволяет изменить их местоположение. Если щелкнуть раскрывающийся список «Место хранения», вы можете выбрать один из дисков, доступных на вашем компьютере и устройстве с Windows 10, и операционная система переместит все ваши карты на выбранный диск.
Если вы прокрутите список доступных настроек для автономных карт, вы можете указать, будет ли Windows 10 автоматически обновлять карты. Вы также можете установить, будут ли карты загружаться по сотовым данным (лимитированные соединения).
Вы также можете принудительно проверить обновления карт, нажав кнопку «Проверить сейчас». И последнее, но не менее важное: вы также можете просмотреть, когда Windows 10 последний раз проверяла и устанавливала обновления, чтобы вы могли лучше понять, насколько актуальны ваши карты.
Как использовать автономные карты в Windows 10
Теперь, когда автономная карта была загружена, пришло время открыть приложение «Карты» из Windows 10. Один из самых быстрых способов — нажать кнопку «Пуск» и в меню «Пуск» нажать на ярлык в списке приложения под буквой М.
Вы также можете найти слово «карты» в окне поиска на панели задач, а затем нажать на первый результат в списке.
Открыв приложение «Карты» , вы можете начать планировать свой маршрут. Теперь у вас есть руководство, которое вы можете использовать в любое время, без необходимости подключения к интернету, и самое приятное, что оно бесплатное. В нашем примере мы ищем Miami Circle Park, археологическое место, которое вызвало много споров в городе несколько лет назад. Введите название местоположения, которое вы хотите посетить, в поле поиска в правом верхнем углу и нажмите Enter на клавиатуре или нажмите/коснитесь результата поиска, который вас интересует.
Затем вы можете просмотреть информацию об этом месте и перемещаться по карте, как и с любым другим приложением этого типа.
Вы готовитесь к следующей поездке?
Нет ничего более расстраивающего, чем потеряться и не иметь надлежащих инструментов для выхода из этой ситуации. Функция автономных карт в Windows 10 предлагает удобное решение этой проблемы и может избавить ваше путешествие от неприятных, причем совершенно бесплатно. Теперь, когда вы знаете, как загружать автономные карты, загрузите их для своего следующего маршрута и опробуйте их. Перед тем, как отправиться в следующую поездку, обязательно проверьте их, чтобы получить все необходимые карты.
Обратите внимание, что крон автоматически не подхватывает новый часовой пояс, его надо перезагрузить:
sudo service cron restart
Пункт 1.0.0.1 (проверяем настройку кириллицы в консоли)
Неплохо бы чтобы в консоли понимались файлы с русскими символами, для этого устанавливаем пакет локалей
sudo apt install locales
после этого настраиваем его:
sudo dpkg-reconfigure locales можно выбрать только одну локализацию en_US.UTF-8
Пункт 1.0.0.2 (изменяем название сервера/hostname)
На мой взгляд правильно каждый сервер называть своим понятным и читаемым именем, а не тем, что вам приподносит хостер, например мы можем заменить «мзы-server-548739» на понятное для вас имя «companyname-ru-msk-WEBServer-01»:
echo 'companyname-ru-msk-WEBServer-01 ' > /etc/hostname для обновления настроек нужно перезагрузить сервер sudo reboot
Пункт 1.0.1 (обновляем Ubuntu)
Теперь же необходимо обновить все пакеты в нынешней системе до актуальных версий:
sudo apt update && sudo apt dist-upgrade
Выбираем варианты на ваш выбор:
[O] keep the local version currently installed т.к. вашим хостинг-провайдером могут быть изначально вписаны дополнительные днс и тп
show the differences between the versions — для сравнения разницы в файлах
Пункт 1.0.2.0 (настройка ssh: меняем порт ssh)
sudo nano /etc/ssh/sshd_config
Ищем в открывшемся файле следующую строку:
#Port 22
Если строка начинается с символа #, его нужно удалить и вместо 22 порта, написать любой другой, например 48922:
sudo /etc/init.d/ssh restart или sudo service ssh restart
Если вы допустили какую-либо ошибку в конфигурационном файле, то вы можете потерять связь с сервером. Будьте осторожны!
Далее, установив netstat можно проверить корректность сделанных изменений:
sudo apt install net-tools
После установки вводим следующую команду:
netstat -tulpan | grep ssh
В результатах мы должны увидеть наш указанный ранее порт, например:
tcp 0 0 0.0.0.0:48922 0.0.0.0:* LISTEN 2355/shd
После чего отключаемся от сервера по ssh, меняем в вашей программе порт на указанный ранее (пр.: 48922) и подключаемся уже с новым портом
Пункт 1.0.2.1 (настройка ssh: отключаем DebianBanner)
Добавим ещё один полезный параметр, который отсутствует в файле sshd_config – DebianBanner. Этот параметр добавляет в строку ответа sshd информацию об операционной системе, при обращению к серверу по протоколу TELNET или при сканировании nmap. Эта строка может выглядеть так: SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze1. Скроем информацию о нашей операционной системе.
sudo nano /etc/ssh/sshd_config и вписываем в самом конце: DebianBanner no Для применения изменений рестартуем ssh: sudo service ssh restart
Пункт 1.0.2.2 (настройка ssh: включаем проверку прав на директорию подключения StrictModes)
Опция «StrictModes» определяет должен ли ssh проверять права пользователей в их домашних каталогах и файлы rhosts перед тем, как пустить на сервер. Эта опция должна всегда быть установлена в «yes», потому что иногда пользователи могут случайно оставить свои каталоги и файлы открытыми всем для записи.
sudo nano /etc/ssh/sshd_config
Находим и изменяем (раскомментируем):
StrictModes yes
Для применения изменений рестартуем ssh:
sudo service ssh restart
Пункт 1.0.2.3 (настройка ssh: отключаем доступ у root пользователя PermitRootLogin )
Этот параметр разрешает или запрещает вход по SSH под суперпользователем «root». Запрещаем вход суперпользователю.
sudo nano /etc/ssh/sshd_config Находим и изменяем: PermitRootLogin no Для применения изменений рестартуем ssh: sudo service ssh restart
Пункт 1.0.3 (устанавливаем htop)
htop — продвинутый монитор процессов, написанный для Linux. Он был задуман заменить стандартную программу top. Htop показывает динамический список системных процессов, список обычно выравнивается по использованию ЦПУ. В отличие от top, htop показывает все процессы в системе. Также показывает время непрерывной работы, использование процессоров и памяти. Htop часто применяется в тех случаях, когда информации даваемой утилитой top недостаточно, например при поиске утечек памяти в процессах. Htop написан на языке Си и использует для отображения библиотеку Ncurses. Я всегда ставлю его при установке системы и моментально забываю про утилиту top.
sudo apt install htop
Команда запуска:
htop
Для выхода нажимаем F10 или CTRL+C
Столбцы:
PID — идентификатор процесса. USER — владелец процесса. PRI — текуший приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию — 20; чем меньше приоритет, тем больше времени отводится процессу, следовательно он выполняется быстрее). NI — величина изменения приоритета относительно значения PRI (клавиши F7, F8). VIRT — общий объем виртуальной памяти, используемой процессом. Включает в себя: область кода (CODE), данные (DATA), разделяемые библиотеки (SHARED) и страницы, перемещенные в swap-область памяти. Если приложение потребовало от ядра выделить ему 100Мб памяти, а использует всего 5 Мб, данный столбец всё равно будет показывать цифру 100. (CODE — объем памяти, содержащий исполняемый код процесса. DATA — объем памяти, занятой данными, используемыми процессом в ходе выполнения. SWAP — объем памяти, используемой процессом, но перемещенной в swap-область.) RES — количество резидентной (не перемещаемой в swap) памяти в килобайтах. Если приложение потребовало от ядра выделить ему 100Мб памяти, а использует всего 5 Мб, то данный столбец покажет 5. Но здесь есть два ньюанса: а) RES не показывает сколько данных было перемещено в swap, б) часть RES-памяти может быть разделяемой. SHR — количество разделяемой (shared) памяти программы в килобайтах, т.е. памяти, которая может быть использована другими приложениями.
S — состояние процесса: S — так называемое состояние сна; R — состояние выполнения; D — состояние ожидания.
CPU% — использование процессора в процентном отношении. MEM% — использование процессом памяти в процентном отношении. TIME+ — время работы процесса. Command — указывает на команду, которой был запущен процесс. Через настройки (F2) можно добавить еще некоторые полезные параметры: IO RATE — Операции вводавывода. Чтение + запись. Если нужно отдельно на чтение и на запись, то можно добавить: IO READ RATE и IO WRITE RATE. Также на экран выводятся следующие параметры: Load average — отражает число блокирующих процессов в очереди на исполнение в определенный временной интервал, а именно 1 минута, 5 минут и 15 минут, соответственно. Блокирующий процесс — это процесс, который ожидает ресурсов для продолжения работы. Uptime — время работы системы.
Управление:
F1 — справка; F2 — настройки; F3 — поиск процесса; F4 — сортировка списка процессов (от большего к меньшему или от меньшего к большему); F5 — устанавливает древовидное отображение (корни — родительские процессы, а листья — дочерние) и наоборот; F6 — открывает панель с выбором параметра сортировки процессов; F7 — увеличить приоритет выполнения текущего процесса; F8 — уменьшить приоритет выполнения текущего процесса; F9 — убить процесс; F10 — выйти из программы.
Пункт 1.0.5 (устанавливаем Midnight Commander)
Midnight Commander — консольный файловый менеджер для Linux.
Если вам приходится работать с большим количеством файлов в консольном окружении, то вы можете найти такую работу достаточно утомительной. В графическом окружении имеются файловые менеджеры, которые помогают повысить скорость работы с файлами. Вам не нужно помнить название и синтаксис каждой команды, связанной с файлами.
В консольном окружении для работы с файлами вы должны знать основные команды и их синтаксис. К счастью, в Linux также имеется текстовый файловый менеджер, работающий в консольном окружении. Он называется Midnight Commander (далее мы будем называть его просто MC).
Для установки вводим:
sudo apt install mc
Команда запуска:
mc или sudo mc
Для выхода нажимаем F10
Пункт 1.1.6 (устанавливаем и настраиваем ProFTPD(FTP-сервер))
Я очень надеюсь, что большинство из вас прекрасно понимает, что устанавливать ftp сервер proftpd (как и любой другой) в 2019 году очень неразумно. Используйте SFTP!
Для установки вводим:
sudo apt install proftpd
Открываем файл настроек:
sudo nano /etc/proftpd/proftpd.conf
Далее отключаем ipv6 (зачем вам на сервере с ftp — ipv6? *сарказм* )
UseIPv6 off
По желанию можно изменить приветственное название от сервера:
ServerName "FTPServerOK"
Весьма желательно изменить стандартный ftp порт, например на 48921:
Port 48921
Для того, что бы пользователи не могли выйти из домашнего каталога изменяем (раскоментируем) строчку:
DefaultRoot ~
Для разрешения перезаписи файлов проверяем наличие следующей строчки:
AllowOverwrite on
Следующие настройки добавляем в конце текущего файла
Пользователь root не должен иметь возможности зайти на сервер. Добавляем ещё одну строчку:
RootLogin off
Разрешаем докачку загружаемых на сервер файлов:
AllowStoreRestart on
В целях безопасности отключаем идентификацию proftpd сервера (в консоли ftp клиента):
ServerIdent off
Так же можно изменить идентификацию на произвольную:
ServerIdent on "Welcome to FuckingTypeServer"
На этом настройка ftp сервера proftpd завершена, перезапускам его:
sudo service proftpd restart
или
sudo /etc/init.d/proftpd restart
Небольшое отступление для тех, кто набрел на эту статью, после того, как казалось бы правильно настроенный сервер при попытке подключения сообщает что-то вроде: «FTP ошибка 530, некорректные данные аутентификации«, «ProFTPD login failing with 530» или «proftpd 530 login incorrect«, то вы наверняка будете рады тому, что найдете ниже, а именно следующую строку и правильный процесс создания пользователя.
Далее нужно выполнить следующие операции, иначе кина не будет:
где, sample_user_name — имя пользователя, папка которого будет находиться по адресу /home/sample_user_name/
Создаем пароль пользователя
sudo passwd sample_user_name
Вводим пароль, подтверждаем и всё, готово, можно подключаться к ftp серверу.
Пункт 1.1.7 (устанавливаем и настраиваем file2ban)
Принцип работы fail2ban прост. Специальный сервис ищет в системных журналах (логах) записи о неудачных попытках аутентификации и при определенных условиях с помощью iptables блокирует IP-адреса, с которых ведется атака.
Устанавливаем пакет fail2ban:
sudo apt install fail2ban
Теперь нужно сделать так, чтобы сервис fail2ban автоматически запускался при загрузке системы:
sudo systemctl enable fail2ban
После этого служба fail2ban запустится автоматически. В этом можно убедиться, проверив статус следующей командой:
sudo systemctl status fail2ban
Результат должен быть примерно следующим
fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-01-01 01:01:01 MSK; 5min ago
Docs: man:fail2ban(1)
Process: 454 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
Main PID: 463 (f2b/server)
Tasks: 5 (limit: 125068)
Memory: 17.4M
CGroup: /system.slice/fail2ban.service
└─463 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
Файлы настроек fail2ban расположены в каталоге /etc/fail2ban/:
/jail.conf – дефолтные настройки для защищаемых сервисов;
/jail.d/ – пользовательские настройки для защищаемых сервисов;
/filter.d/ – настройки шаблонов поиска в системных журналах (логах);
/action.d/ – настройки исполняемых действий;
/paths*.conf – настройки путей для различных операционных систем.
Чтобы ваши настройки не перезаписывались при обновлении пакетов, рекомендуем вместо редактирования файлов с дефолтным настройками создавать собственные (пользовательские) файлы настроек.
Вам необходимо удалить дефолтные настройки защиты sshd (очищаем файл):
Затем создайте файл /etc/fail2ban/jail.d/sshd.local и добавляете в файл следующие записи:
nano /etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
#порт, на который вы изменили стандартный 22 ssh:
port = 48922
#баним на 24 часа:
bantime = 86400
#если за 2 часа:
findtime = 7200
#более 2 неудачных попыток авторизации:
maxretry = 2
Теперь если параметр enabled будет иметь значение true, сервис fail2ban заблокирует соответствующий IP-адрес на количество секунд, прописанное в параметре bantime, при условии, что за период, указанный в секундах в параметре findtime, с этого адреса будет проведено заданное параметром maxretry или большее число неудачных попыток ssh-аутентификации. По прошествии периода, прописанного в параметре bantime, заблокированный IP-адрес автоматически разблокируется.
В нашем примере IP-адрес будет блокироваться на 86400 секунд (24 часа), если в течение последних 7200 секунд (2х часов) с него было осуществлено 2 и более неудачных попыток аутентификации.
Настройка сервиса fail2ban завершена, необходимо его перезапустить:
sudo systemctl restart fail2ban
В ходе использования fail2ban вам может понадобиться на время снять блок с конкретного IP-адреса или добавить его в список исключений.
Прежде всего, убедитесь, что нужный IP-адрес находится в списке заблокированных:
fail2ban-client status sshd
В результате исполнения данной команды вы получите список, где будет указано количество неудачных попыток аутентификации и список заблокированных IP-адресов.
Результат команды:
Status for the jail: sshd |- Filter | |- Currently failed: 1 | |- Total failed: 12 | ̀ - File list: /var/log/secure ̀ - Actions |- Currently banned: 1 |- Total banned: 2 ̀ - Banned IP list: 8.8.4.4
Пункт 1.1.9 (настройка приветствия консоли, устанавливаем update-notifier)
Было бы не плохо при входе в консоль получать количество пакетов, которые можно обновить. Жаль, весит обновление почти полгига, ну да не суть. Если у вас впс не на 5Гб, то можно и поставить, в остальном не самая обязательная штука.
apt install update-notifier
после чего перезагружаем сервер
sudo reboot
Пункт 1.1.10 (добавление нового системного пользователя)
т.к. заходить под рутом мягко говоря не рекомендовано, то мы должны создать нового пользователя, например «your_user_name»:
adduser your_user_name после чего вводим СЛОЖНЫЙ пароль этого пользователя и записываем в надежном месте, а лучше в двух, т.к. потеряв его вы в дальнейшем потеряете доступ к серверу. Пример хорошего пароля: qtR_L2qWr@K9DU
После чего нужно дать возможность пользователю выполнять команды sudo:
nano /etc/sudoers
Вписываем в самом конце следующую строку
имя_пользователя ALL=(ALL) ALL
например:
your_user_name ALL=(ALL) ALL
Далее, при попытке войти на сервер по ssh под новым пользователем можно зайти под рутом, для этого выполняем:
su вводим пароль пользователя root
После этого обязательно нужно отключить возможность авторизации root пользователя по ssh:
sudo nano /etc/ssh/sshd_config
и исправляем значение на no PermitRootLogin no
после чего перезагружаем ssh командой: sudo service ssh restart
После чего можно отключиться от ssh и попробовать снова залогиниться под пользователем root. Если вы всё правильно настроили, то ничего не получится. Нужно подключаться по дополнительному созданному вами пользователю your_user_name.
На запрос пароля sudo надо отвечать СВОИМ паролем. На su — паролем рута. PermitRootLogin no означает, что нельзя зайти рутом по ssh, надо зайти просто пользователем, а потом (если надо) поднимать привилегии до рута. Нормальная политика безопасности. Имя root слишком известно 🙂
Можно сделать НЕБЕЗОПАСНЫЙ финт ушами и отключить у вашего только что созданного пользователя (your_user_name) ввод пароля после попытки запуска команд от суперпользователя root (su/sudo/sudo -s):
Открываем от root пользователя следующий файл:
sudo nano /etc/sudoers
после чего в самый конец файла добавляем строчку:
your_user_name ALL=(ALL) NOPASSWD:ALL
Не забыв заменить your_user_name на имя вашего нового пользователя.
После этого вы сможете запускать команды не вводя пароль root пользователя.
Стоить помнить, что данный способ является плохим примером безопасности!
Пункт 1.2.0 (установка и настройка nginx)
sudo apt install nginx
Пункт 1.2.1 (установка самой последней версии nginx)
После чего переходим в браузере по адресу: http://ip_вашего_сервера
Если всё настроено правильно, то вы должны будете увидеть примерно следующий текст:
Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.
Пункт 1.2.1 (установка и настройка MySQL)
MySQL является системой управления базами данных с открытым исходным кодом и обычно используется, как часть популярного стека LAMP (Linux, Apache, MySQL, PHP/Python/Perl). MySQL использует реляционную базу данных и SQL (Structured Query Language, язык структурированных запросов) для управления данными.
Короткая версия установки очень проста: достаточно обновить индекс пакетов, установить пакет mysql-server, а затем запустить скрипт настройки безопасности.
Обновляем индекс пакетов apt командой:
sudo apt update
Затем устанавливаем сам пакет MySQL:
Было:
sudo apt install mysql-server
Стало:
sudo apt install mariadb-server
В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удалённый вход для пользователей root и пользователи, созданные по умолчанию. В старых версиях MySQL вам было необходимо также инициализировать директорию данных вручную, теперь это делается автоматически.
Выполните скрипт безопасности командой:
sudo mysql_secure_installation
В результате выполнения этого скрипта вам будет предложено внести изменения в настройки безопасности вашей MySQL:
1.Сначала вам будет предложено установить плагин валидации паролей (Validate Password Plugin), который позволяет тестировать надёжность паролей MySQL.(можно нажать любую клавишу (кроме Y/y) для отмены установки плагина)
2. Далее вам предложат задать пароль для пользователя root вашей установки MySQL. Выберите надёжный пароль и введите его два раза.
3. Далее вы можете выбирать Y и нажимать ENTER для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи и тестовые базы данных, будет отключена возможность удалённого входа для root пользователей, после чего все внесённые изменения будут применены к вашей установке MySQL.
Пункт 1.3.0 (установка и настройка apache2-mpm-itk)
Модуль apache2-mpm-itk для Apache нужен для того чтобы запускать виртуальные хосты vhosts под своим UID или GID, проще говоря, скрипты сайта должны быть недоступны для других хостов даже для чтения (в случае взлома одного сайта не смогли взломать другой сайт находящихся на этом сервере).
Я уже давно использую apache2-mpm-itk на своих серверах, но после попытки установить apache2-mpm-itk в Ubuntu 18.04, понял что кое-что изменилось.
Теперь apache2-mpm-itk является отдельным модулем в Apache2 и устанавливается как модуль.
Чтобы установить модуль apache2-mpm-itk в Ubuntu 18.04 необходимо:
Установить apache2 в Ubuntu 18.04:
sudo apt install apache2
После чего вы получите ошибку, это нормально.
Установить модуль libapache2-mpm-itk:
sudo apt install libapache2-mpm-itk
Включить модуль apache2-mpm-itk:
sudo a2enmod mpm_prefork sudo a2enmod mpm_itk
Редактируем файл конфигурации, т.к. Apache по-умолчанию принимает запросы из интернета (80 порт и из-за его занятости была ошибка), а у нас это делает nginx:
sudo nano /etc/apache2/ports.conf
И изменяем строчку:
Listen 80
на
Listen 127.0.0.1:8080
Перезагружаем apache командой:
sudo service apache2 restart
Смотрим какие модули у нас установлены:
sudo apachectl -t -D DUMP_MODULES
и если видим:
....... mpm_itk_module (shared) ........
То модуль apache2-mpm-itk установлен в Ubuntu 18.04 и можно дальше настраивать сервер.
Пункт 1.4.0.1 Fix add-apt-repository: command not found error
Иногда после этой команды выскакивает ошибка следующего вида:
sudo: add-apt-repository: command not found
Ошибка проста. Пакет add-apt-repository не установлен в вашей системе.
Если вы попытаетесь использовать sudo apt-get install add-apt-repository, это не сработает.
Это связано с тем, что команда add-apt-repository находится в пакете software-properties-common, и вам необходимо установить этот пакет, чтобы установить add-apt-repository.
Поэтому во избавление ошибки (если она появилась) используем следующую команду:
sudo apt-get install software-properties-common
подтверждаем установку кнопкой:
Y
и снова пытаемся добавить репозиторий вышеуказанной командой:
sudo add-apt-repository ppa:ondrej/php
Если ошибка не появились или вы её успешно исправили, то далее обновляем список командой:
На появившиеся в процессе установки вопросы отвечаем Y
Используйте следующую команду, чтобы проверить версию PHP, установленную на вашем сервере:
php -v
Вывод должен быть примерно следующим:
PHP 7.3.x-x+ubuntu18.04.1+deb.sury.org+1 (cli) (built: xxx x xxxx xx:xx:xx) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.x, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.x-x+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
PHP 8.0.1 (cli) (built: Jan 13 2021 08:22:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies
Перезапускаем Apache для применения изменений:
sudo service apache2 restart
Дополнительно вносим изменения в конфигурационный файл Apache:
sudo nano /etc/apache2/apache2.conf
Находим следующие строчки:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /srv/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Их нужно закомментировать и добавить после них следующие пять строчек:
<Directory /home/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
#ErrorDocument 403 /var/www/html/403.html
</Directory>
В итоге мы должны получить часть конфига, которая будет выглядеть следующим образом:
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
#<Directory />
# Options FollowSymLinks
# AllowOverride None
# Require all denied
#</Directory>
#<Directory /usr/share>
# AllowOverride None
# Require all granted
#</Directory>
#<Directory /var/www/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
<Directory /home/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
#ErrorDocument 403 /var/www/html/403.html
</Directory>
После чего снова перезагружаем Apache:
sudo service apache2 restart
Дабы однажды не столкнуться с ошибкой вроде:
Ошибка /var/www/site/public_html/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Нужно включить rewrite модуль Apache
sudo a2enmod rewrite
После чего нужно снова перезагрузить сервер Apache:
sudo service apache2 restart
После этого нам желательно настроить наш первый тестовый сайт и проверить его работоспособность.
В мире Linux существует огромное количество дистрибутивов, каждый из которых создан со своей определённой целью. Какой-то из них подойдет каждому пользователю; другой – веб-дизайнеру; третий – системному администратору. Поэтому мы сделали подборку лучших, по нашему мнению, дистрибутивов 2019 года.
Manjaro – лучший из лучших
Manjaro Linux – это быстрая и удобная операционная система на основе Arch Linux. Разработка системы началась сравнительно недавно – в 2013 году, но это не помешало дистрибутиву быстро набрать популярность среди пользователей. Целью создания Manjaro было сделать Arch Linux более дружественным по отношению к новым пользователям, и, надо сказать, разработчикам это удалось.
Плюсы:
удобство пользовательского интерфейса;
множество поддерживаемых графических оболочек (XFCE, KDE, GNOME);
собственный репозиторий, а также совместимость с AUR;
Mint – развиваемый сообществом дистрибутив Linux, основанный на Ubuntu (которая, в свою очередь, основана на Debian), ставящий своей целью предоставить пользователю «современную, элегантную и удобную операционную систему, которая одновременно является мощной и простой в использовании». Поэтому этот дистрибутив традиционно советуют новичкам, так как там имеется большой пакет драйверов, предустановленные браузер, офисный пакет, программы для работы с мультимедиа и встроенный менеджер приложений. Читайте пошаговую инструкция по установке linux mint.
Плюсы:
удобный и красивый интерфейс;
несколько поддерживаемых окружений рабочего стола (на данный момент – GNOME, XFCE и KDE);
большой набор предустановленного ПО;
один из самых крупных репозиториев (используется Ubuntu PPA);
стабильность и регулярное обновление дистрибутива.
MX Linux создавался как продолжение AntiX – легковесного LiveCD дистрибутива. Для этого разработчики прибегнули к переносу кода AntiX на базу Ubuntu. Целью сообщества является «объединить наиболее удобные и быстрые графические оболочки с высокой стабильностью и производительностью».
Плюсы:
высокая скорость работы и низкое потребление системных ресурсов;
удобный пользовательский интерфейс;
наличие полноценного, максимально проработанного Live-режима;
надежность и стабильность.
Минусы:
небольшой набор предустановленного ПО;
необходимость знания основных команд и понятий Linux.
Минимальные системные требования:
процессор x86/x64;
512 Мб оперативной памяти;
5 Гб свободного дискового пространства (для LiveUSB/CD – 4 Гб).
elementary OS – минималистичный дистрибутив Linux, который базируется на Ubuntu и использует графическую оболочку Pantheon. Разработчики установили три основных правила: «краткость», «избегать конфигураций» и «минимальная документация». Внешний вид системы напоминает Mac OS, за что eOS получила как положительные, так и отрицательные отзывы.
Плюсы:
очень удобный и приятный на вид интерфейс;
скорость работы;
наличие большого количества предустановленного ПО;
отсутствие необходимости изучения основных команд и принципов Linux.
Ubuntu – самый безопасный и стабильный дистрибутив
Первая версия Ubuntu вышла в далеком 2008 году и сразу получила большую популярность среди пользователей Linux – на данный момент им пользуется более 20 миллионов пользователей. В отличие от многих других дистрибутивов, Ubuntu имеет строго ограниченные временные рамки выпуска новых версий – через каждые 6 месяцев. При это каждая четвертая версия является LTS, то есть с увеличенным сроком поддержки (14.04, 16.04, 18.04).
Плюсы:
наличие множества предустановленных приложений;
удобный пользовательский интерфейс;
стабильность, регулярные, но не обязательные обновления;
большое сообщество пользователей.
Минусы:
большой вес системы;
ресурсоёмкость установленного окружения рабочего стола.
Модификаций Linux множество, но, надеемся, вам всё же удалось найти идеальный для себя дистрибутив. Однако вы также можете посмотреть ещё несколько на специальном портале – distrowatch.com.