How to install multiple PHP versions on VestaCP

First download and start manager php from Github:

git clone https://github.com/petranikin/mgrvphp.git
cd mgrvphp
bash mgrvphp

Then enter version of PHP You need to install (remember that you need to enter fool version: 7.1.4). All versions of PHP You can see on site: http://php.net/releases

Install packages and dependencies: Yes

Create links in /usr/bin : Yes

Create template in VestaCP: Yes

Then wait when script install PHP on Your server (it took me more than 30 minutes)

Once the installation is complete, you can go to the panel to install the desired template:

How to check PHP version on server and site?

Create the file phpinfo.php. Open it with a text editor and enter the following:

‹?php
phpinfo();
?›

Upload the file to the root of the site → open the file in the browser and look at the installed version of php:

How to Clone a Partition or Hard drive in Linux

First lets show all partitions in system:

fdisk -l

Now clone a partition /dev/sdb1/ to /dev/sdc1 using the following dd command.

dd if=/dev/sdb1  of=/dev/sdc1

The above command tells dd to use /dev/sdb1 as input file and write it to output file /dev/sdc1.

How to Clone Linux Hard Drive

Cloning a Linux hard drive is similar to cloning a partition. However, instead of specifying the partition, you just use the entire drive. Note that in this case it is recommended that the hard drive is same in size (or bigger) than the source drive.

dd if=/dev/sdb of=/dev/sdc

This should have copied the drive /dev/sdb with its partitions on the target hard drive /dev/sdc. You can verify the changes by listing both drives with fdisk command.

fdisk -l

Linux – підключення до SSH за допомогою ключа

SSH або захищена оболонка – це зашифрований протокол, який використовується для адміністрування та спілкування з серверами. Під час роботи з сервером Ubuntu, швидше за все, ви витратите більшу частину часу на термінальний сеанс, підключений до вашого сервера через SSH.

У цьому посібнику ми зупинимось на налаштуванні SSH-ключів для установки на Ubuntu 18.04. SSH-ключі забезпечують простий, безпечний спосіб входу на ваш сервер і рекомендуються для всіх користувачів.

Крок 1 – Створіть ключову пару RSA

Першим кроком є створення пари ключів на клієнтській машині (зазвичай на вашому комп’ютері):

ssh-keygen -b 4096

За замовчуванням ssh-keygen створить 2048-бітну пару ключів RSA, що є достатньо безпечним для більшості випадків використання (ви можете додатково передати параметр
-b 4096 для створення більшого 4096-бітного ключа).

Після введення команди ви побачите повідомлення:

Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):

Натисніть клавішу Enter, щоб зберегти пару ключів у .ssh / підкаталозі у вашому домашньому каталозі або вкажіть альтернативний шлях.

Якщо ви раніше генерували пару ключів SSH, ви можете побачити наступне запит:

Output
/home/your_home/.ssh/id_rsa already exists.
Overwrite (y/n)?

Якщо ви вирішите перезаписати ключ на диску, ви більше не зможете авторизуватися за допомогою попереднього ключа. Будьте дуже обережні, вибираючи так, оскільки це руйнівний процес, який неможливо відмінити.

Потім програма запропонує створити пароль для SSH ключа:

Output
Enter passphrase (empty for no passphrase):

Введення пароля не обов’язкове, але дуже рекомендується. Пароль додає додатковий рівень безпеки. Навіть якщо зловмисник заволодіє вашим ключем, він не зможе ним скористатися без пароля.

Потім ви побачите такий вихід:

Output
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

Тепер у вас є відкритий та приватний ключ, який ви можете використовувати для автентифікації. Наступним кроком є розміщення відкритого ключа на вашому сервері, щоб ви могли використовувати автентифікацію на основі SSH-ключа для входу.

Крок 2 – Скопіюйте відкритий ключ на сервер Ubuntu

Найшвидший спосіб скопіювати ваш відкритий ключ на хост Ubuntu – це використовувати утиліту під назвою ssh-copy-id.

Копіювання відкритого ключа за допомогою ssh-copy-id

Інструмент ssh-copy-id включений за замовчуванням у багатьох операційних системах, тому він може бути доступний у вашій локальній системі. Щоб цей метод працював, ви вже повинні мати доступ до SSH на основі пароля до свого сервера.

Щоб скористатися утилітою, вам просто потрібно вказати віддалений хост, до якого ви хочете підключитися, та обліковий запис користувача, до якого ви маєте пароль SSH. Це обліковий запис, в який буде скопійовано ваш відкритий ключ SSH.

Синтаксис:

sh-copy-id -i ~/.ssh/mykey username@remote_host

Якщо на вашому сервері запущений SSH на не стандартному порті, ви можете вказати порт, до якого підключатися:

sh-copy-id -p 1234 username@remote_host

Щоб використовувати декілька ключів для різних серверів, в папці .ssh створіть файл config з таким вмістом:

Host server1
    IdentityFile ~/.ssh/private-key-1
    port 22

Host Server2
    IdentityFile ~/.ssh/private-key-2
    port 22

Щоб використовувати ключі в операційній системі Windows за допомогою програми Putty – їх потрібно сконвертувати в формат .ppk за допомогою програми puttygen.exe. (Скачати програми Putty та Puttygen можна на офіційному сайті: https://www.putty.org/)

Згенерований .ppk ключ потрібно вказати в налаштуваннях SSH підключення в програмі Putty:

Крок 3 – відключення доступу на сервер за допомогою пароля

Після налаштування доступу на сервер за допомогою SSH ключа для підвищення безпеки сервера потрібно відключити стандартний доступ за допомогою пароля. Це дозволить захистити сервер від підбору пароля зловмисниками.

Для цього потрібно відредагувати файл: /etc/ssh/sshd_config:

PasswordAuthentication no
PermitRootLogin no

Після цього перезевантажте сервер SSH:

sudo service ssh restart

Щоб дозволити доступ по SSH з використання паролю для деяких ІР адресів, в кінці конфігураційного файла пропишіть наступні параметри:

Match Address 192.168.1.0/24,XXX.XXX.XXX.XXX
      PasswordAuthentication yes

Замість 192.168.1.0/24,XXX.XXX.XXX.XXX підставте через кому Ваші ІР адреси

Linux – find changed files

При адмініструванні Linux дуже важливо знайти файли, які недавно мінялися в системі. Це допоможе виявити підозрілу активність та запобігти взлому вашої системи.

Щоб знайти всі файли, які мінялися протягом останніх 7 днів в каталозі /home використовується команда:

find /home -mtime -7 -ls

Linux – зміна прав доступу для файлів та каталогів

Для того, щоб змінити права всіх файлів в поточній папці
використовується команда:

find . -type f -print0 | xargs -0 chmod 665

Для того, щоб змінити права доступу для всіх каталогів в
поточному каталозі використовується команда:

find . -type d -print0 | xargs -0 chmod 751

Linux – робота з архівами

Щоб запакувати та розпакувати ZIP архів, використовуються
наступні команди:

zip -r file.zip ./folder 
unzip file.zip . 

Щоб заархівувати та розархівувати архів в форматі TAR.GZ
використовуються наступні команди:

tar -czvf file.tar.gz ./folder
tar -xvzf file.tar.gz . 

Для того, щоб заархівувати та розархівувати TAR.BZ2 архів
використовуються команди:

tar -cvjf file.tar.bz2 ./folder
tar -xvjf file.tar.bz2 .

Linux – як переглянути розмір диска та розмір каталога

Для перегляду всіх розділів та їх розміру в операційній системі Linux використовується команда:

df -h

Щоб переглянути розмір поточного каталогу та всіх його підкаталогів використовується команда:

du --max-depth=1 -hc

Також ви можете скористатись утилітою ncdu для пошуку великих файлів і каталогів в системі:

sudo apt install ncdu