Fail2ban owncloud.

Для начала настраиваем директиву'logtimezone' => 'Asia/Yekaterinburg'
В файле /var/www/owncloud/config/config.php

Затем устанавливаем fail2ban.
sudo apt install fail2ban

Создаем локальные файлы настроек.
sudo cp fail2ban.conf fail2ban.conf.local
sudo cp jail.conf jail.conf.local 

Создаем regex фильтра.
sudo vim /etc/fail2ban/filter.d/owncloud.conf

[Definition]
failregex={.*Login failed: \'.*\' \(Remote IP: \'<HOST>\'\)"}
ignoreregex =

Теперь сам конфиг.
sudo vim /etc/fail2ban/jail.d/owncloud.local

[owncloud]
enabled = true
port = 80,443
protocol = tcp
filter = owncloud
maxretry = 3
bantime = 10800
logpath = /var/www/owncloud/data/owncloud.log

Перезапускаем службу.
sudo systemctl restart fail2ban.service

Смотрим статус. 
sudo fail2ban-client status owncloud

Для проверки парсинга используйте.
fail2ban-regex /var/www/owncloud/data/owncloud.log /etc/fail2ban/filter.d/owncloud.conf

Для снятия бана с ip.
sudo fail2ban-client set owncloud unbanip IPADDRESS

Vagrant шпаргалка.

Инициализировать box.
vagrant init ubuntu/xenial64

Проверить файл Vagrantfile.
vagrant validate

Создать вирт машину.
vagrant up Vagrantfile

Установить плагин.
vagrant plugin install my-plugin

Посмотреть глобальный статус.
vagrant global-status

Соединиться по ssh с машиной в текущей директории.
vagrant ssh

Соединиться по ssh с машиной через имя.
vagrant ssh d1e80fa     

Пауза.
vagrant suspend 1f2a1a5
vagrant resume ubuntu1

Вкл/выкл.
vagrant halt 1f
vagrant up 1f

Перезагрузка.
vagrant reload

Удалить машину.
vagrant destroy d1e80fa

Посмотреть ssh конфигурацию.
vagrant ssh-config

Работа со снапшотами.
vagrant snapshot save 0f test
vagrant snapshot restore 0f test
vagrant snapshot delete 0f test

Скопировать файл в виртуальную машину.
vagrant upload source_file.txt dst_file.txt 0f

Обновление образов.
vagrant box update

Файл Vagrant
Имя в vagrant global-status.
config.vm.define "ubuntu1"   
Имя в VirtualBox.
config.vm.provider "virtualbox" do |v|
v.name = "ubuntu1"
Имя образа.
vagrant2.vm.box = "ubuntu/trusty64"
Проброс портов.
vagrant2.vm.network "forwarded_port", guest: 80, host: 8081
или
config.vm.network "forwarded_port", guest: 8080, host: 8080

Добавить физический адаптер и статический адрес.
config.vm.network "public_network",bridge: "enp2s0" , ip: "192.168.100.240"

Скопировать при развертывании.
config.vm.synced_folder "test/" , "/var/www/test"

Установить пакет при развертывание.
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update >/dev/null 2>&1 
sudo apt-get install -y mc >/dev/null 2>&1 
SHELL
или через скрипт
config.vm.provision "shell", path: "install.sh"

Использовать статический ssh ключ. (/home/user/.vagrant.d/insecure_private_key)
config.ssh.insert_key = false

Прописать маршрут по умолчанию.
inline: "ip route add default via 172.16.10.1"

Установить значение для ОЗУ.
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end

Установка сервера LEMP Ubuntu 18.04.

Установка сервера.
sudo apt update
sudo apt install nginx

Проверка сервиса.
sudo systemctl status nginx

Настройка   Firewall.
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'OpenSSH'

Включение Firewall.
sudo ufw enable

Установка СУБД.
sudo apt install mysql-server

Запускаем простой скрипт безопасности.
sudo mysql_secure_installation

Подключение дополнительных репозиториев.
sudo add-apt-repository universe

Установка php-fpm.
sudo apt install php-fpm php-mysql

Создание файла виртуального хостинга test.
sudo vim /etc/nginx/sites-available/test

server {
    listen 80;
    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name test;
    location / {
       try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
       include snippets/fastcgi-php.conf;
       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }
    location ~ /\.ht {
       deny all;
    }
}

Добавление символьной ссылки.
sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/

Удаление символьной ссылки для default.
sudo unlink /etc/nginx/sites-enabled/default

Проверка конфигурации сайта.
sudo nginx -t
sudo systemctl reload nginx

Создание файла тестирования php.
sudo vim /var/www/html/info.php
<?php
phpinfo();
?>
Все можно проверять.

Увеличение дискового пространства Linux системы на гипервизоре Hyper-V.

Сначала увеличиваем размер диска со стороны гипервизора.
Resize-VHD -Path 'C:\vm\test\Virtual Hard Disks\test.vhdx' -SizeBytes 300GB

Переходим в гостевую систему.
запускаем утилиту parted в моем случае нужно увеличить второй раздел диска.
parted /dev/sda2

Увеличиваем размер до нужного.
(parted) resizepart 2                                                   
Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
Yes/No? Yes                                                     
End?  [136GB]? 300GB                                                                                                                                        Information: You may need to update /etc/fstab.

Посмотрим fdisk все OK.
sudo fdisk -l /dev/sda
Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C7B995A0-EDBE-4387-99C6-7F5067D39A43
Device     Start       End   Sectors   Size Type
/dev/sda1   2048      4095      2048     1M BIOS boot
/dev/sda2   4096 585937500 585933405 279.4G Linux filesystem

Увеличиваем структуру самой файловой системы.
sudo resize2fs /dev/sda2
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 16, new_desc_blocks = 35
The filesystem on /dev/sda2 is now 73241675 (4k) blocks long.

Tmux основы работы.

Создать новую сессию.
tmux new-session -s name

Присоединиться к сессии.
tmux a -t name

Удалить сессию.
tmux kill-ses name

Отсоеденить  сессию Ctrl+B D

Вертикальное разделение.
Ctrl+B %

Горизонтальное разделение.
Ctrl+B "

Убрать разделение.
Ctrl+B X

Закрыть текущее разделение.
exit 

Для растягивания  мышью окон
echo "set -g mouse on" >> .tmux.conf

SSH Авторизация без пароля.

Переходим в домашний каталог.
user@client$ cd /home/user

Генерируем ключ (При желании можно добавить парольную фразу).
user@client$ ssh-keygen

Создаем папку mkdir.
user@client$ ssh user@host mkdir -p .ssh
Копируем публичный ключ на хост.

user@client$ cat .ssh/id_rsa.pub | ssh user@host "cat >> .shh/authorized_keys"

либо можно воспользоваться утилитой. 
user@client$ ssh-copy-id -i id_rsa.pub user@host

Можно конектиться без пароля.
user@client$ ssh user@host
user@host$

Теперь  можно закрыть доступ по паролю 
для этого в файл /etc/ssh/sshd_config
внести следующие настройки.
PermitRootLogin no
UsePAM no 
PasswordAuthentication no

Теперь перезапустить службу.
service sshd restart

Создайте подобный сайт на WordPress.com
Начало работы