
25 штук
Время: 20 минут
Ингредиенты:
- Курага — 100 гр
- Изюм — 100 гр
- Чернослив — 100 гр
- Орехи грецкие — 300 гр
- Мёд — 100 гр
- Коньяк — 25 мл
- Лимон — 0,5 шт
- Миндаль горький — 3 миндалинки Читать

25 штук
Время: 20 минут
sudo dpkg-reconfigure tzdata
В появившемся меню выбираем «Europe» -> «Moscow»
Обратите внимание, что крон автоматически не подхватывает новый часовой пояс, его надо перезагрузить:
sudo service cron restart
Неплохо бы чтобы в консоли понимались файлы с русскими символами, для этого устанавливаем пакет локалей
sudo apt install locales
после этого настраиваем его:
sudo dpkg-reconfigure locales
можно выбрать только одну локализацию
en_US.UTF-8
На мой взгляд правильно каждый сервер называть своим понятным и читаемым именем, а не тем, что вам приподносит хостер, например мы можем заменить «мзы-server-548739» на понятное для вас имя «companyname-ru-msk-WEBServer-01»:
echo 'companyname-ru-msk-WEBServer-01 ' > /etc/hostname
для обновления настроек нужно перезагрузить сервер
sudo reboot
Теперь же необходимо обновить все пакеты в нынешней системе до актуальных версий:
sudo apt update && sudo apt dist-upgrade
Выбираем варианты на ваш выбор:
[O] keep the local version currently installed т.к. вашим хостинг-провайдером могут быть изначально вписаны дополнительные днс и тп
show the differences between the versions — для сравнения разницы в файлах
sudo nano /etc/ssh/sshd_config
Ищем в открывшемся файле следующую строку:
#Port 22
Если строка начинается с символа #, его нужно удалить и вместо 22 порта, написать любой другой, например 48922:
Port 48922
На википедии можно ознакомиться со списком используемых и свободных TCP/UDP портов
Перезапускам демон ssh для применения настроек:
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) и подключаемся уже с новым портом
Добавим ещё один полезный параметр, который отсутствует в файле 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
Опция «StrictModes» определяет должен ли ssh проверять права пользователей в их домашних каталогах и файлы rhosts перед тем, как пустить на сервер. Эта опция должна всегда быть установлена в «yes», потому что иногда пользователи могут случайно оставить свои каталоги и файлы открытыми всем для записи.
sudo nano /etc/ssh/sshd_config Находим и изменяем (раскомментируем): StrictModes yes Для применения изменений рестартуем ssh: sudo service ssh restart
Этот параметр разрешает или запрещает вход по SSH под суперпользователем «root». Запрещаем вход суперпользователю.
sudo nano /etc/ssh/sshd_config
Находим и изменяем:
PermitRootLogin no
Для применения изменений рестартуем ssh:
sudo service ssh restart
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 — выйти из программы.
Midnight Commander — консольный файловый менеджер для Linux.
Если вам приходится работать с большим количеством файлов в консольном окружении, то вы можете найти такую работу достаточно утомительной. В графическом окружении имеются файловые менеджеры, которые помогают повысить скорость работы с файлами. Вам не нужно помнить название и синтаксис каждой команды, связанной с файлами.
В консольном окружении для работы с файлами вы должны знать основные команды и их синтаксис. К счастью, в Linux также имеется текстовый файловый менеджер, работающий в консольном окружении. Он называется Midnight Commander (далее мы будем называть его просто MC).
Для установки вводим:
sudo apt install mc
Команда запуска:
mc или sudo mc
Для выхода нажимаем F10
Я очень надеюсь, что большинство из вас прекрасно понимает, что устанавливать 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«, то вы наверняка будете рады тому, что найдете ниже, а именно следующую строку и правильный процесс создания пользователя.
Далее нужно выполнить следующие операции, иначе кина не будет:
sudo nano /etc/shells
в самом конце файла добавить:
/bin/false
Сохраняем файл и закрываем редактирование.
sudo useradd sample_user_name -b /home -m -U -s /bin/false;
где, sample_user_name — имя пользователя, папка которого будет находиться по адресу /home/sample_user_name/
Создаем пароль пользователя
sudo passwd sample_user_name
Вводим пароль, подтверждаем и всё, готово, можно подключаться к ftp серверу.
Принцип работы 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/:
Чтобы ваши настройки не перезаписывались при обновлении пакетов, рекомендуем вместо редактирования файлов с дефолтным настройками создавать собственные (пользовательские) файлы настроек.
Вам необходимо удалить дефолтные настройки защиты sshd (очищаем файл):
cat /dev/null >/etc/fail2ban/jail.d/defaults-debian.conf
Затем создайте файл /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
fail2ban-client set sshd addignoreip 8.8.4.4
fail2ban-client set sshd unbanip 8.8.4.4
Более подробно 1: https://andreyex.ru/linux/kak-ustanovit-i-nastroit-fail2ban-v-ubuntu-20-04/
Более подробно 2: https://www.servers.ru/knowledge/linux-administration/how-to-protect-ssh-using-fail2ban-on-ubuntu-16_04 и тут: https://linux-notes.org/udalit-iz-fail2ban-zablokirovanny-j-ip/

Добавляем консольную информационную плюшку
sudo apt install landscape-common
после чего перезагружаем сервер
sudo reboot
так же можно почитать https://4skill.ru/nastrojka-privetstviya-konsoli-ubuntu-server/
Было бы не плохо при входе в консоль получать количество пакетов, которые можно обновить. Жаль, весит обновление почти полгига, ну да не суть. Если у вас впс не на 5Гб, то можно и поставить, в остальном не самая обязательная штука.

apt install update-notifier после чего перезагружаем сервер sudo reboot
apt-get -s dist-upgrade | grep "^[[:digit:]]+ upgraded"
т.к. заходить под рутом мягко говоря не рекомендовано, то мы должны создать нового пользователя, например «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 пользователя.
Стоить помнить, что данный способ является плохим примером безопасности!
sudo apt install nginx
Т.к. основной репозиторий Ubuntu содержит не самую последнюю версию Nginx, то нам приходится ещё две минуты покопировать команды, для подключения официального Nginx репозитория.
Установите пакеты, необходимые для подключения apt-репозитория:
sudo apt install curl gnupg2 ca-certificates lsb-release
Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду (я использую её):
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:
echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ bionic nginx"
| sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu/ focal nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ focal nginx"
| sudo tee /etc/apt/sources.list.d/nginx.list
Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов:
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
Проверьте, верный ли ключ был импортирован:
sudo apt-key fingerprint ABF5BD827BD9BF62
Вывод команды должен содержать полный отпечаток ключа 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
uid [ unknown] nginx signing key signing-key@nginx.com
Чтобы установить/обновить nginx, выполните следующие команды:
sudo apt update && sudo apt install nginx
После этого можно проверить актуальность установленной версии nginx командой:
nginx -v
И сравнить версию с версией на официальном сайте nginx https://nginx.org/en/download.html (Stable version)
Переименовываем старый файл настроек nginx:
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf_OLD
Создаем новый файл настроек nginx:
sudo nano /etc/nginx/nginx.conf
и вставляем в него следующее содержимое:
user www-data;
worker_processes 4; #Количество одновременно запущенных процессов nginx должно быть равно количеству ядер вашего процессора
pid /run/nginx.pid;
events {
worker_connections 300;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
#more_set_headers 'Sever: EGOmedia fast server';
client_max_body_size 00m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
Создаем две новых папки под конфигурационные файлы:
mkdir {/etc/nginx/sites-available,/etc/nginx/sites-enabled}
Перезагружаем nginx командой:
sudo service nginx restart
После чего переходим в браузере по адресу: 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.
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.
Подробности настройки MySQL 18.04 https://www.digitalocean.com/community/tutorials/mysql-ubuntu-18-04-ru
Подробности настройки MySQL 20.04 https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04-ru
Модуль 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 и можно дальше настраивать сервер.
В виртуальных хостах apache ничего не изменилось:
<IfModule mpm_itk_module>
AssignUserId user-www user-www
</IfModule>
Где user-www меняем на вашего пользователя.
В случае ошибки добавления смотрим подсказку ниже
Добавляем PPA репозиторий:
sudo add-apt-repository ppa:ondrej/php Нажимаем Enter.
Иногда после этой команды выскакивает ошибка следующего вида:
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
Если ошибка не появились или вы её успешно исправили, то далее обновляем список командой:
sudo apt-get update
Установите PHP 7.3, используя следующую команду:
php 8.0.1 https://www.cloudbooklet.com/how-to-install-php-8-on-ubuntu/
sudo apt-get install php7.3 libapache2-mod-php7.3 php7.3-mysql php7.3-curl php7.3-gd php7.3-imagick php7.3-snmp php7.3-imap php7.3-recode php7.3-zip php-pear php7.3-memcache libapache2-mod-php7.3 php7.3-bcmath
sudo apt-get install php8.0 libapache2-mod-php8.0 php8.0-mysql php8.0-curl php8.0-gd php8.0-imagick php8.0-snmp php8.0-imap php8.0-recode php8.0-zip php-pear php8.0-memcache libapache2-mod-php8.0 php8.0-bcmath
На появившиеся в процессе установки вопросы отвечаем 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 Linux – это быстрая и удобная операционная система на основе Arch Linux. Разработка системы началась сравнительно недавно – в 2013 году, но это не помешало дистрибутиву быстро набрать популярность среди пользователей. Целью создания Manjaro было сделать Arch Linux более дружественным по отношению к новым пользователям, и, надо сказать, разработчикам это удалось.
Плюсы:
Минусы:
Минимальные системные требования:
[symple_button url=”https://manjaro.org/download/” color=”black” button_target=”_blank” btnrel=”nofollow”]Скачать[/symple_button]

Mint – развиваемый сообществом дистрибутив Linux, основанный на Ubuntu (которая, в свою очередь, основана на Debian), ставящий своей целью предоставить пользователю «современную, элегантную и удобную операционную систему, которая одновременно является мощной и простой в использовании». Поэтому этот дистрибутив традиционно советуют новичкам, так как там имеется большой пакет драйверов, предустановленные браузер, офисный пакет, программы для работы с мультимедиа и встроенный менеджер приложений. Читайте пошаговую инструкция по установке linux mint.
Плюсы:
Минусы:
Минимальные системные требования:
[symple_button url=”https://linuxmint.com/download.php” color=”black” button_target=”_blank” btnrel=”nofollow”]Скачать[/symple_button]

MX Linux создавался как продолжение AntiX – легковесного LiveCD дистрибутива. Для этого разработчики прибегнули к переносу кода AntiX на базу Ubuntu. Целью сообщества является «объединить наиболее удобные и быстрые графические оболочки с высокой стабильностью и производительностью».
Плюсы:
Минусы:
Минимальные системные требования:
[symple_button url=”https://mxlinux.org/wiki/system/iso-download-mirrors” color=”black” button_target=”_self” btnrel=”nofollow”]Скачать[/symple_button]

elementary OS – минималистичный дистрибутив Linux, который базируется на Ubuntu и использует графическую оболочку Pantheon. Разработчики установили три основных правила: «краткость», «избегать конфигураций» и «минимальная документация». Внешний вид системы напоминает Mac OS, за что eOS получила как положительные, так и отрицательные отзывы.
Плюсы:
Минусы:
Минимальные системные требования:
[symple_button url=”https://elementary.io” color=”black” button_target=”_self” btnrel=”nofollow”]Скачать[/symple_button]

Первая версия Ubuntu вышла в далеком 2008 году и сразу получила большую популярность среди пользователей Linux – на данный момент им пользуется более 20 миллионов пользователей. В отличие от многих других дистрибутивов, Ubuntu имеет строго ограниченные временные рамки выпуска новых версий – через каждые 6 месяцев. При это каждая четвертая версия является LTS, то есть с увеличенным сроком поддержки (14.04, 16.04, 18.04).
Плюсы:
Минусы:
Минимальные системные требования:
[symple_button url=”https://ubuntu.com” color=”black” button_target=”_self” btnrel=”nofollow”]Скачать[/symple_button]
Модификаций Linux множество, но, надеемся, вам всё же удалось найти идеальный для себя дистрибутив. Однако вы также можете посмотреть ещё несколько на специальном портале – distrowatch.com.
Microsoft пытается сделать программы и форматы файлов обратно совместимыми. Это не всегда работает. Иногда разрыв между операционными системами слишком велик.
Приложения, разработанные для Windows XP, Windows 98 и старше, теперь начинают испытывать трудности. Многие перестают функционировать, если вы не найдете конкретное исправление Windows 10 для более старого программного обеспечения. Даже используя встроенные в Windows 10 режимы совместимости, некоторые программы отказываются возвращаться к жизни.
Прежде чем оставить надежду, попробуйте эти советы, чтобы ваши старые игры и программы для Windows работали в Windows 10.
Некоторые старые игры и программы работают на Windows 10. Это зависит от программы. Если программа или игра особенно ценны для ее пользовательской базы, может существовать обходной путь. В противном случае вам следует ознакомиться с этим кратким списком причин, по которым ваше старое программное обеспечение отказывается играть в мяч с Windows 10.
Если ваша проблема связана с программой Windows XP, первое, что нужно попробовать — запустить приложение от имени администратора. В эпоху Windows XP большинство пользователей были обычно администраторами. Это не всегда так с Windows 10, так как Microsoft пытается укрепить безопасность. Разработчики закодировали приложения, предполагая, что у них есть права администратора, и в противном случае произойдет сбой.

Перейдите к исполняемому файлу приложения или его ярлыку, щелкните правой кнопкой мыши и выберите «Запуск от имени администратора» .
Если щелчок правой кнопкой мыши по приложению не работает, мы можем попытаться позволить Windows 10 самостоятельно принять решение о настройках совместимости. В Windows 10 встроено средство устранения неполадок совместимости программ, которое помогает «обнаруживать и устранять распространенные проблемы совместимости».
Используйте меню «Пуск» для поиска запущенных программ. Выберите лучшее соответствие, чтобы открыть средство устранения неполадок.

Выберите «Дополнительно» → «Запуск от имени администратора», затем «Далее» для продолжения.

Средство устранения неполадок теперь будет сканировать вашу систему на наличие потенциальных проблем совместимости. Если вашего приложения нет в списке, выберите параметр «Нет в списке» и нажмите «Далее».

Вам придется перейти к исполняемому файлу или ярлыку. Я буду тестировать одну из величайших футбольных управленческих игр, когда-либо сделанных: Premier Manager 98.

Выберите Попробовать рекомендуемые настройки.

После того, как вы примените настройки, протестируйте программу. Как видите, теперь программа работает, хотя и уведомляет меня, что мне нужен оригинальный CD-ROM. Нажмите Далее.

Ошибка совместимости программы
Теперь средство устранения неполадок спросит вас, было ли исправление успешным или нет. При выборе Да сохранить эти настройки для этой программы закроется средство устранения неполадок. Выберите Нет, попробуйте еще раз, используя другие настройки , откроется дополнительный диалог, содержащий следующие параметры:
Сделайте свой выбор, основываясь на результатах теста, который мы провели в предыдущем разделе. Приведенные примеры должны помочь вам понять, какой вариант подходит для вашего приложения. Однако для его запуска может потребоваться ряд исправлений, поэтому не теряйте надежду при первом же препятствии.

Вам не нужно использовать средство устранения неполадок, чтобы выяснить, как играть в старые игры на Windows 10. Вы можете получить доступ к параметрам совместимости с Windows 10 через меню свойств приложения.
Выберите вкладку «Совместимость». Используйте режим совместимости, чтобы запустить приложение в предыдущей версии. о Windows. Кроме того, вы найдете параметры совместимости для режимов уменьшенного цвета, запуска с разрешением экрана 640×480. Отключите масштабирование экрана при настройках с высоким разрешением и запустите эту программу от имени администратора.
Алиса — известный отечественный аналог Siri. Она быстро находит нужную информацию в сети, включает музыку, вызывает такси, отключает ПК, болтает с вами на любые темы, шутит — её функционал довольно широк. К её помощи быстро привыкаешь. Поэтому юзерам приходится оперативно искать решение в интернете, если она «ломается». Какие проблемы могут возникнуть в её работе? Что делать в каждом случае?
В этой статье я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети).
Существует два способа изменения имени компьютера в Debian/Ubuntu:
Итак, начнем. Для того, чтобы узнать как называется наш ПК в сети, вводим команду:
hostname
В ответ получаем что то типа этого.
LinuxMint
или
hostnamectl
Static hostname: LinuxMint
Icon name: computer-desktop
Chassis: desktop
Machine ID: 2a5d6f96ef9147c0b66535562b32d0ff
Boot ID: 3fce6c2b883b4c76a66bfa05d0538d72
Operating System: Linux Mint 18.3
Kernel: Linux 4.15.0-33-generic
Architecture: x86-64
Для того, чтобы изменить имя компьютера, нужно ввести команду:
sudo hostname new_name
или
sudo hostnamectl set-hostname new_name
И так данной командой мы изменили имя до следующей сессии.
Теперь приступим к наиболее сложному:
Рассмотрим как можно однократно изменить имя компьютера в Debian/Ubuntu и больше не возвращаться к этому вопросу.
Системы, основанные на Debian, при загрузке читают файл /etc/hostname, чтобы установить имя компьютера. После чего, прочитанное имя устанавливается во время работы init-скрипта /etc/init.d/hostname.sh в некоторых версиях /etc/init.d/hostname.
Таким образом, чтобы узнать текущее имя машины, можно в дополнение к вышеуказанному способу, так же использовать следующий подход:
cat /etc/hostname
В ответ на это мы получим текущее имя компьютера.
Чтобы задать постоянное имя компьютеру, необходимо отредактировать этот файл:
sudo nano /etc/hostname
После чего, необходимо перезапустить скрипт:
/etc/init.d/hostname.sh start
Если вас смущают эти команды, тогда можно просто перезагрузить ПК и у вас уже будет измененное hostname.
Пока не забыл! В системе имеется также файл /etc/hosts. Откроем его на редактирование:
sudo nano /etc/hosts
В этом файле нам необходимо прописать как имя компьютера (hostname), так и FQDN (доменное имя). Вот пример моего файла:
127.0.0.1 ns1.dom localhost LinuxMint
127.0.1.1 ns1.dom LinuxMint
10.5.7.1 ns1.dom LinuxMint
The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouter
Также может потребоваться переподнять сеть:
sudo /etc/init.d/networking restart
Ну, вот и всё готово!
[endtxt]