# Main Page

Knowledge base for VDSnow customers containing the most useful information about our VDS management as well as setting up VDS software

{% hint style="warning" %}

### Not all content is in English yet

**We are still working on English version of our help section.**\
Some pages may still be in Russian, however, we are working as fast as we can to translate them all.
{% endhint %}

## Most popular topics:

* [Account activation](/english/customer-account/account-activation)
* [How to reinstall OS](/english/vds-management/os-installation/how-to-reinstall-os)
* [Upload & connect ISO image](/english/vds-management/os-installation/upload-connect-iso-image)
* [How to install ISPmanager 5](/english/tutorials/control-panels/how-to-install-ispmanager-5)
* [How to install HestiaCP](/english/tutorials/control-panels/how-to-install-hestiacp)
* [How to install OpenVPN](/english/tutorials/vds-configuration/vpn-proxy-servers/how-to-install-openvpn)

{% hint style="info" %}
If you have any questions that are not described in the help section, you can always contact [our Customer Support](https://vdsnow.ru/en/contact.html).
{% endhint %}


# Account activation

You have to activate your customer account in order to use our services immediately after the first service order.

You will be prompted to the activation page after the first login to your [Customer account](https://cp.vdsnow.ru/).

Please complete the following two steps in order to activate your account:

1. Confirm your phone number
2. Provide your fist & last names as well as city and country

### Confirm phone number

Click on the activation code request button to get new activation code.

You will receive a phone call in a few seconds. You may not answer the call and just reject it. The last 5 digits of the incoming phone number is your activation code.

If you do not receive a phone call for some reason, plese call our automatic activation robot by calling `+7 (351) 799-59-86` and then press `444`.&#x20;

### Provide customer details

The next and the last step is to provide customer details.

You will have to enter your real name, lastname, choose the country you are from as well as the city.

All data is checked so we kindly ask you to not enter any fake details, as it may delay your service activation for a few hours.


# Account settings

Раздел **Аккаунт** в [Личном кабинете](https://cp.vdsnow.ru) позволяет настроить доступ к аккаунту через социальные сети, двухфакторную авторизацию, а также управлять опциями оплаты услуг.&#x20;

{% tabs %}
{% tab title="Авторизация" %}
Данный раздел позволяет Вам установить e-mail адрес, пароль для доступа к аккаунту, а также настроить привязки к социальным сетям для быстрого входа.

Кроме того, Вы можете подключить двухфакторую авторизацию через Google Authenticator.
{% endtab %}

{% tab title="Доп. аккаунты" %}

{% endtab %}

{% tab title="Настройки" %}

{% endtab %}

{% tab title="Платёжные подписки" %}

{% endtab %}
{% endtabs %}


# How to disable two-factor authentication

Если для аккаунта Вами была включена двухфакторная авторизация, то вход в аккаунт возможен одним из следующих способов:

* Только после ввода кода двухфакторной авторизации из приложения Google Authenticator
* Только после ввода одноразового резервного кода, который можно найти в аккаунте

Если по каким-то причинам Вы не можете войти с помощью указанного выше способа, для отключения двухфакторной авторизации существует два способа:

* Потребуется сбросить пароль от аккаунта методом подтверждения через SMS-сообщение.
* В случае отсутствия доступа к телефону Вы можете восстановить доступ к аккаунту путём отправки нам скан-копии паспорта на имя владельца аккаунта (можно с водяным знаком поверх изображения).


# Payments


# Payment methods

You may use the following payment methods in order to pay for our services:

{% tabs %}
{% tab title="EU, USA & other countries" %}
The following payment methods are suitable for EU, USA and other countries customers. If you are from Russia, please switch to the next tab.

| Payment method                    | Fee |
| --------------------------------- | --- |
| Visa, MasterCard                  | 0%  |
| ApplePay, SamsungPay              | 0%  |
| WebMoney WMR, WMZ                 | 3%  |
| Qiwi                              | 6%  |
| Yandex.Money                      | 7%  |
| BitCoin, LiteCoin, Dogecoin, Dash | 7%  |
| PerfectMoney                      | 7%  |
| ЕРИП Расчёт (Belarus)             | 7%  |
| PayPal                            | 8%  |
| Payeer                            | 10% |
| {% endtab %}                      |     |

{% tab title="Russia" %}
The following payment methods are available for any Russian-based customers. If you are located outside of Russia, please switch to the previous tab.

| Payment method                                                                              | Fee |
| ------------------------------------------------------------------------------------------- | --- |
| Visa, MasterCard, МИР                                                                       | 0%  |
| ApplePay, SamsungPay                                                                        | 0%  |
| Система быстрых платежей                                                                    | 0%  |
| Online banking systems: Альфа-Клик, Сбербанк Онлайн, Промсвязьбанк, Русский Стандарт, ВТБ24 | 3%  |
| WebMoney WMR, WMZ                                                                           | 3%  |
| Qiwi                                                                                        | 6%  |
| Yandex.Money                                                                                | 7%  |
| Связной, Евросеть Shops                                                                     | 7%  |
| Russian Post                                                                                | 7%  |
| BitCoin, LiteCoin, Dogecoin, Dash                                                           | 7%  |
| PerfectMoney                                                                                | 7%  |
| Payeer                                                                                      | 10% |
| {% endtab %}                                                                                |     |
| {% endtabs %}                                                                               |     |


# Debit/credit cards auto-charge

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

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

В случае выбора автоматического списания, наша система будет автоматически списывать средства с карты за день до даты окончания действия услуги.

### Как подключить карту

Для привязки карты войдите в [Личный кабинет](https://cp.x5x.ru/), далее перейдите в меню Аккаунт, затем нажмите на Платёжные подписки.

Затем нажмите на кнопку **`Привязать карту`**:

![](/files/-MFdiqWt_7lvtVTKjByz)

После нажатия на кнопку Привязать карту произойдёт переход к вводу данных карты. С карты спишется 10 рублей, они будут возвращены обратно в течение часа.

### Как оплатить подключённой картой?

Для оплаты уже привязанной картой выберите в списке способов оплаты Быстрая оплата картой и нажмите **`Списать`**.

### Автоматическая оплата без Вашего участия

Так тоже можно! Для этого привязанная карта должна быть в статусе Активна, а в настройках аккаунта не должна быть выключена опция автоматического выставления счетов и списания оплаты:

![](/files/-MFdj76I9hPfGRopD3pQ)


# How to order IPs

You may order additional IP addresses in your Customer account. Please [log into your Customer account](https://cp.vdsnow.ru) and select the service to get started.

Once service page is loaded you will see the VDS information as well as right menu. Click on the **`Order IPs`** button:

![](/files/-MFdk0LrqBEqAmJf8YlC)

The IP justification form will be opened, please fill it out:

![](/files/-MFdk45Z1rjP8GCMNZk_)

Click on the **`Order`** button once done, an invoice will be generated and IP addresses will be assigned automaticaly after the payment.


# Backups

Мы предлагаем услугу автоматического ежедневного, либо еженедельного резервного копирования данных VDS.

Услуга будет полезна для тех клиентов, которые не хотят настраивать резервное копирование вручную и следить за работоспособностью хранилища.

### Условия

Услуга предоставляется на платной основе. Резервное копирование будет производиться автоматически без остановки VDS, но возможно некоторое замедление его работы из-за ресурсозатратных операций с диском.

Копии хранятся на внешнем независимом сервере, восстановление копий производится нашими сотрудниками за платной основе (500 руб.).

### Как подключить услугу?

Подключение услуги производится на этапе заказа VDS, а также возможно в процессе его использования путём подключения соответствующей опции через Личный кабинет.

### Как запросить восстановление?

Для запроса восстановления данных VDS из копии необходимо обратиться в Службу поддержки, после чего мы выставим Вам счёт и произведём восстановление данных из копии.


# OS installations


# How to reinstall OS

How to reinstall VDS operating system in a few clicks

Automatic OS reinstallation can be started in [your customer account](https://cp.vdsnow.ru). We have various OS templates ready to suit your needs (see [OS templates](/english/vds-management/os-installation/os-templates) page).

Click on the **`OS reinstall`** button:

![](/files/-MFdkqQ5vvWU2h03sy5W)

You will see the list of available OS on the next step. Select the right OS in the *`Select OS`* field.&#x20;

Click on the **`Reinstall`** button to start the reinstallation.

{% hint style="info" %}
OS reinstallation will take about 10 minutes. Windows OS reinstallation may take up to 2 hours depending on location and VDS configuration. You will be notified via e-mail once the reinstallation is done.
{% endhint %}


# Upload & connect ISO image

### Загрузка своего образа

Для загрузки собственного образа Вам необходимо сначала загрузить этот образ на один из файлобменных сервисов, или на свой сервер. Для этих целей хорошо подходит, например, DropBox. Самое главное, чтобы файлобменный сервис предоставлял возможность загрузки файла по прямой ссылке, без ввода кода с подтверждением.

Если возможности загрузить образ на файлобменный сервис у Вас нет, то мы можем предоставить Вам доступ к нашему FTP-серверу, куда Вы сможете загрузить образ.

Для загрузки образа нажмите на кнопку **`Управление ISO`** на странице VDS, затем заполните форму загрузки образа:

![](/files/-MFdkKYjWPZGShTtrhkD)

После нажатия на кнопку **`Загрузить образ`** начнётся загрузка образа в фоновом режиме. Подождите некоторое время и затем попробуйте подключить образ к VDS.

### Подключение образа к VDS

После загрузки образа Вы можете подключить его к VDS. Для этого используйте форму подключения образов на всё той же странице:

![](/files/-MFdkRq2uVfo0bwHGDL_)

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

* Настройка порядка загрузки необходима для того, чтобы первым делом загружался Ваш ISO-образ, а затем уже операционная система.
* Изменить режим работы дисков может потребоваться для установки некоторых ОС, не поддерживающих режим работы дисков Virtio. Это, как правило, ОС семейства Windows, некоторые версии Mikrotik, а также некоторые другие ОС.


# OS templates

The following OS are available for auto-installation:

* **CentOS**:
  * 6.9 `x86`  `x86_64`
  * 6.10 `x86_64`&#x20;
  * 7.0 `x86_64`
  * 7.1 `x86_64`
  * 7.3 `x86_64`
  * 7.4 `x86_64`
  * 7.5 `x86_64`
  * 7.7 `x86_64`
  * 8 `x86_64`
* **Debian**:
  * 7.8 `x86`  `x86_64`
  * 8.0 `x86_64`
  * 8.7 `x86_64`
  * 9.4 `x86_64`
  * 10 `x86_64`
* **Ubuntu**:
  * 14.04 `x86`  `x86_64`
  * 16.04 `x86`  `x86_64`
  * 17.10 `x86`  `x86_64`
  * 18.04 `x86`  `x86_64`
  * 18.10 `x86`  `x86_64`
  * 19.04 `x86_64`
  * 20.04 `x86_64`
* **Fedora**:
  * 21 `x86_64`
  * 27 `x86_64`
  * 30 `x86_64`
  * 31 `x86_64`
  * 32 `x86_64`
* **SUSE**:
  * 13.1 `x86`
  * 13.1 `x86_64`
  * 15.1 `x86_64`
* **Windows Server**:
  * 2012 R2 (trial)
  * 2016 (trial)
  * 2019 (trial)


# ISO images

The following ISO images are available to use:

* FreeBSD 11.2 disc1 `x86_64`
* FreeBSD 12.0 disc1 `x86_64`
* CloneZilla Live 2.5.6 `x86_64`
* Gparted Live 0.33.0 `x86_64`
* Virtio


# How to log into SSH

**SSH** (англ. **Secure Shell** — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).

**PuTTY** — свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin. Также имеется возможность работы через последовательный порт.

Для того, чтобы подключиться к серверу по SSH через программу PuTTY, необходимо скачать её с официального сайта [здесь](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).\
После загрузки файла просто запустите его, программа не требует установки и будет работать сразу же после загрузки.

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

![](/files/-MFzhs4yccWPamKBJtdx)

* В поле **Host Name (or IP address)** необходимо ввести IP-адрес Вашего сервера.
* В поле **Port** необходимо ввести порт SSH-сервера, по умолчанию - 22.

После ввода этих данных нажмите на кнопку «Open». Перед Вами появится экран ввода логина и пароля от сервера:

![](/files/-MFzhqV0DW6rmX0rYAzT)

Введите **root** (или другой логин, который указан как «Имя супер-пользователя» в данных доступа к серверу и нажмите Enter.

Далее Вы увидите поле для ввода пароля:

![](/files/-MFzhonoZrIuiLq7_zEU)

Введите пароль, указанный как «Пароль супер-пользователя» в данных доступа к серверу. После чего нажмите ***Enter***.\
**Внимание:** при вводе пароля на экране ничего не отображается, это нормально.

Если логин и пароль введены верно, Вы попадёте в командную строку сервера.<br>


# VDS configuration

Технические руководства по настройке VDS, а также по установке различного программного обеспечения.

Выберите интересующую Вас задачу из списка ниже.

{% tabs %}
{% tab title="Настройка ОС" %}

* [Основные команды SSH](/english/tutorials/vds-configuration/common-ssh-commands)
* [Изменение часового пояса](/english/tutorials/vds-configuration/how-to-change-timezone)
* [Установка hostname](/english/tutorials/vds-configuration/how-to-set-hostname)
* [Установка ключей для SSH](/english/tutorials/vds-configuration/ssh-keys-installation)
  {% endtab %}

{% tab title="Веб-серверы" %}

* [Установка Lighttpd на CentOS](/english/tutorials/vds-configuration/web-servers/how-to-install-lighttpd)
  {% endtab %}

{% tab title="Серверы БД" %}

* [Установка MariaDB на CentOS 7](/english/tutorials/vds-configuration/databases/how-to-install-mariadb)
* [Установка MongoDB на Ubuntu](/english/tutorials/vds-configuration/databases/how-to-install-mongodb)
* [Смена пароля от MySQL](/english/tutorials/vds-configuration/databases/how-to-reset-mysql-password)
* [Установка phpMyAdmin на CentOS 7](/english/tutorials/vds-configuration/databases/how-to-install-phpmyadmin)
  {% endtab %}

{% tab title="VPN и прокси" %}

* [Установка OpenVPN-сервера](/english/tutorials/vds-configuration/vpn-proxy-servers/how-to-install-openvpn)
* [Установка Squid Proxy на CentOS 7](/english/tutorials/vds-configuration/vpn-proxy-servers/how-to-install-squid-on-centos-7)
  {% endtab %}

{% tab title="RDP/VNC" %}

* [Установка RDP-сервера в CentOS](/english/tutorials/vds-configuration/rdp-server/how-to-install-rdp-server)
* [Установка RDP-сервера в Debian](broken://pages/-MFzrvvDRMof9QtYpJym)
  {% endtab %}
  {% endtabs %}


# Common SSH commands

Рассмотрим основные команды, используемые при работе с сервером через SSH.

### ls <a href="#ls" id="ls"></a>

Выводит список файлов и папок в текущей директории.

### ls -la или ll <a href="#ls-la-ll" id="ls-la-ll"></a>

Выводит список файлов и папок в текущей директории, а также их размеры, владельца, права на них и дату последнего изменения.

### cd <a href="#cd" id="cd"></a>

Переход в указанную директорию.\
Вводится так: `cd директория`

### mv <a href="#mv" id="mv"></a>

Перемещение или переименование файла или папки.\
Вводится так: `mv текущее_имя новое_имя`

### rm <a href="#rm" id="rm"></a>

Удаление файла или папки.\
Вводится так: `rm путь_к_файлу`

### cp <a href="#cp" id="cp"></a>

Копирование файла или папки в другое место.\
Вводится так: `cp имя_файла куда_скопировать`

### chmod <a href="#chmod" id="chmod"></a>

Изменяет права доступа на файл или папку.

### chown <a href="#chown" id="chown"></a>

Изменяет владельца файла или папки.\
Вводится так: `chown пользовать:группа файл`

### mkdir <a href="#mkdir" id="mkdir"></a>

Создание директории по указанному пути.\
Вводится так: `mkdir путь`

### mc <a href="#mc" id="mc"></a>

Запускает файловый менеджер Midnight Commander.


# SSH keys installation

**SSH (Secure Shell)** — это защищённый протокол для доступа к инструментам администрирования сервера. Доступ к SSH осуществляется по логину и паролю. Но если Вы часто пользуетесь SSH, то каждый раз вводить логин и пароль будет крайне неудобно.

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

**Создание пару ключей RSA**

В первую очередь нам нужно создать пару ключей, который Вы будете использовать для доступа. Как правило, это делается на Вашем же компьютере, но также их можно создать и на сервере.

```bash
ssh-keygen
```

По умолчанию, `ssh-keygen` создаст пару 2048-битных ключей. Вы можете также создать и 4096-битные ключи, что более безопасно, добавив к команде флаг `-b 4096`.

После ввода и запуска команды Вы увидите нечто вроде:

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

Нажмите **`ENTER`** для сохранения пары ключей в папку `.ssh` Вашей домашней директории.

Если Вы уже создавали ключи ранее, то программа попросит Вас подтвердить их перезапись:

```
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
```

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

Далее программа попросит Вас ввести кодовую фразу:

```
Enter passphrase (empty for no passphrase):
```

По желанию вы можете ввести кодовую фразу (пароль) для доступа к ключам. Это добавляет дополнительный уровень защиты, но в то же время замедляет процедуру входа, так как Вам придётся вводить эту кодовую фразу каждый раз при использовании ключей.

После того, как пара ключей будет создана, Вы увидите нечто вроде этого:

```
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.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-copy-id`, которая сделает всю работу. Если у Вас нет этой утилиты, Вы можете скопировать файлы вручную.

Для копирования ключей с помощью `ssh-copy-id`введите следующую команду:

```bash
ssh-copy-id username@remote-host
```

Вы увидите нечто вроде этого:

```
The authenticity of host '1.2.3.4 (1.2.4.4)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
```

Это означает, что Ваш локальный компьютер пока ещё не опознаёт удалённый сервер. Это происходит при каждом первом подключении к новому удалённому серверу. Просто введите `yes` и нажмите ENTER.

Далее, утилита найдёт в Вашей домашней директории публичный ключ и запросит у Вас пароль для доступа к удалённому серверу.

```
username@1.2.3.4's password:
```

Введите пароль и нажмите ENTER. Обратите внимание на то, что при вводе Вы не будете видеть вводимый пароль на экране. Поэтому просто введите пароль и не беспокойтесь о том, что Вы его не видите.

Далее утилита подключится к удалённому серверу и скопирует на него публичный ключ. Копирование как правило производится в директорию `~/.ssh`, в файл `authorized_keys`.

После завершения копирования Вы увидите следующее:

```
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@1.2.3.4'"
and check to make sure that only the key(s) you wanted were added.
```

**Подключение к серверу с помощью ключей**

Теперь Вы можете подключаться к серверу с помощью созданных ключей.

Если Вы используете в качестве ОС Linux, то просто введите `ssh username@remote-host` и далее система сама найдёт Ваш приватный ключ и использует его для подключения.

Если Вы используете Windows и программу Putty или подобную, то Вам нужно указать приватный ключ в настройках этой программы.

**Отключение входа по паролю**

Для повышения безопасности Вы можете отключить вход на сервер по паролю и оставить только вход с помощью ключей.

Перед тем как отключать доступ по паролю, убедитесь, что созданные Вами ключи работают. Если Вы отключите доступ по паролю и не будете иметь работающие ключи, восстановить доступ будет крайне затруднительно.

Чтобы отключить доступ по паролю потребуется изменить параметр в файле конфигурации SSH-сервера.

Для этого откройте через любимый редактор (nano, mcedit, vim) файл `/etc/ssh/sshd_config`:

```bash
nano /etc/ssh/sshd_config
```

В файле найдите строку `PasswordAuthentication`. Введите после неё `no`. Должно получиться так:

{% code title="/etc/ssh/sshd\_config" %}

```
PasswordAuthentication no
```

{% endcode %}

Если строка закомментирована (перед ней стоит символ `#`), то удалите этот символ.

Далее сохраните изменения в файле и перезапустите SSH-сервер:

```bash
systemctl restart sshd.service
```

Теперь доступ по паролю без ключей невозможен.


# How to change timezone

Для изменения часового пояса необходимо выполнить некоторые команды в SSH.

Например, установим московский часовой пояс:

```bash
mv /etc/localtime /etc/localtime.bck
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ntpdate pool.ntp.org
```

Если появится ошибка о том, что файл `/etc/localtime` уже существует, то выполните:

```bash
rm -rf /etc/localtime
```


# How to set hostname

**Hostname (имя хоста)** определяет имя Вашего сервера, его указание важно для правильной работы почтового сервера и некоторых других служб.

Для установки hostname на серверах под управлением CentOS откройте с помощью текстового редактора файл `/etc/sysconfig/network`:

```bash
nano /etc/sysconfig/network
```

Далее впишите:

```
HOSTNAME=(необходимый hostname)
```

Изменения вступят в силу после перезагрузки или перезапуска сети. Чтобы применить изменения прямо сейчас, нужно ввести команду:

```bash
hostname (необходимый hostname)
```


# Web servers


# How to install Lighttpd


# Install Lighttpd on Centos

**Lighttpd** - это открытый, лёгкий веб-сервер созданный как альтернатива Apache, он потребляет гораздо меньше оперативной памяти, но не уступает в возможностях.

Сегодня мы рассмотрим процесс установки Lighttpd, а также PHP и MySQL на сервер под управлением CentOS.

### Подготовка <a href="#undefined" id="undefined"></a>

Прежде всего нам нужно обновить список пакетов Yum, а также установить `wget`:

```bash
yum -y update
yum -y install wget
```

### Установка MySQL

Для установки MySQL также потребуется выполнить несколько команд. Устанавливать пакеты будем через Yum, поскольку это наиболее быстрый вариант.

Выполним команду для установки MySQL-сервера:

```bash
yum -y install mysql-server
```

Далее включим автозапуск MySQL-сервера:

```bash
chkconfig --levels 235 mysqld on
```

Для запуска MySQL-сервера введите:

```bash
service mysqld start
```

Теперь нужно сделать базовую настройку MySQL-сервера, выполните команду:

```bash
mysql_secure_installation
```

Поскольку мы запускаем сервер впервые, root-пароль ещё не задан, поэтому просто нажмите ENTER когда скрипт спросит `Enter current password for root (enter for none)` .

Далее следуйте инструкциям скрипта:

* `Set root password?` - `y`, и далее введите новый root-пароль два раза.
* `Remove anonymous users?` - `y`
* `Remove test database and access to it?` - `y`
* `Reload privilege tables now?` - `y`

### Установка Lighttpd <a href="#lighttpd" id="lighttpd"></a>

Наиболее эффективно использовать связку Lighttpd и PHP в режиме FPM, но такой вариант отсутствует в официальном репозитории CentOS, поэтому нам потребуется добавить репозиторий EPEL:

**Если Вы используете CentOS 6:**

```bash
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
```

**Если Вы используете CentOS 7:**

```bash
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
```

Теперь установим Lighttpd:

```bash
yum -y install lighttpd
```

Далее добавим его в автозагрузку:

```bash
chkconfig --levels 235 lighttpd on
```

И запустим сервер:

```bash
service lighttpd start
```

Теперь Вы можете открыть в браузере http\://\<IP> и в результате Вы должны увидеть стартовую страницу Lighttpd.

### Установка PHP <a href="#php" id="php"></a>

Для установка PHP в режиме FPM выполните:

```bash
yum -y install php-fpm lighttpd-fastcgi
```

Далее откройте файл конфигурации `www.conf`:

```bash
nano /etc/php-fpm.d/www.conf
```

И добавьте в него:

```
user = lighttpd
group = lighttpd
```

Далее включим автозагрузку для PHP-FPM:

```bash
chkconfig --levels 235 php-fpm on
```

И запустим PHP-FPM:

```bash
service php-fpm start
```

Теперь подправим настройки самого PHP:

```bash
nano /etc/php.ini
```

Найдите строку с `cgi.fix_pathinfo=1` и раскомментируйте её (удалите `;` в начале строки).

Далее подключим fastcgi в модулях Lighttpd:

```bash
nano /etc/lighttpd/modules.conf
```

Найдите строку `include "conf.d/fastcgi.conf"` и раскомментируйте её (удалите `##` в начале строки).

Теперь откройте файл `fastcgi.conf`:

```bash
nano /etc/lighttpd/conf.d/fastcgi.conf
```

И добавьте в него следующие строки:

{% code title="/etc/lighttpd/conf.d/fastcgi.conf" %}

```
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)
```

{% endcode %}

Теперь установим дополнительный модуль PHP для работы с MySQL:

```bash
yum -y install php-mysql
```

Перезапустим PHP-FPM и Lighttpd:

```bash
service php-fpm restart
service lighttpd restart
```


# DataBases


# How to install MariaDB

**MariaDB** - открытый сервер баз данных, наиболее часто используемый в связке с Apache, либо Nginx, а также с PHP, Python и Perl. По большому счёту это более совершенная и развитая замена MySQL, разрабатываемая той же командой, которая изначально создавала MySQL.

MariaDB максимально совместима с MySQL как в плане конфигурации и запросов, так и даже в плане взаимодействия через консоль.

В этом руководстве мы рассмотрим процесс установки MariaDB на сервер под управлением CentOS 7.

### Подготовка <a href="#id-1" id="id-1"></a>

MariaDB включена в репозиторий CentOS 7, поэтому нам не придётся устанавливать дополнительные репозитории. Всё, что Вам нужно - доступ к root.

### Установка MariaDB <a href="#mariadb" id="mariadb"></a>

Мы будем использовать менеджер пакетов Yum для установки MariaDB. Выполните следующую команду:

```bash
yum -y install mariadb-server
```

Далее запустите сервер и добавьте его в автозагрузку:

```bash
systemctl start mariadb
```

### Настройка MariaDB <a href="#mariadb-1" id="mariadb-1"></a>

MariaDB настраивается точно также как и MySQL, поэтому если Вы уже знакомы с установкой MySQL, процесс настройки будет для Вас таким же простым.

Для начальной настройки существует скрипт, который устанавливает root-пароль, удаляет анонимный доступ и тестовые базы данных.

Запустим его:

```bash
mysql_secure_installation
```

Скрипт предоставляет описание всего, что он может сделать. Так как root-пароль изначально не установлен, при первом запуске просто нажмите **`ENTER`**.

Далее, следуя инструкциям скрипта установите root-пароль и удалите анонимный доступ. Для выполнения того или иного действия нужно вводить y.

### Проверка установки <a href="#id-2" id="id-2"></a>

Теперь нам нужно проверить корректность установки. Это можно сделать с помощью утилиты mysqladmin, которая позволяет нам войти в консоль MariaDB-сервера и работать с ним.

Выполните следующую команду для проверки установленной версии:

```bash
mysqladmin -u root -p version
```

Утилита попросит Вас ввести root-пароль, введите его. В результате Вы увидите что-то вроде:

```
mysqladmin  Ver 9.0 Distrib 5.5.50-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Server version          5.5.50-MariaDB
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 10 min 8 sec


Threads: 1  Questions: 42  Slow queries: 0  Opens: 1  Flush tables: 2  Open tables: 27  Queries per second avg: 0.150
```

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


# How to install MongoDB

**MongoDB** - бесплатная, открытая NoSQL база данных, стремительно набирающая популярность в современных веб-приложениях.

В этой статье рассмотрим установку MongoDB на сервер под управлением Ubuntu 18.04.

### Установка MongoDB <a href="#mongodb" id="mongodb"></a>

Официальный репозиторий пакетов Ubuntu уже включает свежую версию MongoDB, поэтому нам даже не придётся устанавливать сторонние репозитории.

В первую очередь обновите список пакетов Apt:

```bash
apt update
```

Теперь установите пакет MongoDB:

```bash
apt-get -y install mongodb
```

Эта команда установит последнюю версию MongoDB и все необходимые для её работы пакеты.

### **Настройка сервиса**

Проверьте, запущен ли сервис MongoDB с помощью команды:

```bash
systemctl status mongodb
```

Вы должны увидеть примерно следующий вывод:

```
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago
Docs: man:mongod(1)
Main PID: 2312 (mongod)
Tasks: 23 (limit: 1153)
CGroup: /system.slice/mongodb.service
??2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
```

Согласно этому выводу, сервер MongoDB запущен и работает.

Теперь можно проверить работу сервера MongoDB путём запроса к нему. Выполните команду:

```bash
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
```

В результате Вы должны видеть текущую версию сервера, его адрес и порт для подключения:

```
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
  "authInfo" : {
    "authenticatedUsers" : [ ],
    "authenticatedUserRoles" : [ ]
  },
  "ok" : 1
}
```

Значение `1` в поле `ok` обозначает, что сервер работает и корректно обработал Ваш запрос.

### Управление сервисом MongoDB <a href="#mongodb-1" id="mongodb-1"></a>

MongoDB устанавливается как сервис `systemd`, что даёт возможность управлять им с помощью стандартной утилиты `systemctl`.

Для просмотра статуса работы сервера MongoDB используйте:

```bash
systemctl status mongodb
```

Для остановки сервера MongoDB:

```bash
systemctl stop mongodb
```

Для запуска сервера MongoDB:

```bash
systemctl start mongodb
```

И, соответственно, для перезапуска:

```bash
systemctl restart mongodb
```

По уолчанию MongoDB запускается автоматически при запуске системы. Если Вам это не нужно, то Вы можете легко отключить автозапуск с помощью команды:

```bash
systemctl disable mongodb
```

И, аналогично, если после захочется включить его автозапуск, используйте команду:

```bash
systemctl enable mongodb
```

### Настройка firewall <a href="#firewall" id="firewall"></a>

Предположим, что Вы хотите чтобы сервер MongoDB был доступен из Интернета и к нему могли подключаться внешние приложения, запущенные на других серверах.  Хоть это и не рекомендуется делать, но в некоторых случаях это необходимо.

Это можно сделать путём соответствующей настройки firewall `ufw`. Нужно разрешить доступ к порту MongoDB, которым по умолчанию является порт 27017.

Для того, чтобы разрешить внешний доступ, выполните команду:

```bash
ufw allow 27017
```

Чтобы обезопасить MongoDB и Ваши данные, лучше всего разрешить доступ только с конкретных IP-адресов или подсетей IP-адресов, это можно сделать следующей командой:

```bash
ufw allow from <IP-адрес>/32 to any port 27017
```

Теперь, когда порт открыт, нужно внести изменения в настройки MongoDB, чтобы сервер работал не только на локальном IP-адресе 127.0.0.1, но и на внешнем IP-адресе сервера.

Для этого откройте файл `/etc/mongodb.conf` через Ваш любимый редактор (nano, mcedit, vi):

```bash
nano /etc/mongodb.conf
```

Далее добавить внешний IP-адрес Вашего сервера в значение параметра `bind_ip`. Должно получиться так:

{% code title="/etc/mongodb.conf" %}

```
bind_ip = 127.0.0.1,<IP-адрес>
```

{% endcode %}

Сохраните изменения и перезапустите сервер MongoDB:

```bash
systemctl restart mongodb
```

Если всё сделано верно, то MongoDB будет доступен и извне.

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

### Настройка защищённого доступа к MongoDB <a href="#mongodb-2" id="mongodb-2"></a>

Чтобы доступ к MongoDB был возможен только для тех, кто владеет паролем, нужно создать административного пользователя и назначить ему пароль.

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

```bash
mongodb
```

Далее введите:

```sql
use admin
```

Теперь мы можем создать пользователя и назначить ему доступ ко всем базам данных сервера MongoDB:

```sql
db.createUser(
  {
    user: "<ЛОГИН>",
    pwd: "<ПАРОЛЬ>",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
```

Если создание пользователя пройдёт успешно, Вы увидите на экране надпись: `Successfully added user`.

Теперь нужно настроить аутентификацию через этого пользователя. Для этого откройте для редактирования файл `/etc/mongodb.conf` через Ваш любимый редактор (nano, mcedit, vi):

```bash
nano /etc/mongodb.conf
```

Найдите в нём секцию `#security` и удалите `#` (хэш) перед `security`, чтобы включить аутентификацию.

Должно получиться примерно следующее:

{% code title="/etc/mongodb.conf" %}

```
security:
  authorization: "enabled" 
```

{% endcode %}

Теперь перезапустите сервер MongoDB:

```bash
systectl restart mongodb
```

Для того, чтобы подключиться к MongoDB с данными только что созданного пользователя, используйте команду:

```bash
mongo -u <ЛОГИН> -p --authenticationDatabase admin
```


# How to reset MySQL password

В современном мире так много информации, что забыть что-то - обычное дело. Так случается и с паролями. Мы не всегда вспоминаем, что какой-то из паролей нужно записать в наш менеджер паролей или попросту теряем его.

Если Вы забыли или потеряли root пароль от MySQL или MariaDB, то его вполне можно восстановить, причём сделать это не так сложно.

В этой статье мы разберём процесс сброса пароля root для MySQL и MariaDB серверов.

### MySQL или MariaDB? <a href="#mysql-mariadb" id="mysql-mariadb"></a>

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

```bash
mysql --version
```

В результате Вы увидите следующий вывод для MySQL:

```
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper
```

И такой вывод для MariaDB:

```
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
```

### Остановите сервер БД <a href="#id-1" id="id-1"></a>

Для изменения пароля необходимо остановить MySQL или MariaDB сервер.

Если Вы используете MySQL:

```bash
systemctl stop mysql
```

Если Вы используете MariaDB:

```bash
systemctl stop mariadb
```

### Запуск сервера БД в безопасном режиме <a href="#id-2" id="id-2"></a>

Для изменения пароля потребуется запустить сервер БД в безопасном режиме, то есть без загрузки параметров привилегий. Это позволит получить доступ к командной строке сервера БД без ввода пароля и соответственно изменить его.

Для того, чтобы запустить сервер БД в безопасном режиме, выполните команду:

```bash
mysqld_safe --skip-grant-tables --skip-networking &
```

Далее, войдите в командную строку сервера БД под пользователем root:

```bash
mysql -u root
```

### Изменение пароля <a href="#id-3" id="id-3"></a>

Самый простой способ изменить пароль - использовать команду `ALTER USER`. Однако, эта команда недоступна из-за того, что мы не загрузили привилегии.

Чтобы команда сработала, выполните:

```sql
FLUSH PRIVILEGES;
```

Теперь Вы можете непосредственно установить новый пароль с помощью одной из следующих команд.

Если Вы используете MySQL 5.7.6 и выше, либо MariaDB 10.1.20 и выше, то Ваша команда:

```sql
ALTER USER 'root'@'localhist' IDENTIFIED BY '<НОВЫЙ ПАРОЛЬ>';
```

Если Вы используете MySQL версии 5.7.5 и ниже, либо MariaDB 10.1.20 и ниже, то:

```sql
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<НОВЫЙ ПАРОЛЬ>');
```

В результате Вы должны увидеть следующий вывод:

```
Query OK, 0 rows affected (0.00 sec)
```

### Запуска сервера БД в обычном режиме <a href="#id-4" id="id-4"></a>

После изменения пароля необходимо запустить сервер БД в обычном режиме. Для этого сначала нужно остановить сервер, который был запущен в безопасном режиме. Это можно сделать убив процесс сервера БД.

Для MySQL введите команду:

```bash
kill `cat /var/run/mysqld/mysqld.pid`
```

Для MariaDB:

```bash
kill `cat /var/run/mariadb/mariadb.pid`
```

Далее запустите сервер БД с помощью утилиты systemctl.

Для MySQL:

```bash
systemctl start mysql
```

Для MariaDB:

```bash
systemctl start mariadb
```

Теперь проверьте, можете ли Вы войти в командную строку сервера БД с новым паролем, для этого введите команду:

```bash
mysql -u root -p
```

Далее у Вас будет запрошен пароль, введите его и нажмите **`ENTER`**. Если войти удастся, значит изменение пароля прошло успешно.<br>


# How to install phpMyAdmin

Реляционные базы данных, такие как MySQL и MariaDB, в наше время необходимы для практически любого веб-сайта или приложения. Однако, далеко не всем пользователям удобно управлять ими через командную строку сервера.

Для решения этой проблемы существует множество различный веб-интерфейсов для управления базами данных, один из них - phpMyAdmin.

В этой статье мы разберём установку и настройку phpMyAdmin на сервере с операционной системой CentOS 7. Установка будет производиться с использованием наиболее популярного сейчас веб-сервера Apache.

### Подготовка <a href="#id-1" id="id-1"></a>

Перед тем как начать установку, необходимо убедиться в том, что на Вашем сервере уже установлен Apache, PHP и сервер баз данных MySQL или MariaDB.

### Установка phpMyAdmin <a href="#phpmyadmin" id="phpmyadmin"></a>

После того, как Apache, PHP и MySQL установлены мы можем приступить непосредственно к установке phpMyAdmin. К сожалению, phpMyAdmin отсутствует в стандартном репозитории CentOS 7, поэтому придётся установить дополнительный репозиторий.

Нам нужен будет репозиторий EPEL (Extra Packages for Enterprise Linux). Этот репозиторий можно установить простой командой через yum:

```bash
yum install epel-release
```

Теперь мы можем устанавливать phpMyAdmin:

```bash
yum install phpmyadmin
```

После завершения установки нужно будет подредактировать конфигурационный файл Apache, который по умолчанию создаётся при установке phpMyAdmin.

Откройте файл через nano:

```bash
nano /etc/httpd/conf.d/phpMyAdmin.conf
```

Внутри файла Вы увидите несколько блоков конфигурации. Нам нужны те, которые отвечают за настройку доступа к директории с phpMyAdmin.

По умолчанию доступ настроен так, что зайти в phpMyAdmin можно только локального с того же компьютера, где он установлен. Само собой, когда речь идёт о серверах, этот вариант не подходит.

Нам нужно изменить строки, которые начинаются так: `Require ip 127.0.0.1` или `Allow from 127.0.0.1`. Вместо **127.0.0.1** укажите IP-адрес Вашего компьютера, или же удалите эту строку вовсе.

После изменения файла перезапустите Apache:

```bash
systemctl restart httpd.service
```

Далее у Вас должно получиться войти в phpMyAdmin через браузер добавив `/phpMyAdmin` к URL:

`http://`**`<IP-адрес сервера>`**`/phpMyAdmin`![](https://x5x.ru/upload/uploads/phpmyadmin-login.png)

Для входа используйте логин и пароль, который Вы использовали при установке MySQL/MariaDB. Логин root и его пароль вполне подойдёт для начала работы.

### Настройка phpMyAdmin для безопасной работы <a href="#phpmyadmin" id="phpmyadmin"></a>

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

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

Давайте заменим `/phpMyAdmin` на `/abrakadabra`.

Для этого открываем для редактирования файл конфигурации Apache:

```bash
nano /etc/httpd/conf.d/phpMyAdmin.conf
```

Далее ищем в нём строки следующего вида:

```
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
```

Удаляем их (*либо комментируем с помощью `#` перед строкой*) и вместо них пишем:

```bash
Alias /abrakadabra /usr/share/phpMyAdmin
```

Далее сохраняем изменения и перезапускаем Apache:

```bash
systemctl restart httpd.service
```

Отлично! Теперь Вы можете зайти в phpMyAdmin через \
`http://`**`<IP-адрес сервера>`**`/abrakadabra`,\
а вот старый адрес\
`http://`**`<IP-адрес сервера>`**`/phpMyAdmin` работать уже не будет. Это существенно повышает безопасность.


# VPN & Proxy servers


# How to install OpenVPN

Для установки OpenVPN-сервера можно использовать как готовые скрипты, так и устанавливать сервер самостоятельно по инструкции разработчика.

В данной статье мы будем использовать бесплатный скрипт для установки OpenVPN-сервера на CentOS, Debian и Ubuntu.\
Информацию о данном скрипте можно найти здесь: <https://github.com/Nyr/openvpn-install>

### Установка OpenVPN <a href="#openvpn" id="openvpn"></a>

**Для установки OpenVPN-сервера выполните следующую команду в SSH:**

```bash
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
```

**В процессе выполнения скрипт задаст Вам несколько вопросов, вот основные из них:**

* *First I need to know the IPv4 address of the network interface you want OpenVPN listening to:* Введите IP-адрес Вашего сервера.
* *Which protocol do you want for OpenVPN connections?:* Рекомендуется выбрать UDP.
* *What port do you want OpenVPN listening to?:* Введите порт, на котором будет работать OpenVPN-сервер. По умолчанию используется порт 1194.
* *Which DNS do you want to use with the VPN?:* Выберите DNS-сервис, который будет использовать при определении соответствий домен-IP при подключении через VPN.
* *Finally, tell me your name for the client certificate:* Введите имя клиентского сертификата, например, myvpn.

Далее скрипт произведёт установку и настройку в соответствии с введёнными параметрами.

После завершения всех действий Вы увидите:

```bash
Your client configuration is available at...
```

Здесь будет указано, где Вы можете взять готовый для использования в OpenVPN-клиенте файл с настройками.

### Добавление пользователей в OpenVPN <a href="#openvpn-1" id="openvpn-1"></a>

Для добавления новых пользователей в OpenVPN или же для удаления имеющихся необходимо заново запустить скрипт в SSH:

```bash
bash openvpn-install.sh
```

Вам будут предложены 4 варианта действий:

* *Add a new user:* добавить нового пользователя.
* *Revoke an existing user*: удалить имеющегося пользователя.
* *Remove OpenVPN*: удалить сам OpenVPN-сервер.
* *Exit*: выйти из скрипта.

Для создания нового пользователя введите 1 и следуйте инструкциям скрипта.


# How to install Squid on CentOS 7

По своей сути, прокси-сервер находится между двумя устройствами (Вашим компьютером и конечным серверов) и работает как промежуточный слой, обеспечивая тем самым контроль доступа, фильтрацию, кэширование, ну и, конечно же, сокрытие IP-адреса Вашего компьютера.

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

### Подготовка <a href="#id-1" id="id-1"></a>

Squid не требует какого-либо специального оборудования и его можно установить на любой виртуальный или выделенный сервер с Linux.

В данной статье мы рассмотрим установку на CentOS 7, поэтому Вы должны иметь сервер с этой ОС, а также root доступ к этому серверу.

### Установка Squid <a href="#squid" id="squid"></a>

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

```bash
yum -y update
```

Далее, установим репозиторий EPEL, в которой содержится большинство дополнительного ПО:

```bash
yum -y install epel-release
```

Далее вновь обовим список пакетов:

```bash
yum -y update
```

Теперь можно приступать к установка Squid:

```bash
yum -y install squid
```

После завершения установки нужно запустить Squid и включить автоматический запуск при загрузке системы:

```bash
systemctl enable squid
systemctl start squid
```

Убедиться в правильности установки Squid можно, например, проверив его версию командой:

```bash
squid -v
```

Вы должны увидеть что-то вроде этого:

```
Squid Cache: Version 3.3.8
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-strict-error-checking' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-eui' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos' '--enable-external-acl-helpers=file_userip,LDAP_group,time_quota,session,unix_group,wbinfo_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl' '--enable-ssl-crtd' '--enable-storeio=aufs,diskd,ufs' '--enable-wccpv2' '--enable-esi' '--enable-ecap' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'LDFLAGS=-Wl,-z,relro -pie -Wl,-z,relro -Wl,-z,now' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
```

Вывод примерный, вывод на разных серверах может отличаться.

### Настройка Squid <a href="#squid-1" id="squid-1"></a>

Базовый файл конфигурации находится по пути: /etc/squid/squid.conf. Вы можете просмотреть его через любой текстовый редактор, например, nano или же mcedit.

По умолчанию Squid настроен на подключения только через локальную сеть. Поэтому первое, что нужно сделать - настроить подключения с любого иного компьютера по логину и паролю.

Откроем файл конфигурации через nano:

```bash
nano /etc/squid/squid.conf
```

В файле уже будут параметры конфигурации для доступа из локальной сети. Они выглядят таким образом:

{% code title="/etc/squid/squid.conf" %}

```
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machinesacl SSL_ports port 443
```

{% endcode %}

Нам нужно разрешить доступ с нашего IP-адреса. Для этого нужно добавить аналогичную ACL-запись в файл конфигурации.\
Squid поддерживает как конкретные IP-адреса, так и сети по маске.\
Предположим, что Вашим IP-адресом является адрес 50.0.1.5. Для того, чтобы разрешить доступ только с этого внешнего адреса, нужно добавить строку:

{% code title="/etc/squid/squid.conf" %}

```
acl localnet src 50.0.1.5/32
```

{% endcode %}

Далее сохраните изменения в файле и перезапустите Squid командой:

```bash
systemctl restart squid
```

### Настройка авторизации по логину и паролю <a href="#id-2" id="id-2"></a>

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

Для настройки доступа нужно сначала установить пакет, позволяющий создавать файлы с паролями:

```bash
yum -y install httpd-tools
```

Теперь создадим файл с паролем:

```bash
touch /etc/squid/passwd
chown squid /etc/squid/passwd
```

Теперь нужно поместить в файл связку логина и пароля (в данном случае **`squiduser`** будет логином):

```bash
htpasswd /etc/squid/passwd squiduser
```

Программа запросит ввод пароля, который Вы хотите установить:

```
New password:
```

По умолчанию htpasswd использует шифрование паролей методом MD5, поэтому нам нужно разрешить такое шифрование в файле конфигурации Squid.

Откроем файл конфигурации:

```bash
nano /etc/squid/squid.conf
```

Далее добавим следующие строки в файл конфигурации:

{% code title="/etc/squid/squid.conf" %}

```
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
```

{% endcode %}

Далее сохраните изменения в файле и вновь перезапустите Squid:

```bash
systemctl restart squid
```

### Подключение к прокси-серверу <a href="#id-3" id="id-3"></a>

Для подключения к прокси-серверу перейдите в соответствующее меню настроек в Вашем любимом браузере.

В качестве IP-адреса прокси-сервера введите IP-адрес сервера, на который Вы установили Squid. В качестве порта - 3128.

После применения настроек браузер запросит логин и пароль от прокси-сервера.

### Изменение порта Squid <a href="#squid-2" id="squid-2"></a>

Для изменения порта Squid в файле конфигурации нужно изменить значение параметра **`http_port`**.\
Например, для изменения порта на **`8765`** нужно привести конфигурацию в такой вид:

{% code title="/etc/squid/squid.conf" %}

```bash
http_port 8765
```

{% endcode %}


# RDP server


# How to install RDP server


# Install RDP on CentOS

По умолчанию любой VPS с CentOS поставляется с доступом лишь к командной строке (SSH). Для некоторых задач может потребоваться доступ к графическому рабочему столу.

В этой статье мы рассмотрим установку графического окружения и xRDP-сервера на CentOS 6 и 7.

### Установка на CentOS 6 <a href="#centos-6" id="centos-6"></a>

Добавим необходимые репозитории и обновим список пакетов YUM:

```bash
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
yum -y upgrade
```

Установим графическое окружение:

```bash
yum -y groupinstall "X Window System" "Desktop"
```

Установим xRDP-сервер, VNC-сервер и браузер FireFox:

```bash
yum -y install xrdp firefox tigervnc tigervnc-server tigervnc-server-module
chkconfig haldaemon --levels 2345 off
chkconfig xrdp --levels 345 on
chkconfig NetworkManager off
service xrdp start
```

### Установка на CentOS 7 <a href="#centos-7" id="centos-7"></a>

Добавим необходимые репозитории и обновим список пакетов YUM:

```bash
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y upgrade
```

Установим графическое окружение:

```bash
yum -y groups install "GNOME Desktop"
yum -y install xrdp tigervnc tigervnc-server tigervnc-server-module xorg-x11-fonts-Type1 firefox
```

Настроим графическую оболочку по умолчанию:

```bash
touch /etc/sysconfig/desktop; echo "''PREFERRED=gnome''" > /etc/sysconfig/desktop
```

Настроим автозапуск xRDP-сервера:

```bash
systemctl enable xrdp.service
systemctl start xrdp.service
service xrdp restart
```

Отключим firewall:

```bash
systemctl disable firewalld
systemctl stop firewalld
```

### Подключение через RDP-клиент в Windows <a href="#rdp-windows" id="rdp-windows"></a>

В меню «**Пуск**» выберите программу «**Подключение к удаленному рабочему столу**». Можно также нажать Win+R и ввести `mstsc`.![](https://x5x.ru/upload/uploads/rdp-mstsc.png)

В появившемся окне программы **введите IP-адрес Вашего VPS** и нажмите на кнопку «**Продолжить**».![](https://x5x.ru/upload/uploads/rdp-ip.png)

При появлении окна с предупреждением о невозможности проверки подлинности компьютера нажмите «**Да**».

В появившемся окне **введите данные для входа в систему** (root пароль) и нажмите «**OK**».

### Рекомендации по безопасности <a href="#id-1" id="id-1"></a>

Из соображений безопасности крайне рекомендуется не использовать для подключения учётную запись root. Создайте обычного пользователя и используйте его данные для подключения через RDP-клиент.

Это можно сделать следующим образом:

```bash
useradd -m ИМЯ
passwd ИМЯ
```


# Install RDP on Debian

По умолчанию любой VPS с Debian поставляется с доступом лишь к командной строке (SSH). Для некоторых задач может потребоваться доступ к графическому рабочему столу.

В этой статье мы рассмотрим установку графического окружения и xRDP-сервера на Debian.

### Установка на Debian <a href="#debian" id="debian"></a>

Обновим список пакетов apt-get:

```bash
apt-get update && apt-get upgrade
```

Установим графическое окружение и сам xRDP-сервер:

```bash
apt-get -y install gnome-desktop-environment xrdp
```

Отредактируем файл запуска xRDP для автоматической загрузки установленной нами оболочки Gnome:

```bash
apt-get -y install nano
nano /etc/xrdp/startwm.sh
```

В открывшемся редакторе добавьте следующие строки:

```
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
. /etc/X11/Xsession
gnome-session
```

**В конце файла обязательно нужно оставить пустую строку**. Для этого после gnome-session просто нажмите **`ENTER`**.\
Для сохранения изменений нажмите **`Ctrl+O`** и затем **`Ctrl+X`**.

Запустим xRDP-сервер:

```bash
service xrdp restart
```

### Подключение через RDP-клиент в Windows <a href="#rdp-windows" id="rdp-windows"></a>

В меню «**Пуск**» выберите программу «**Подключение к удаленному рабочему столу**». Можно также нажать Win+R и ввести `mstsc`.![](https://x5x.ru/upload/uploads/rdp-mstsc.png)

В появившемся окне программы **введите IP-адрес Вашего VPS** и нажмите на кнопку «**Продолжить**».![](https://x5x.ru/upload/uploads/rdp-ip.png)

При появлении окна с предупреждением о невозможности проверки подлинности компьютера нажмите «**Да**».

В появившемся окне **введите данные для входа в систему** (root пароль) и нажмите «**OK**».

### Рекомендации по безопасности <a href="#id-1" id="id-1"></a>

Из соображений безопасности крайне рекомендуется не использовать для подключения учётную запись root. Создайте обычного пользователя и используйте его данные для подключения через RDP-клиент.

Это можно сделать следующим образом:

```bash
useradd -m ИМЯ
passwd ИМЯ
```


# Control panels


# How to install ISPmanager 5

**ISPmanager** - коммерческая и одна из ведущих многофункциональных панелей управления сервером через простой и интуитивно-понятный веб-интерфейс. Все основные операции по управлению сервером, такие как создание пользователей, сайтов, доменов, почтовых ящиков, выполняются парой кликов мыши.

### **Подготовка к установке**

**Перед установкой ISPmanager 5 важно подготовиться:**

1. &#x20;**У Вас должен быть готовый к работе сервер с доступом в Интернет.** Если у Вас его ещё нет, то можно купить у нас [здесь](https://vdsnow.ru/vds.html) или где-либо ещё.
2. &#x20;**Операционная система** должна быть из этого списка: CentOS 6, 7, 8, либо Debian 7, 8, 9, 10, либо Ubuntu. Разработчики очень рекомендуют использовать CentOS 7.
3. &#x20;**У Вас должна быть лицензия на ISPmanager 5.** Она стоит от 3 евро в месяц в зависимости от провайдера. [Купить ISPmanager 5](https://vdsnow.ru/software.html) можно и у нас.
4. &#x20;**Стоит также добавить, что сервер должен быть чистым.** То есть установить ISPmanager 5 на уже давно работающий сервер с сайтами Вы не сможете.

### Установка ISPmanager 5

Для начала установки войдите в SSH Вашего сервера под root и выполните:

```
wget http://cdn.ispsystem.com/install.sh
```

Далее запустите скрипт:

```
sh install.sh ISPmanager
```

Скрипт спросит Вас какую версию Вы хотите установить. Это может быть *beta* или *stable*. Рекомендуется выбирать *stable*, так как это стабильный набор ПО и функций. В то же время, *beta* обладает самым современным функционалом, но он может быть с ошибками.

Также скрипт может спросить, какой набор ПО Вы хотите установить. Это могут быть такие варианты:

*\* ISPmanager-Lite with recommended software* - всё, что нужно для работы сайтов.\
*\* ISPmanager-Lite minimal version* - минимальный набор ПО.\
*\* ISPmanager-Business* - версия Business для хостинг-провайдеров.

### **Вход в ISPmanager 5**

После окончания установки ISPmanager 5 будет доступен по адресу:\
`https://`*`<IP-адрес>`*`:1500/ispmgr`\
Для входа используйте логин *root* и его пароль.


# How to install BrainyCP

[**BrainyCP**](https://brainycp.com/) - удобная и современная панель управления хостингом, которая позволяет через удобный веб-интерфейс добавлять сайты, базы данных, почтовые аккаунты и выполнять множество других действий.

В данный момент **BrainyCP** поддерживает **только CentOS 7**, поэтому будьте внимательны и не пытайтесь установить её на другую ОС.

![](/files/-MFyaIqlFLrv7zMrd8As)

### Подготовка к установке

Для установки необходим чистый сервер с установленной CentOS 7, желательно в минимальной сборке. У Вас должен быть полный root-доступ к серверу.

Помимо этого необходимо установить пакет `wget`:

```
yum -y install wget
```

### Установка BrainyCP <a href="#brainycp" id="brainycp"></a>

Для установки BrainyCP выполните команды:

```
wget http://core.brainycp.ru/install.sh
sh install.sh
```

Обратите внимание на то, что сайт BrainyCP предоставляет удобную возможность выбрать набор программного обеспечения (ПО), которое нужно установить на сервер. Сгенерировать команду для установки конкретного ПО можно здесь: <https://brainycp.com/download>.

Процесс установки занимает 10-30 минут в зависимости от конфигурации сервера.

### Вход в BrainyCP <a href="#brainycp-1" id="brainycp-1"></a>

После завершения установки панели управления войти в нём можно будет по ссылке:\
`https://`*`<IP-адрес>`*`:8000`

Для входа используйте имя пользователя *root*, а также его пароль.


# How to install HestiaCP

**HestiaCP** - функциональная панель управления хостинг-сервером, через которую можно легко и быстро добавлять домены, базы данных, почтовые ящики на сервер под управление Debian или Ubuntu.

Интерфейс панели управления HestiaCP выглядит вот так:

![](/files/-MFdmLAUm-cTR9glmGhk)

### **Подготовка к установке**

**Перед установкой HestiaCP необходимо проверить следующее:**

* Соответствие системным требованиям: требуется ОС Debian 9, 10, либо Ubuntu Server версии 16, 18, 20.
* Операционная система установлена в минимальной конфигурации, на сервере не установлен Apache, MySQL, а также он уже не настроен для размещения сайтов
* SELinux отключён (в файле `/etc/selinux/config` : `SELINUX=disabled`)

### Установка HestiaCP&#x20;

**Для начала установки выполните следующие команды:**

```
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh
```

При необходимости можно использовать следующие полезные опции:

* `--port` - использовать нестандартный порт, например, 9876
* `--clamav` - устанавливать или нет антивирус ClamAV, например, no
* `--multiphp` - устанавливать или нет несколько версий PHP, лучше выбрать `yes`
* `--quota` - использовать или нет системные квоты для регулирования потребления дискового пространства, по умолчанию отключено

### **Вход в HestiaCP**

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

`https://`*`<IP-адрес>`*`:8083`\
Логин: *admin*\
Пароль: будет показан после завершения установки


# How to install VestaCP

**VestaCP** - популярная бесплатная панель управления сервером, включающая в себя функционал для управления веб-сервером, сервером баз данных и почтовым сервером. Позволяет добавлять сайты, базы данных и почтовые ящики.

![](/files/-MFzd4WpqA4VP0DIjXzS)

### Подготовка к установке

**Перед установкой VestaCP необходимо проверить следующее:**

* **Соответствие системным требованиям**: требуется ОС CentOS, Debian, Ubuntu Server
* **Операционная система установлена в минимальной конфигурации**, на сервере не установлен Apache, MySQL, а также он уже не настроен для размещения сайтов
* **SELinux отключён** (в файле `/etc/selinux/config`: `SELINUX=disabled`)

### Установка VestaCP

Для начала установки выполните следующие команды:

```bash
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh
```

При необходимости можно использовать следующие ключи:

* `--force` - установить в любом случае

После выполнения команды `bash vst-install.sh` программа установки проверит соблюдение требований.

В том случае, если всё хорошо, программа установки поприветствует Вас и покажет, что именно будет установлено. Введите `y`.<br>

![](/files/-MFzc3Nhg9Mi1TlmFVZx)

Далее программа установки уточнит Ваш e-mail адрес, а также hostname сервера. Введите эти значения.\
После начнётся установка необходимых пакетов, процесс установки займёт 5-15 минут в зависимости от конфигурации сервера.

### **Вход в VestaCP**

**После завершения установки доступ к панели управления можно получить по ссылке:**\
`https://`*`<IP-адрес>`*`:8087`\
Логин: *admin*\
Пароль: будет показан после завершения установки

### **Возможные ошибки при начале установки**

На экране могут отображаться разного рода проблемы. Например:

**Following packages are already installed**

![](/files/-MFzcQ0FXFwoeYbv8bay)

Для решения этой проблемы нужно выполнить следующую команду:\
CentOS: `yum -y remove httpd httpd* bind`\
Debian/Ubuntu Server: `apt-get remove apache2 apache2* named`\
Наименование пакетов может незначительно различаться!

&#x20;**Error: not enough memory to install Vesta Control Panel**

![](/files/-MFzcVmgbmG5JP_8yvNs)

Такая ошибка может возникать на серверах минимальной конфигурации, объём оперативной памяти которых менее 350 Мб.&#x20;

Для решения этой проблемы выполните:

```bash
bash vst-install-rhel.sh --force
```


# How to install Webmin

[**Webmin**](http://www.webmin.com/) - современная панель управления для любого сервера на базе Linux. Она позволяет управлять сервером через простой и понятный веб-интерфейс, поддерживает огромное количество программного обеспечения. Как правило, используется профессионалами.

В этой статье мы разберём установку и настройку Webmin на сервере под управлением CentOS 7.

### Установка Webmin <a href="#webmin" id="webmin"></a>

В первую очередь для установки Webmin на CentOS 7 нужно добавить репозиторий, который содержит необходимые для работы Webmin пакеты.

На CentOS 7 пакетами управляет Yum, именно в него мы и добавим необходимый репозиторий.

Создайте и откройте для редактирования файл используя свой любимый редактор (nano, mcedit, vi):

```bash
nano /etc/yum.repos.d/webmin.repo
```

Далее добавьте в файл следующие строки:

{% code title="/etc/yum.repos.d/webmin.repo" %}

```
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
```

{% endcode %}

Сохраните изменения и выйдите из редактора.

Далее нужно установить PGP от создателей Webmin для того, чтобы Yum мог доверять только что добавленному репозиторию:

```bash
wget http://www.webmin.com/jcameron-key.asc
sudo rpm --import jcameron-key.asc
```

Теперь Вы можете установить Webmin с помощью команды:

```bash
yum -y install webmin
```

Как только установка будет выполнена, Вы увидите примерно следующий вывод:

```
Webmin install complete. You can now login to https://<Ваш-домен>:10000/ as root with your root password.
```

Как видно из вывода, Вы можете войти в Webmin по ссылке:\
`https://`*`<IP-адрес>`*`:10000`

В качестве логина используйте *root*, а в качестве пароля - пароль пользователя root.


# Главная страница

База знаний для клиентов VDSnow с наиболее полезной информацией о работе с нашими VDS, о настройке VDS и наиболее популярного ПО

## Наиболее популярные темы:

* [Активация аккаунта](https://help.vdsnow.ru/lichnyi-kabinet/aktivaciya-akkaunta)
* [Переустановка ОС](https://help.vdsnow.ru/rabota-s-vds/pereustanovka-os)
* [Загрузка и подключение ISO](https://help.vdsnow.ru/rabota-s-vds/zagruzka-i-podklyuchenie-iso-k-vds)
* [Установка ISPmanager 5](https://help.vdsnow.ru/nastroika-vds/paneli-upravleniya/ustanovka-ispmanager-5)
* [Установка HestiaCP](https://help.vdsnow.ru/nastroika-vds/paneli-upravleniya/ustanovka-hestiacp)
* [Установка OpenVPN-сервера](https://help.vdsnow.ru/nastroika-vds/nastroika-vds/vpn-i-proksi-servery/ustanovka-openvpn-servera)

{% hint style="info" %}
В случае возникновения каких-либо вопросов, не описанных в этом разделе, Вы всегда можете [обратиться в нашу Службу поддержки](https://vdsnow.ru/contact.html).
{% endhint %}


# Активация аккаунта

Для заказа и использования услуг сразу после регистрации необходимо активировать аккаунт клиента.

Предложение активировать аккаунт будет отображено сразу после первого входа в [Личный кабинет](https://cp.vdsnow.ru/).

Для активации нужно выполнить два шага:

1. Подтвердить номер телефона
2. Ввести ФИО, страну и город

### Подтверждение номера телефона

Чтобы подтвердить номер телефона необходимо нажать на кнопку запроса кода подтверждения.

Через несколько секунд после запроса кода подтверждения на указанный Вами номер телефона поступит звонок. Отвечать на него не нужно. Кодом подтверждения будут 5 последних цифр номера, с которого поступил этот звонок.

Если Вы по какой-то причине не можете принять звонок, то позвоните с указанного Вами номера телефона на наш номер `+7 (351) 799-59-86` и наберите `444`. Ваш номер телефона подтвердится автоматически.

### Заполнение данных профиля

Следующий этап активации аккаунта - заполнение данных профиля.

Вам необходимо ввести реальные ФИО, выбрать страну, где Вы проживаете, а также указать город, в котором Вы проживаете.

Данные проходят ручную проверку, в связи с чем просим Вас не вводить вымышленные данные.


# Настройки аккаунта

Раздел **Аккаунт** в [Личном кабинете](https://cp.vdsnow.ru) позволяет настроить доступ к аккаунту через социальные сети, двухфакторную авторизацию, а также управлять опциями оплаты услуг.&#x20;

{% tabs %}
{% tab title="Авторизация" %}
Данный раздел позволяет Вам установить e-mail адрес, пароль для доступа к аккаунту, а также настроить привязки к социальным сетям для быстрого входа.

Кроме того, Вы можете подключить двухфакторую авторизацию через Google Authenticator.
{% endtab %}

{% tab title="Доп. аккаунты" %}

{% endtab %}

{% tab title="Настройки" %}

{% endtab %}

{% tab title="Платёжные подписки" %}

{% endtab %}
{% endtabs %}


# Отключение двухфакторной авторизации

Если для аккаунта Вами была включена двухфакторная авторизация, то вход в аккаунт возможен одним из следующих способов:

* Только после ввода кода двухфакторной авторизации из приложения Google Authenticator
* Только после ввода одноразового резервного кода, который можно найти в аккаунте

Если по каким-то причинам Вы не можете войти с помощью указанного выше способа, для отключения двухфакторной авторизации существует два способа:

* Потребуется сбросить пароль от аккаунта методом подтверждения через SMS-сообщение.
* В случае отсутствия доступа к телефону Вы можете восстановить доступ к аккаунту путём отправки нам скан-копии паспорта на имя владельца аккаунта (можно с водяным знаком поверх изображения).


# Оплата услуг


# Способы оплаты

Для оплаты наших услуг Вы можете использовать следующие способы оплаты:

{% tabs %}
{% tab title="Россия" %}
Представленные ниже способы оплаты актуальны для клиентов, проживающих в Российской Федерации. Клиенты из других стран могут воспользоваться любым из способов оплаты, размещённых на соседней вкладке.

| Способ оплаты                                                       | Комиссия |
| ------------------------------------------------------------------- | -------- |
| Банковские карты Visa, MasterCard, МИР                              | 0%       |
| ApplePay, SamsungPay                                                | 0%       |
| Система быстрых платежей                                            | 0%       |
| Альфа-Клик, Сбербанк Онлайн, Промсвязьбанк, Русский Стандарт, ВТБ24 | 3%       |
| WebMoney WMR, WMZ                                                   | 3%       |
| Qiwi                                                                | 6%       |
| Яндекс.Деньги                                                       | 7%       |
| Салоны Связной, Евросеть                                            | 7%       |
| Почта России                                                        | 7%       |
| BitCoin, LiteCoin, Dogecoin, Dash                                   | 7%       |
| PerfectMoney                                                        | 7%       |
| Payeer                                                              | 10%      |
| {% endtab %}                                                        |          |

{% tab title="Другие страны" %}
Представленные ниже способы оплаты актуальны для клиентов, находящихся за пределами Российской Федерации.

| Способ оплаты                          | Комиссия |
| -------------------------------------- | -------- |
| Банковские карты Visa, MasterCard, МИР | 0%       |
| ApplePay, SamsungPay                   | 0%       |
| WebMoney WMR, WMZ                      | 3%       |
| Qiwi                                   | 6%       |
| Яндекс.Деньги                          | 7%       |
| BitCoin, LiteCoin, Dogecoin, Dash      | 7%       |
| PerfectMoney                           | 7%       |
| ЕРИП Расчёт (Беларусь)                 | 7%       |
| PayPal                                 | 8%       |
| Payeer                                 | 10%      |
| {% endtab %}                           |          |
| {% endtabs %}                          |          |


# Автоматическая оплата банковскими картами

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

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

В случае выбора автоматического списания, наша система будет автоматически списывать средства с карты за день до даты окончания действия услуги.

### Как подключить карту

Для привязки карты войдите в [Личный кабинет](https://cp.x5x.ru/), далее перейдите в меню Аккаунт, затем нажмите на Платёжные подписки.

Затем нажмите на кнопку **`Привязать карту`**:

![](/files/-MFdiqWt_7lvtVTKjByz)

После нажатия на кнопку Привязать карту произойдёт переход к вводу данных карты. С карты спишется 10 рублей, они будут возвращены обратно в течение часа.

### Как оплатить подключённой картой?

Для оплаты уже привязанной картой выберите в списке способов оплаты Быстрая оплата картой и нажмите **`Списать`**.

### Автоматическая оплата без Вашего участия

Так тоже можно! Для этого привязанная карта должна быть в статусе Активна, а в настройках аккаунта не должна быть выключена опция автоматического выставления счетов и списания оплаты:

![](/files/-MFdj76I9hPfGRopD3pQ)


# Оплата через Систему быстрых платежей

**Система быстрых платежей** — сервис Банка России, который позволяет мгновенно совершать переводы по номеру телефона в любой банка, а также производить быструю оплату товаров и услуг без ввода данных карты, лишь по QR-коду.

С сервисом оплаты по QR-коду уже работают: Русский Стандарт, ВТБ, Авангард, Открытие, Промсвязьбанк, Райффайзербанк, Росбанк, Тинькофф и другие.<br>

Для оплаты услуги через Систему быстрых платежей достаточно выбрать данный способ оплаты и отсканировать QR-код с помощью приложения Вашего банка, сумма моментально спишется с Вашего счёта.

### Как оплатить услугу?

Для оплаты наших услуг через Систему быстрых платежей достаточно сделать следующее:

1\) Перейдите к списку счетов по ссылке <https://cp.vdsnow.ru/billing>, нажмите на нужный счёт и выберите **`Оплатить`**:

![](/files/-MFdi5gywEyFdYiS0NeG)

2\) Выберите способ оплаты "Система быстрых платежей (СБП, Россия)", затем нажмите на кнопку **`Перейти к оплате`**:

![](/files/-MFdiCe4uds9zY2-VQni)

3\) После нажатия на кнопку появится QR-код, который нужно будет отсканировать камерой через приложение банка:

![](/files/-MFdiH-nnSDlwfyS46oV)


# Заказ IP-адресов

Для заказа дополнительных IP-адресов для VDS войдите в [Личный кабинет](https://cp.vdsnow.ru/services) и выберите нужный Вам VDS.

На открывшейся странице нажмите на кнопку **`Заказать IP-адреса`** в правом меню:

![](/files/-MFdk0LrqBEqAmJf8YlC)

Далее заполните форму заказа IP-адресов:

![](/files/-MFdk45Z1rjP8GCMNZk_)

После нажатия на кнопку **`Заказать`** Вам будет выставлен счёт, а после его оплаты заказ на IP-адреса будет обработан автоматически.


# Резервное копирование

Мы предлагаем услугу автоматического ежедневного, либо еженедельного резервного копирования данных VDS.

Услуга будет полезна для тех клиентов, которые не хотят настраивать резервное копирование вручную и следить за работоспособностью хранилища.

### Условия

Услуга предоставляется на платной основе. Резервное копирование будет производиться автоматически без остановки VDS, но возможно некоторое замедление его работы из-за ресурсозатратных операций с диском.

Копии хранятся на внешнем независимом сервере, восстановление копий производится нашими сотрудниками за платной основе (500 руб.).

### Как подключить услугу?

Подключение услуги производится на этапе заказа VDS, а также возможно в процессе его использования путём подключения соответствующей опции через Личный кабинет.

### Как запросить восстановление?

Для запроса восстановления данных VDS из копии необходимо обратиться в Службу поддержки, после чего мы выставим Вам счёт и произведём восстановление данных из копии.


# Установка ОС


# Переустановка ОС

Как переустановить операционную систему VDS

Для переустановка операционной системы перейдите на страницу услуги в [Личном кабинете](https://cp.vdsnow.ru/services). Мы подготовили множество шаблонов ОС, с помощью которых Вы сможете быстро установить одну из наиболее популярных ОС (смотрите [Шаблоны ОС](/rabota-s-vds/ustanovka-os/shablony-os)).

Далее нажмите на кнопку **`Переустановка ОС`**:

![](/files/-MFdkqQ5vvWU2h03sy5W)

В открывшемся окне выберите необходимую операционную систему в поле *`Выберите ОС`*.&#x20;

Затем нажмите на кнопку **`Переустановить`**.

{% hint style="info" %}
Переустановка операционной системы будет запущена в фоне и займёт до 10 минут. Установка Windows может занять до 2 часов. После окончания процесса Вы будете оповещены по e-mail.
{% endhint %}


# Загрузка и подключение ISO

### Загрузка своего образа

Для загрузки собственного образа Вам необходимо сначала загрузить этот образ на один из файлобменных сервисов, или на свой сервер. Для этих целей хорошо подходит, например, DropBox. Самое главное, чтобы файлобменный сервис предоставлял возможность загрузки файла по прямой ссылке, без ввода кода с подтверждением.

Если возможности загрузить образ на файлобменный сервис у Вас нет, то мы можем предоставить Вам доступ к нашему FTP-серверу, куда Вы сможете загрузить образ.

Для загрузки образа нажмите на кнопку **`Управление ISO`** на странице VDS, затем заполните форму загрузки образа:

![](/files/-MFdkKYjWPZGShTtrhkD)

После нажатия на кнопку **`Загрузить образ`** начнётся загрузка образа в фоновом режиме. Подождите некоторое время и затем попробуйте подключить образ к VDS.

### Подключение образа к VDS

После загрузки образа Вы можете подключить его к VDS. Для этого используйте форму подключения образов на всё той же странице:

![](/files/-MFdkRq2uVfo0bwHGDL_)

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

* Настройка порядка загрузки необходима для того, чтобы первым делом загружался Ваш ISO-образ, а затем уже операционная система.
* Изменить режим работы дисков может потребоваться для установки некоторых ОС, не поддерживающих режим работы дисков Virtio. Это, как правило, ОС семейства Windows, некоторые версии Mikrotik, а также некоторые другие ОС.


# Шаблоны ОС

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

* **CentOS**:
  * 6.9 `x86`  `x86_64`
  * 6.10 `x86_64`&#x20;
  * 7.0 `x86_64`
  * 7.1 `x86_64`
  * 7.3 `x86_64`
  * 7.4 `x86_64`
  * 7.5 `x86_64`
  * 7.7 `x86_64`
  * 8 `x86_64`
* **Debian**:
  * 7.8 `x86`  `x86_64`
  * 8.0 `x86_64`
  * 8.7 `x86_64`
  * 9.4 `x86_64`
  * 10 `x86_64`
* **Ubuntu**:
  * 14.04 `x86`  `x86_64`
  * 16.04 `x86`  `x86_64`
  * 17.10 `x86`  `x86_64`
  * 18.04 `x86`  `x86_64`
  * 18.10 `x86`  `x86_64`
  * 19.04 `x86_64`
  * 20.04 `x86_64`
* **Fedora**:
  * 21 `x86_64`
  * 27 `x86_64`
  * 30 `x86_64`
  * 31 `x86_64`
  * 32 `x86_64`
* **SUSE**:
  * 13.1 `x86`
  * 13.1 `x86_64`
  * 15.1 `x86_64`
* **Windows Server**:
  * 2012 R2 (без лицензии)
  * 2016 (без лицензии)
  * 2019 (без лицензии)


# Образы ISO

Для использования доступны следующие образы ISO:

* FreeBSD 11.2 disc1 `x86_64`
* FreeBSD 12.0 disc1 `x86_64`
* CloneZilla Live 2.5.6 `x86_64`
* Gparted Live 0.33.0 `x86_64`
* Virtio


# Вход на VDS через SSH

**SSH** (англ. **Secure Shell** — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).

**PuTTY** — свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin. Также имеется возможность работы через последовательный порт.

Для того, чтобы подключиться к серверу по SSH через программу PuTTY, необходимо скачать её с официального сайта [здесь](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).\
После загрузки файла просто запустите его, программа не требует установки и будет работать сразу же после загрузки.

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

![](/files/-MFzhs4yccWPamKBJtdx)

* В поле **Host Name (or IP address)** необходимо ввести IP-адрес Вашего сервера.
* В поле **Port** необходимо ввести порт SSH-сервера, по умолчанию - 22.

После ввода этих данных нажмите на кнопку «Open». Перед Вами появится экран ввода логина и пароля от сервера:

![](/files/-MFzhqV0DW6rmX0rYAzT)

Введите **root** (или другой логин, который указан как «Имя супер-пользователя» в данных доступа к серверу и нажмите Enter.

Далее Вы увидите поле для ввода пароля:

![](/files/-MFzhonoZrIuiLq7_zEU)

Введите пароль, указанный как «Пароль супер-пользователя» в данных доступа к серверу. После чего нажмите ***Enter***.\
**Внимание:** при вводе пароля на экране ничего не отображается, это нормально.

Если логин и пароль введены верно, Вы попадёте в командную строку сервера.<br>


# Настройка VDS

Технические руководства по настройке VDS, а также по установке различного программного обеспечения.

Выберите интересующую Вас задачу из списка ниже.

{% tabs %}
{% tab title="Настройка ОС" %}

* [Основные команды SSH](/nastroika-vds/nastroika-vds/osnovnye-komandy-ssh)
* [Изменение часового пояса](/nastroika-vds/nastroika-vds/izmenenie-chasovogo-poyasa)
* [Установка hostname](/nastroika-vds/nastroika-vds/ustanovka-hostname)
* [Установка ключей для SSH](/nastroika-vds/nastroika-vds/ustanovka-klyuchei-dlya-ssh)
  {% endtab %}

{% tab title="Веб-серверы" %}

* [Установка Lighttpd на CentOS](/nastroika-vds/nastroika-vds/veb-servery/ustanovka-lighttpd/ustanovka-lighttpd-na-centos)
  {% endtab %}

{% tab title="Серверы БД" %}

* [Установка MariaDB на CentOS 7](/nastroika-vds/nastroika-vds/bazy-dannykh/ustanovka-mariadb/ustanovka-mariadb-na-centos-7)
* [Установка MongoDB на Ubuntu](/nastroika-vds/nastroika-vds/bazy-dannykh/ustanovka-mongodb/ustanovka-mongodb-na-ubuntu)
* [Смена пароля от MySQL](/nastroika-vds/nastroika-vds/bazy-dannykh/smena-parolya-ot-mysql)
* [Установка phpMyAdmin на CentOS 7](/nastroika-vds/nastroika-vds/bazy-dannykh/ustanovka-phpmyadmin/ustanovka-phpmyadmin-na-centos-7)
  {% endtab %}

{% tab title="VPN и прокси" %}

* [Установка OpenVPN-сервера](/nastroika-vds/nastroika-vds/vpn-i-proksi-servery/ustanovka-openvpn-servera)
* [Установка Squid Proxy на CentOS 7](/nastroika-vds/nastroika-vds/vpn-i-proksi-servery/ustanovka-squid-proxy/ustanovka-squid-proxy-na-centos-7)
  {% endtab %}

{% tab title="RDP/VNC" %}

* [Установка RDP-сервера в CentOS](/nastroika-vds/nastroika-vds/rdp-server/ustanovka-rdp-servera)
* [Установка RDP-сервера в Debian](/nastroika-vds/nastroika-vds/rdp-server/ustanovka-rdp-servera/ustanovka-rdp-servera-na-debian)
  {% endtab %}
  {% endtabs %}


# Основные команды SSH

Рассмотрим основные команды, используемые при работе с сервером через SSH.

### ls <a href="#ls" id="ls"></a>

Выводит список файлов и папок в текущей директории.

### ls -la или ll <a href="#ls-la-ll" id="ls-la-ll"></a>

Выводит список файлов и папок в текущей директории, а также их размеры, владельца, права на них и дату последнего изменения.

### cd <a href="#cd" id="cd"></a>

Переход в указанную директорию.\
Вводится так: `cd директория`

### mv <a href="#mv" id="mv"></a>

Перемещение или переименование файла или папки.\
Вводится так: `mv текущее_имя новое_имя`

### rm <a href="#rm" id="rm"></a>

Удаление файла или папки.\
Вводится так: `rm путь_к_файлу`

### cp <a href="#cp" id="cp"></a>

Копирование файла или папки в другое место.\
Вводится так: `cp имя_файла куда_скопировать`

### chmod <a href="#chmod" id="chmod"></a>

Изменяет права доступа на файл или папку.

### chown <a href="#chown" id="chown"></a>

Изменяет владельца файла или папки.\
Вводится так: `chown пользовать:группа файл`

### mkdir <a href="#mkdir" id="mkdir"></a>

Создание директории по указанному пути.\
Вводится так: `mkdir путь`

### mc <a href="#mc" id="mc"></a>

Запускает файловый менеджер Midnight Commander.


# Установка ключей для SSH

**SSH (Secure Shell)** — это защищённый протокол для доступа к инструментам администрирования сервера. Доступ к SSH осуществляется по логину и паролю. Но если Вы часто пользуетесь SSH, то каждый раз вводить логин и пароль будет крайне неудобно.

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

**Создание пару ключей RSA**

В первую очередь нам нужно создать пару ключей, который Вы будете использовать для доступа. Как правило, это делается на Вашем же компьютере, но также их можно создать и на сервере.

```bash
ssh-keygen
```

По умолчанию, `ssh-keygen` создаст пару 2048-битных ключей. Вы можете также создать и 4096-битные ключи, что более безопасно, добавив к команде флаг `-b 4096`.

После ввода и запуска команды Вы увидите нечто вроде:

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

Нажмите **`ENTER`** для сохранения пары ключей в папку `.ssh` Вашей домашней директории.

Если Вы уже создавали ключи ранее, то программа попросит Вас подтвердить их перезапись:

```
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
```

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

Далее программа попросит Вас ввести кодовую фразу:

```
Enter passphrase (empty for no passphrase):
```

По желанию вы можете ввести кодовую фразу (пароль) для доступа к ключам. Это добавляет дополнительный уровень защиты, но в то же время замедляет процедуру входа, так как Вам придётся вводить эту кодовую фразу каждый раз при использовании ключей.

После того, как пара ключей будет создана, Вы увидите нечто вроде этого:

```
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.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-copy-id`, которая сделает всю работу. Если у Вас нет этой утилиты, Вы можете скопировать файлы вручную.

Для копирования ключей с помощью `ssh-copy-id`введите следующую команду:

```bash
ssh-copy-id username@remote-host
```

Вы увидите нечто вроде этого:

```
The authenticity of host '1.2.3.4 (1.2.4.4)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
```

Это означает, что Ваш локальный компьютер пока ещё не опознаёт удалённый сервер. Это происходит при каждом первом подключении к новому удалённому серверу. Просто введите `yes` и нажмите ENTER.

Далее, утилита найдёт в Вашей домашней директории публичный ключ и запросит у Вас пароль для доступа к удалённому серверу.

```
username@1.2.3.4's password:
```

Введите пароль и нажмите ENTER. Обратите внимание на то, что при вводе Вы не будете видеть вводимый пароль на экране. Поэтому просто введите пароль и не беспокойтесь о том, что Вы его не видите.

Далее утилита подключится к удалённому серверу и скопирует на него публичный ключ. Копирование как правило производится в директорию `~/.ssh`, в файл `authorized_keys`.

После завершения копирования Вы увидите следующее:

```
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@1.2.3.4'"
and check to make sure that only the key(s) you wanted were added.
```

**Подключение к серверу с помощью ключей**

Теперь Вы можете подключаться к серверу с помощью созданных ключей.

Если Вы используете в качестве ОС Linux, то просто введите `ssh username@remote-host` и далее система сама найдёт Ваш приватный ключ и использует его для подключения.

Если Вы используете Windows и программу Putty или подобную, то Вам нужно указать приватный ключ в настройках этой программы.

**Отключение входа по паролю**

Для повышения безопасности Вы можете отключить вход на сервер по паролю и оставить только вход с помощью ключей.

Перед тем как отключать доступ по паролю, убедитесь, что созданные Вами ключи работают. Если Вы отключите доступ по паролю и не будете иметь работающие ключи, восстановить доступ будет крайне затруднительно.

Чтобы отключить доступ по паролю потребуется изменить параметр в файле конфигурации SSH-сервера.

Для этого откройте через любимый редактор (nano, mcedit, vim) файл `/etc/ssh/sshd_config`:

```bash
nano /etc/ssh/sshd_config
```

В файле найдите строку `PasswordAuthentication`. Введите после неё `no`. Должно получиться так:

{% code title="/etc/ssh/sshd\_config" %}

```
PasswordAuthentication no
```

{% endcode %}

Если строка закомментирована (перед ней стоит символ `#`), то удалите этот символ.

Далее сохраните изменения в файле и перезапустите SSH-сервер:

```bash
systemctl restart sshd.service
```

Теперь доступ по паролю без ключей невозможен.


# Изменение часового пояса

Для изменения часового пояса необходимо выполнить некоторые команды в SSH.

Например, установим московский часовой пояс:

```bash
mv /etc/localtime /etc/localtime.bck
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
ntpdate pool.ntp.org
```

Если появится ошибка о том, что файл `/etc/localtime` уже существует, то выполните:

```bash
rm -rf /etc/localtime
```


# Установка hostname

**Hostname (имя хоста)** определяет имя Вашего сервера, его указание важно для правильной работы почтового сервера и некоторых других служб.

Для установки hostname на серверах под управлением CentOS откройте с помощью текстового редактора файл `/etc/sysconfig/network`:

```bash
nano /etc/sysconfig/network
```

Далее впишите:

```
HOSTNAME=(необходимый hostname)
```

Изменения вступят в силу после перезагрузки или перезапуска сети. Чтобы применить изменения прямо сейчас, нужно ввести команду:

```bash
hostname (необходимый hostname)
```


# Веб-серверы


# Установка Lighttpd


# Установка Lighttpd на CentOS

**Lighttpd** - это открытый, лёгкий веб-сервер созданный как альтернатива Apache, он потребляет гораздо меньше оперативной памяти, но не уступает в возможностях.

Сегодня мы рассмотрим процесс установки Lighttpd, а также PHP и MySQL на сервер под управлением CentOS.

### Подготовка <a href="#undefined" id="undefined"></a>

Прежде всего нам нужно обновить список пакетов Yum, а также установить `wget`:

```bash
yum -y update
yum -y install wget
```

### Установка MySQL

Для установки MySQL также потребуется выполнить несколько команд. Устанавливать пакеты будем через Yum, поскольку это наиболее быстрый вариант.

Выполним команду для установки MySQL-сервера:

```bash
yum -y install mysql-server
```

Далее включим автозапуск MySQL-сервера:

```bash
chkconfig --levels 235 mysqld on
```

Для запуска MySQL-сервера введите:

```bash
service mysqld start
```

Теперь нужно сделать базовую настройку MySQL-сервера, выполните команду:

```bash
mysql_secure_installation
```

Поскольку мы запускаем сервер впервые, root-пароль ещё не задан, поэтому просто нажмите ENTER когда скрипт спросит `Enter current password for root (enter for none)` .

Далее следуйте инструкциям скрипта:

* `Set root password?` - `y`, и далее введите новый root-пароль два раза.
* `Remove anonymous users?` - `y`
* `Remove test database and access to it?` - `y`
* `Reload privilege tables now?` - `y`

### Установка Lighttpd <a href="#lighttpd" id="lighttpd"></a>

Наиболее эффективно использовать связку Lighttpd и PHP в режиме FPM, но такой вариант отсутствует в официальном репозитории CentOS, поэтому нам потребуется добавить репозиторий EPEL:

**Если Вы используете CentOS 6:**

```bash
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
```

**Если Вы используете CentOS 7:**

```bash
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
```

Теперь установим Lighttpd:

```bash
yum -y install lighttpd
```

Далее добавим его в автозагрузку:

```bash
chkconfig --levels 235 lighttpd on
```

И запустим сервер:

```bash
service lighttpd start
```

Теперь Вы можете открыть в браузере http\://\<IP> и в результате Вы должны увидеть стартовую страницу Lighttpd.

### Установка PHP <a href="#php" id="php"></a>

Для установка PHP в режиме FPM выполните:

```bash
yum -y install php-fpm lighttpd-fastcgi
```

Далее откройте файл конфигурации `www.conf`:

```bash
nano /etc/php-fpm.d/www.conf
```

И добавьте в него:

```
user = lighttpd
group = lighttpd
```

Далее включим автозагрузку для PHP-FPM:

```bash
chkconfig --levels 235 php-fpm on
```

И запустим PHP-FPM:

```bash
service php-fpm start
```

Теперь подправим настройки самого PHP:

```bash
nano /etc/php.ini
```

Найдите строку с `cgi.fix_pathinfo=1` и раскомментируйте её (удалите `;` в начале строки).

Далее подключим fastcgi в модулях Lighttpd:

```bash
nano /etc/lighttpd/modules.conf
```

Найдите строку `include "conf.d/fastcgi.conf"` и раскомментируйте её (удалите `##` в начале строки).

Теперь откройте файл `fastcgi.conf`:

```bash
nano /etc/lighttpd/conf.d/fastcgi.conf
```

И добавьте в него следующие строки:

{% code title="/etc/lighttpd/conf.d/fastcgi.conf" %}

```
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)
```

{% endcode %}

Теперь установим дополнительный модуль PHP для работы с MySQL:

```bash
yum -y install php-mysql
```

Перезапустим PHP-FPM и Lighttpd:

```bash
service php-fpm restart
service lighttpd restart
```


# Базы данных


# Установка MariaDB


# Установка MariaDB на CentOS 7

**MariaDB** - открытый сервер баз данных, наиболее часто используемый в связке с Apache, либо Nginx, а также с PHP, Python и Perl. По большому счёту это более совершенная и развитая замена MySQL, разрабатываемая той же командой, которая изначально создавала MySQL.

MariaDB максимально совместима с MySQL как в плане конфигурации и запросов, так и даже в плане взаимодействия через консоль.

В этом руководстве мы рассмотрим процесс установки MariaDB на сервер под управлением CentOS 7.

### Подготовка <a href="#id-1" id="id-1"></a>

MariaDB включена в репозиторий CentOS 7, поэтому нам не придётся устанавливать дополнительные репозитории. Всё, что Вам нужно - доступ к root.

### Установка MariaDB <a href="#mariadb" id="mariadb"></a>

Мы будем использовать менеджер пакетов Yum для установки MariaDB. Выполните следующую команду:

```bash
yum -y install mariadb-server
```

Далее запустите сервер и добавьте его в автозагрузку:

```bash
systemctl start mariadb
```

### Настройка MariaDB <a href="#mariadb-1" id="mariadb-1"></a>

MariaDB настраивается точно также как и MySQL, поэтому если Вы уже знакомы с установкой MySQL, процесс настройки будет для Вас таким же простым.

Для начальной настройки существует скрипт, который устанавливает root-пароль, удаляет анонимный доступ и тестовые базы данных.

Запустим его:

```bash
mysql_secure_installation
```

Скрипт предоставляет описание всего, что он может сделать. Так как root-пароль изначально не установлен, при первом запуске просто нажмите **`ENTER`**.

Далее, следуя инструкциям скрипта установите root-пароль и удалите анонимный доступ. Для выполнения того или иного действия нужно вводить y.

### Проверка установки <a href="#id-2" id="id-2"></a>

Теперь нам нужно проверить корректность установки. Это можно сделать с помощью утилиты mysqladmin, которая позволяет нам войти в консоль MariaDB-сервера и работать с ним.

Выполните следующую команду для проверки установленной версии:

```bash
mysqladmin -u root -p version
```

Утилита попросит Вас ввести root-пароль, введите его. В результате Вы увидите что-то вроде:

```
mysqladmin  Ver 9.0 Distrib 5.5.50-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Server version          5.5.50-MariaDB
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 10 min 8 sec


Threads: 1  Questions: 42  Slow queries: 0  Opens: 1  Flush tables: 2  Open tables: 27  Queries per second avg: 0.150
```

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


# Установка MongoDB


# Установка MongoDB на Ubuntu

**MongoDB** - бесплатная, открытая NoSQL база данных, стремительно набирающая популярность в современных веб-приложениях.

В этой статье рассмотрим установку MongoDB на сервер под управлением Ubuntu 18.04.

### Установка MongoDB <a href="#mongodb" id="mongodb"></a>

Официальный репозиторий пакетов Ubuntu уже включает свежую версию MongoDB, поэтому нам даже не придётся устанавливать сторонние репозитории.

В первую очередь обновите список пакетов Apt:

```bash
apt update
```

Теперь установите пакет MongoDB:

```bash
apt-get -y install mongodb
```

Эта команда установит последнюю версию MongoDB и все необходимые для её работы пакеты.

### **Настройка сервиса**

Проверьте, запущен ли сервис MongoDB с помощью команды:

```bash
systemctl status mongodb
```

Вы должны увидеть примерно следующий вывод:

```
mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-05-26 07:48:04 UTC; 2min 17s ago
Docs: man:mongod(1)
Main PID: 2312 (mongod)
Tasks: 23 (limit: 1153)
CGroup: /system.slice/mongodb.service
??2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
```

Согласно этому выводу, сервер MongoDB запущен и работает.

Теперь можно проверить работу сервера MongoDB путём запроса к нему. Выполните команду:

```bash
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
```

В результате Вы должны видеть текущую версию сервера, его адрес и порт для подключения:

```
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
  "authInfo" : {
    "authenticatedUsers" : [ ],
    "authenticatedUserRoles" : [ ]
  },
  "ok" : 1
}
```

Значение `1` в поле `ok` обозначает, что сервер работает и корректно обработал Ваш запрос.

### Управление сервисом MongoDB <a href="#mongodb-1" id="mongodb-1"></a>

MongoDB устанавливается как сервис `systemd`, что даёт возможность управлять им с помощью стандартной утилиты `systemctl`.

Для просмотра статуса работы сервера MongoDB используйте:

```bash
systemctl status mongodb
```

Для остановки сервера MongoDB:

```bash
systemctl stop mongodb
```

Для запуска сервера MongoDB:

```bash
systemctl start mongodb
```

И, соответственно, для перезапуска:

```bash
systemctl restart mongodb
```

По уолчанию MongoDB запускается автоматически при запуске системы. Если Вам это не нужно, то Вы можете легко отключить автозапуск с помощью команды:

```bash
systemctl disable mongodb
```

И, аналогично, если после захочется включить его автозапуск, используйте команду:

```bash
systemctl enable mongodb
```

### Настройка firewall <a href="#firewall" id="firewall"></a>

Предположим, что Вы хотите чтобы сервер MongoDB был доступен из Интернета и к нему могли подключаться внешние приложения, запущенные на других серверах.  Хоть это и не рекомендуется делать, но в некоторых случаях это необходимо.

Это можно сделать путём соответствующей настройки firewall `ufw`. Нужно разрешить доступ к порту MongoDB, которым по умолчанию является порт 27017.

Для того, чтобы разрешить внешний доступ, выполните команду:

```bash
ufw allow 27017
```

Чтобы обезопасить MongoDB и Ваши данные, лучше всего разрешить доступ только с конкретных IP-адресов или подсетей IP-адресов, это можно сделать следующей командой:

```bash
ufw allow from <IP-адрес>/32 to any port 27017
```

Теперь, когда порт открыт, нужно внести изменения в настройки MongoDB, чтобы сервер работал не только на локальном IP-адресе 127.0.0.1, но и на внешнем IP-адресе сервера.

Для этого откройте файл `/etc/mongodb.conf` через Ваш любимый редактор (nano, mcedit, vi):

```bash
nano /etc/mongodb.conf
```

Далее добавить внешний IP-адрес Вашего сервера в значение параметра `bind_ip`. Должно получиться так:

{% code title="/etc/mongodb.conf" %}

```
bind_ip = 127.0.0.1,<IP-адрес>
```

{% endcode %}

Сохраните изменения и перезапустите сервер MongoDB:

```bash
systemctl restart mongodb
```

Если всё сделано верно, то MongoDB будет доступен и извне.

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

### Настройка защищённого доступа к MongoDB <a href="#mongodb-2" id="mongodb-2"></a>

Чтобы доступ к MongoDB был возможен только для тех, кто владеет паролем, нужно создать административного пользователя и назначить ему пароль.

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

```bash
mongodb
```

Далее введите:

```sql
use admin
```

Теперь мы можем создать пользователя и назначить ему доступ ко всем базам данных сервера MongoDB:

```sql
db.createUser(
  {
    user: "<ЛОГИН>",
    pwd: "<ПАРОЛЬ>",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
```

Если создание пользователя пройдёт успешно, Вы увидите на экране надпись: `Successfully added user`.

Теперь нужно настроить аутентификацию через этого пользователя. Для этого откройте для редактирования файл `/etc/mongodb.conf` через Ваш любимый редактор (nano, mcedit, vi):

```bash
nano /etc/mongodb.conf
```

Найдите в нём секцию `#security` и удалите `#` (хэш) перед `security`, чтобы включить аутентификацию.

Должно получиться примерно следующее:

{% code title="/etc/mongodb.conf" %}

```
security:
  authorization: "enabled" 
```

{% endcode %}

Теперь перезапустите сервер MongoDB:

```bash
systectl restart mongodb
```

Для того, чтобы подключиться к MongoDB с данными только что созданного пользователя, используйте команду:

```bash
mongo -u <ЛОГИН> -p --authenticationDatabase admin
```


# Смена пароля от MySQL

В современном мире так много информации, что забыть что-то - обычное дело. Так случается и с паролями. Мы не всегда вспоминаем, что какой-то из паролей нужно записать в наш менеджер паролей или попросту теряем его.

Если Вы забыли или потеряли root пароль от MySQL или MariaDB, то его вполне можно восстановить, причём сделать это не так сложно.

В этой статье мы разберём процесс сброса пароля root для MySQL и MariaDB серверов.

### MySQL или MariaDB? <a href="#mysql-mariadb" id="mysql-mariadb"></a>

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

```bash
mysql --version
```

В результате Вы увидите следующий вывод для MySQL:

```
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper
```

И такой вывод для MariaDB:

```
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
```

### Остановите сервер БД <a href="#id-1" id="id-1"></a>

Для изменения пароля необходимо остановить MySQL или MariaDB сервер.

Если Вы используете MySQL:

```bash
systemctl stop mysql
```

Если Вы используете MariaDB:

```bash
systemctl stop mariadb
```

### Запуск сервера БД в безопасном режиме <a href="#id-2" id="id-2"></a>

Для изменения пароля потребуется запустить сервер БД в безопасном режиме, то есть без загрузки параметров привилегий. Это позволит получить доступ к командной строке сервера БД без ввода пароля и соответственно изменить его.

Для того, чтобы запустить сервер БД в безопасном режиме, выполните команду:

```bash
mysqld_safe --skip-grant-tables --skip-networking &
```

Далее, войдите в командную строку сервера БД под пользователем root:

```bash
mysql -u root
```

### Изменение пароля <a href="#id-3" id="id-3"></a>

Самый простой способ изменить пароль - использовать команду `ALTER USER`. Однако, эта команда недоступна из-за того, что мы не загрузили привилегии.

Чтобы команда сработала, выполните:

```sql
FLUSH PRIVILEGES;
```

Теперь Вы можете непосредственно установить новый пароль с помощью одной из следующих команд.

Если Вы используете MySQL 5.7.6 и выше, либо MariaDB 10.1.20 и выше, то Ваша команда:

```sql
ALTER USER 'root'@'localhist' IDENTIFIED BY '<НОВЫЙ ПАРОЛЬ>';
```

Если Вы используете MySQL версии 5.7.5 и ниже, либо MariaDB 10.1.20 и ниже, то:

```sql
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<НОВЫЙ ПАРОЛЬ>');
```

В результате Вы должны увидеть следующий вывод:

```
Query OK, 0 rows affected (0.00 sec)
```

### Запуска сервера БД в обычном режиме <a href="#id-4" id="id-4"></a>

После изменения пароля необходимо запустить сервер БД в обычном режиме. Для этого сначала нужно остановить сервер, который был запущен в безопасном режиме. Это можно сделать убив процесс сервера БД.

Для MySQL введите команду:

```bash
kill `cat /var/run/mysqld/mysqld.pid`
```

Для MariaDB:

```bash
kill `cat /var/run/mariadb/mariadb.pid`
```

Далее запустите сервер БД с помощью утилиты systemctl.

Для MySQL:

```bash
systemctl start mysql
```

Для MariaDB:

```bash
systemctl start mariadb
```

Теперь проверьте, можете ли Вы войти в командную строку сервера БД с новым паролем, для этого введите команду:

```bash
mysql -u root -p
```

Далее у Вас будет запрошен пароль, введите его и нажмите **`ENTER`**. Если войти удастся, значит изменение пароля прошло успешно.<br>


# Установка phpMyAdmin


# Установка phpMyAdmin на CentOS 7

Реляционные базы данных, такие как MySQL и MariaDB, в наше время необходимы для практически любого веб-сайта или приложения. Однако, далеко не всем пользователям удобно управлять ими через командную строку сервера.

Для решения этой проблемы существует множество различный веб-интерфейсов для управления базами данных, один из них - phpMyAdmin.

В этой статье мы разберём установку и настройку phpMyAdmin на сервере с операционной системой CentOS 7. Установка будет производиться с использованием наиболее популярного сейчас веб-сервера Apache.

### Подготовка <a href="#id-1" id="id-1"></a>

Перед тем как начать установку, необходимо убедиться в том, что на Вашем сервере уже установлен Apache, PHP и сервер баз данных MySQL или MariaDB.

### Установка phpMyAdmin <a href="#phpmyadmin" id="phpmyadmin"></a>

После того, как Apache, PHP и MySQL установлены мы можем приступить непосредственно к установке phpMyAdmin. К сожалению, phpMyAdmin отсутствует в стандартном репозитории CentOS 7, поэтому придётся установить дополнительный репозиторий.

Нам нужен будет репозиторий EPEL (Extra Packages for Enterprise Linux). Этот репозиторий можно установить простой командой через yum:

```bash
yum install epel-release
```

Теперь мы можем устанавливать phpMyAdmin:

```bash
yum install phpmyadmin
```

После завершения установки нужно будет подредактировать конфигурационный файл Apache, который по умолчанию создаётся при установке phpMyAdmin.

Откройте файл через nano:

```bash
nano /etc/httpd/conf.d/phpMyAdmin.conf
```

Внутри файла Вы увидите несколько блоков конфигурации. Нам нужны те, которые отвечают за настройку доступа к директории с phpMyAdmin.

По умолчанию доступ настроен так, что зайти в phpMyAdmin можно только локального с того же компьютера, где он установлен. Само собой, когда речь идёт о серверах, этот вариант не подходит.

Нам нужно изменить строки, которые начинаются так: `Require ip 127.0.0.1` или `Allow from 127.0.0.1`. Вместо **127.0.0.1** укажите IP-адрес Вашего компьютера, или же удалите эту строку вовсе.

После изменения файла перезапустите Apache:

```bash
systemctl restart httpd.service
```

Далее у Вас должно получиться войти в phpMyAdmin через браузер добавив `/phpMyAdmin` к URL:

`http://`**`<IP-адрес сервера>`**`/phpMyAdmin`![](https://x5x.ru/upload/uploads/phpmyadmin-login.png)

Для входа используйте логин и пароль, который Вы использовали при установке MySQL/MariaDB. Логин root и его пароль вполне подойдёт для начала работы.

### Настройка phpMyAdmin для безопасной работы <a href="#phpmyadmin" id="phpmyadmin"></a>

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

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

Давайте заменим `/phpMyAdmin` на `/abrakadabra`.

Для этого открываем для редактирования файл конфигурации Apache:

```bash
nano /etc/httpd/conf.d/phpMyAdmin.conf
```

Далее ищем в нём строки следующего вида:

```
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
```

Удаляем их (*либо комментируем с помощью `#` перед строкой*) и вместо них пишем:

```bash
Alias /abrakadabra /usr/share/phpMyAdmin
```

Далее сохраняем изменения и перезапускаем Apache:

```bash
systemctl restart httpd.service
```

Отлично! Теперь Вы можете зайти в phpMyAdmin через \
`http://`**`<IP-адрес сервера>`**`/abrakadabra`,\
а вот старый адрес\
`http://`**`<IP-адрес сервера>`**`/phpMyAdmin` работать уже не будет. Это существенно повышает безопасность.


# VPN и прокси-серверы


# Установка OpenVPN-сервера

Для установки OpenVPN-сервера можно использовать как готовые скрипты, так и устанавливать сервер самостоятельно по инструкции разработчика.

В данной статье мы будем использовать бесплатный скрипт для установки OpenVPN-сервера на CentOS, Debian и Ubuntu.\
Информацию о данном скрипте можно найти здесь: <https://github.com/Nyr/openvpn-install>

### Установка OpenVPN <a href="#openvpn" id="openvpn"></a>

**Для установки OpenVPN-сервера выполните следующую команду в SSH:**

```bash
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
```

**В процессе выполнения скрипт задаст Вам несколько вопросов, вот основные из них:**

* *First I need to know the IPv4 address of the network interface you want OpenVPN listening to:* Введите IP-адрес Вашего сервера.
* *Which protocol do you want for OpenVPN connections?:* Рекомендуется выбрать UDP.
* *What port do you want OpenVPN listening to?:* Введите порт, на котором будет работать OpenVPN-сервер. По умолчанию используется порт 1194.
* *Which DNS do you want to use with the VPN?:* Выберите DNS-сервис, который будет использовать при определении соответствий домен-IP при подключении через VPN.
* *Finally, tell me your name for the client certificate:* Введите имя клиентского сертификата, например, myvpn.

Далее скрипт произведёт установку и настройку в соответствии с введёнными параметрами.

После завершения всех действий Вы увидите:

```bash
Your client configuration is available at...
```

Здесь будет указано, где Вы можете взять готовый для использования в OpenVPN-клиенте файл с настройками.

### Добавление пользователей в OpenVPN <a href="#openvpn-1" id="openvpn-1"></a>

Для добавления новых пользователей в OpenVPN или же для удаления имеющихся необходимо заново запустить скрипт в SSH:

```bash
bash openvpn-install.sh
```

Вам будут предложены 4 варианта действий:

* *Add a new user:* добавить нового пользователя.
* *Revoke an existing user*: удалить имеющегося пользователя.
* *Remove OpenVPN*: удалить сам OpenVPN-сервер.
* *Exit*: выйти из скрипта.

Для создания нового пользователя введите 1 и следуйте инструкциям скрипта.


# Установка Squid Proxy


# Установка Squid Proxy на CentOS 7

По своей сути, прокси-сервер находится между двумя устройствами (Вашим компьютером и конечным серверов) и работает как промежуточный слой, обеспечивая тем самым контроль доступа, фильтрацию, кэширование, ну и, конечно же, сокрытие IP-адреса Вашего компьютера.

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

### Подготовка <a href="#id-1" id="id-1"></a>

Squid не требует какого-либо специального оборудования и его можно установить на любой виртуальный или выделенный сервер с Linux.

В данной статье мы рассмотрим установку на CentOS 7, поэтому Вы должны иметь сервер с этой ОС, а также root доступ к этому серверу.

### Установка Squid <a href="#squid" id="squid"></a>

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

```bash
yum -y update
```

Далее, установим репозиторий EPEL, в которой содержится большинство дополнительного ПО:

```bash
yum -y install epel-release
```

Далее вновь обовим список пакетов:

```bash
yum -y update
```

Теперь можно приступать к установка Squid:

```bash
yum -y install squid
```

После завершения установки нужно запустить Squid и включить автоматический запуск при загрузке системы:

```bash
systemctl enable squid
systemctl start squid
```

Убедиться в правильности установки Squid можно, например, проверив его версию командой:

```bash
squid -v
```

Вы должны увидеть что-то вроде этого:

```
Squid Cache: Version 3.3.8
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-strict-error-checking' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-eui' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos' '--enable-external-acl-helpers=file_userip,LDAP_group,time_quota,session,unix_group,wbinfo_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl' '--enable-ssl-crtd' '--enable-storeio=aufs,diskd,ufs' '--enable-wccpv2' '--enable-esi' '--enable-ecap' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'LDFLAGS=-Wl,-z,relro -pie -Wl,-z,relro -Wl,-z,now' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
```

Вывод примерный, вывод на разных серверах может отличаться.

### Настройка Squid <a href="#squid-1" id="squid-1"></a>

Базовый файл конфигурации находится по пути: /etc/squid/squid.conf. Вы можете просмотреть его через любой текстовый редактор, например, nano или же mcedit.

По умолчанию Squid настроен на подключения только через локальную сеть. Поэтому первое, что нужно сделать - настроить подключения с любого иного компьютера по логину и паролю.

Откроем файл конфигурации через nano:

```bash
nano /etc/squid/squid.conf
```

В файле уже будут параметры конфигурации для доступа из локальной сети. Они выглядят таким образом:

{% code title="/etc/squid/squid.conf" %}

```
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machinesacl SSL_ports port 443
```

{% endcode %}

Нам нужно разрешить доступ с нашего IP-адреса. Для этого нужно добавить аналогичную ACL-запись в файл конфигурации.\
Squid поддерживает как конкретные IP-адреса, так и сети по маске.\
Предположим, что Вашим IP-адресом является адрес 50.0.1.5. Для того, чтобы разрешить доступ только с этого внешнего адреса, нужно добавить строку:

{% code title="/etc/squid/squid.conf" %}

```
acl localnet src 50.0.1.5/32
```

{% endcode %}

Далее сохраните изменения в файле и перезапустите Squid командой:

```bash
systemctl restart squid
```

### Настройка авторизации по логину и паролю <a href="#id-2" id="id-2"></a>

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

Для настройки доступа нужно сначала установить пакет, позволяющий создавать файлы с паролями:

```bash
yum -y install httpd-tools
```

Теперь создадим файл с паролем:

```bash
touch /etc/squid/passwd
chown squid /etc/squid/passwd
```

Теперь нужно поместить в файл связку логина и пароля (в данном случае **`squiduser`** будет логином):

```bash
htpasswd /etc/squid/passwd squiduser
```

Программа запросит ввод пароля, который Вы хотите установить:

```
New password:
```

По умолчанию htpasswd использует шифрование паролей методом MD5, поэтому нам нужно разрешить такое шифрование в файле конфигурации Squid.

Откроем файл конфигурации:

```bash
nano /etc/squid/squid.conf
```

Далее добавим следующие строки в файл конфигурации:

{% code title="/etc/squid/squid.conf" %}

```
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
```

{% endcode %}

Далее сохраните изменения в файле и вновь перезапустите Squid:

```bash
systemctl restart squid
```

### Подключение к прокси-серверу <a href="#id-3" id="id-3"></a>

Для подключения к прокси-серверу перейдите в соответствующее меню настроек в Вашем любимом браузере.

В качестве IP-адреса прокси-сервера введите IP-адрес сервера, на который Вы установили Squid. В качестве порта - 3128.

После применения настроек браузер запросит логин и пароль от прокси-сервера.

### Изменение порта Squid <a href="#squid-2" id="squid-2"></a>

Для изменения порта Squid в файле конфигурации нужно изменить значение параметра **`http_port`**.\
Например, для изменения порта на **`8765`** нужно привести конфигурацию в такой вид:

{% code title="/etc/squid/squid.conf" %}

```bash
http_port 8765
```

{% endcode %}


# RDP-сервер


# Установка RDP-сервера


# Установка RDP-сервера на CentOS

По умолчанию любой VPS с CentOS поставляется с доступом лишь к командной строке (SSH). Для некоторых задач может потребоваться доступ к графическому рабочему столу.

В этой статье мы рассмотрим установку графического окружения и xRDP-сервера на CentOS 6 и 7.

### Установка на CentOS 6 <a href="#centos-6" id="centos-6"></a>

Добавим необходимые репозитории и обновим список пакетов YUM:

```bash
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
yum -y upgrade
```

Установим графическое окружение:

```bash
yum -y groupinstall "X Window System" "Desktop"
```

Установим xRDP-сервер, VNC-сервер и браузер FireFox:

```bash
yum -y install xrdp firefox tigervnc tigervnc-server tigervnc-server-module
chkconfig haldaemon --levels 2345 off
chkconfig xrdp --levels 345 on
chkconfig NetworkManager off
service xrdp start
```

### Установка на CentOS 7 <a href="#centos-7" id="centos-7"></a>

Добавим необходимые репозитории и обновим список пакетов YUM:

```bash
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y upgrade
```

Установим графическое окружение:

```bash
yum -y groups install "GNOME Desktop"
yum -y install xrdp tigervnc tigervnc-server tigervnc-server-module xorg-x11-fonts-Type1 firefox
```

Настроим графическую оболочку по умолчанию:

```bash
touch /etc/sysconfig/desktop; echo "''PREFERRED=gnome''" > /etc/sysconfig/desktop
```

Настроим автозапуск xRDP-сервера:

```bash
systemctl enable xrdp.service
systemctl start xrdp.service
service xrdp restart
```

Отключим firewall:

```bash
systemctl disable firewalld
systemctl stop firewalld
```

### Подключение через RDP-клиент в Windows <a href="#rdp-windows" id="rdp-windows"></a>

В меню «**Пуск**» выберите программу «**Подключение к удаленному рабочему столу**». Можно также нажать Win+R и ввести `mstsc`.![](https://x5x.ru/upload/uploads/rdp-mstsc.png)

В появившемся окне программы **введите IP-адрес Вашего VPS** и нажмите на кнопку «**Продолжить**».![](https://x5x.ru/upload/uploads/rdp-ip.png)

При появлении окна с предупреждением о невозможности проверки подлинности компьютера нажмите «**Да**».

В появившемся окне **введите данные для входа в систему** (root пароль) и нажмите «**OK**».

### Рекомендации по безопасности <a href="#id-1" id="id-1"></a>

Из соображений безопасности крайне рекомендуется не использовать для подключения учётную запись root. Создайте обычного пользователя и используйте его данные для подключения через RDP-клиент.

Это можно сделать следующим образом:

```bash
useradd -m ИМЯ
passwd ИМЯ
```


# Установка RDP-сервера на Ubuntu

По умолчанию любой VPS с Ubuntu поставляется с доступом лишь к командной строке (SSH). Для некоторых задач может потребоваться доступ к графическому рабочему столу.

В этой статье мы рассмотрим установку графического окружения и xRDP-сервера на Ubuntu 20.04.

### Установка на Ubuntu 20.04 <a href="#debian" id="debian"></a>

Обновим список пакетов apt-get:

```bash
apt-get update && apt-get upgrade
```

Установим графическое окружение и сам xRDP-сервер:

```bash
apt-get -y install ubuntu-desktop xrdp
```

Запустим xRDP-сервер:

```bash
systemctl start xrdp
```

По умолчанию xRDP использует в своей работе файл `/etc/ssl/private/ssl-cert-snakeoil.key`, который доступен для чтения лишь членам группы `ssl-cert`. Для корректной работы нужно добавить пользователя `xrdp` в группу `ssl-cert`:

```bash
adduser xrdp ssl-cert
```

Теперь перезапустим xRDP:

```bash
systemctl restart xrdp
```

Далее разрешим подключения к порту 3389 через firewall UFW:

```bash
ufw allow 3389
```

### Подключение через RDP-клиент в Windows <a href="#rdp-windows" id="rdp-windows"></a>

В меню «**Пуск**» выберите программу «**Подключение к удаленному рабочему столу**». Можно также нажать Win+R и ввести `mstsc`.![](https://x5x.ru/upload/uploads/rdp-mstsc.png)

В появившемся окне программы **введите IP-адрес Вашего VPS** и нажмите на кнопку «**Продолжить**».![](https://x5x.ru/upload/uploads/rdp-ip.png)

При появлении окна с предупреждением о невозможности проверки подлинности компьютера нажмите «**Да**».

В появившемся окне **введите данные для входа в систему** (root пароль) и нажмите «**OK**».

### Рекомендации по безопасности <a href="#id-1" id="id-1"></a>

Из соображений безопасности крайне рекомендуется не использовать для подключения учётную запись root. Создайте обычного пользователя и используйте его данные для подключения через RDP-клиент.

Это можно сделать следующим образом:

```bash
useradd -m ИМЯ
passwd ИМЯ
```


# Установка RDP-сервера на Debian

По умолчанию любой VPS с Debian поставляется с доступом лишь к командной строке (SSH). Для некоторых задач может потребоваться доступ к графическому рабочему столу.

В этой статье мы рассмотрим установку графического окружения и xRDP-сервера на Debian.

### Установка на Debian <a href="#debian" id="debian"></a>

Обновим список пакетов apt-get:

```bash
apt-get update && apt-get upgrade
```

Установим графическое окружение и сам xRDP-сервер:

```bash
apt-get -y install gnome-desktop-environment xrdp
```

Отредактируем файл запуска xRDP для автоматической загрузки установленной нами оболочки Gnome:

```bash
apt-get -y install nano
nano /etc/xrdp/startwm.sh
```

В открывшемся редакторе добавьте следующие строки:

```
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
. /etc/X11/Xsession
gnome-session
```

**В конце файла обязательно нужно оставить пустую строку**. Для этого после gnome-session просто нажмите **`ENTER`**.\
Для сохранения изменений нажмите **`Ctrl+O`** и затем **`Ctrl+X`**.

Запустим xRDP-сервер:

```bash
service xrdp restart
```

### Подключение через RDP-клиент в Windows <a href="#rdp-windows" id="rdp-windows"></a>

В меню «**Пуск**» выберите программу «**Подключение к удаленному рабочему столу**». Можно также нажать Win+R и ввести `mstsc`.![](https://x5x.ru/upload/uploads/rdp-mstsc.png)

В появившемся окне программы **введите IP-адрес Вашего VPS** и нажмите на кнопку «**Продолжить**».![](https://x5x.ru/upload/uploads/rdp-ip.png)

При появлении окна с предупреждением о невозможности проверки подлинности компьютера нажмите «**Да**».

В появившемся окне **введите данные для входа в систему** (root пароль) и нажмите «**OK**».

### Рекомендации по безопасности <a href="#id-1" id="id-1"></a>

Из соображений безопасности крайне рекомендуется не использовать для подключения учётную запись root. Создайте обычного пользователя и используйте его данные для подключения через RDP-клиент.

Это можно сделать следующим образом:

```bash
useradd -m ИМЯ
passwd ИМЯ
```


# Панели управления


# Установка ISPmanager 5

**ISPmanager** - коммерческая и одна из ведущих многофункциональных панелей управления сервером через простой и интуитивно-понятный веб-интерфейс. Все основные операции по управлению сервером, такие как создание пользователей, сайтов, доменов, почтовых ящиков, выполняются парой кликов мыши.

### **Подготовка к установке**

**Перед установкой ISPmanager 5 важно подготовиться:**

1. &#x20;**У Вас должен быть готовый к работе сервер с доступом в Интернет.** Если у Вас его ещё нет, то можно купить у нас [здесь](https://vdsnow.ru/vds.html) или где-либо ещё.
2. &#x20;**Операционная система** должна быть из этого списка: CentOS 6, 7, 8, либо Debian 7, 8, 9, 10, либо Ubuntu. Разработчики очень рекомендуют использовать CentOS 7.
3. &#x20;**У Вас должна быть лицензия на ISPmanager 5.** Она стоит от 3 евро в месяц в зависимости от провайдера. [Купить ISPmanager 5](https://vdsnow.ru/software.html) можно и у нас.
4. &#x20;**Стоит также добавить, что сервер должен быть чистым.** То есть установить ISPmanager 5 на уже давно работающий сервер с сайтами Вы не сможете.

### Установка ISPmanager 5

Для начала установки войдите в SSH Вашего сервера под root и выполните:

```
wget http://cdn.ispsystem.com/install.sh
```

Далее запустите скрипт:

```
sh install.sh ISPmanager
```

Скрипт спросит Вас какую версию Вы хотите установить. Это может быть *beta* или *stable*. Рекомендуется выбирать *stable*, так как это стабильный набор ПО и функций. В то же время, *beta* обладает самым современным функционалом, но он может быть с ошибками.

Также скрипт может спросить, какой набор ПО Вы хотите установить. Это могут быть такие варианты:

*\* ISPmanager-Lite with recommended software* - всё, что нужно для работы сайтов.\
*\* ISPmanager-Lite minimal version* - минимальный набор ПО.\
*\* ISPmanager-Business* - версия Business для хостинг-провайдеров.

### **Вход в ISPmanager 5**

После окончания установки ISPmanager 5 будет доступен по адресу:\
`https://`*`<IP-адрес>`*`:1500/ispmgr`\
Для входа используйте логин *root* и его пароль.


# Установка BrainyCP

[**BrainyCP**](https://brainycp.com/) - удобная и современная панель управления хостингом, которая позволяет через удобный веб-интерфейс добавлять сайты, базы данных, почтовые аккаунты и выполнять множество других действий.

В данный момент **BrainyCP** поддерживает **только CentOS 7**, поэтому будьте внимательны и не пытайтесь установить её на другую ОС.

![](/files/-MFyaIqlFLrv7zMrd8As)

### Подготовка к установке

Для установки необходим чистый сервер с установленной CentOS 7, желательно в минимальной сборке. У Вас должен быть полный root-доступ к серверу.

Помимо этого необходимо установить пакет `wget`:

```
yum -y install wget
```

### Установка BrainyCP <a href="#brainycp" id="brainycp"></a>

Для установки BrainyCP выполните команды:

```
wget http://core.brainycp.com/install.sh
sh install.sh
```

Обратите внимание на то, что сайт BrainyCP предоставляет удобную возможность выбрать набор программного обеспечения (ПО), которое нужно установить на сервер. Сгенерировать команду для установки конкретного ПО можно здесь: <https://brainycp.com/download>.

Процесс установки занимает 10-30 минут в зависимости от конфигурации сервера.

### Вход в BrainyCP <a href="#brainycp-1" id="brainycp-1"></a>

После завершения установки панели управления войти в нём можно будет по ссылке:\
`https://`*`<IP-адрес>`*`:8000`

Для входа используйте имя пользователя *root*, а также его пароль.


# Установка HestiaCP

**HestiaCP** - функциональная панель управления хостинг-сервером, через которую можно легко и быстро добавлять домены, базы данных, почтовые ящики на сервер под управление Debian или Ubuntu.

Интерфейс панели управления HestiaCP выглядит вот так:

![](/files/-MFdmLAUm-cTR9glmGhk)

### **Подготовка к установке**

**Перед установкой HestiaCP необходимо проверить следующее:**

* Соответствие системным требованиям: требуется ОС Debian 9, 10, либо Ubuntu Server версии 16, 18, 20.
* Операционная система установлена в минимальной конфигурации, на сервере не установлен Apache, MySQL, а также он уже не настроен для размещения сайтов
* SELinux отключён (в файле `/etc/selinux/config` : `SELINUX=disabled`)

### Установка HestiaCP&#x20;

**Для начала установки выполните следующие команды:**

```
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh
```

При необходимости можно использовать следующие полезные опции:

* `--port` - использовать нестандартный порт, например, 9876
* `--clamav` - устанавливать или нет антивирус ClamAV, например, no
* `--multiphp` - устанавливать или нет несколько версий PHP, лучше выбрать `yes`
* `--quota` - использовать или нет системные квоты для регулирования потребления дискового пространства, по умолчанию отключено

### **Вход в HestiaCP**

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

`https://`*`<IP-адрес>`*`:8083`\
Логин: *admin*\
Пароль: будет показан после завершения установки


# Установка VestaCP

**VestaCP** - популярная бесплатная панель управления сервером, включающая в себя функционал для управления веб-сервером, сервером баз данных и почтовым сервером. Позволяет добавлять сайты, базы данных и почтовые ящики.

![](/files/-MFzd4WpqA4VP0DIjXzS)

### Подготовка к установке

**Перед установкой VestaCP необходимо проверить следующее:**

* **Соответствие системным требованиям**: требуется ОС CentOS, Debian, Ubuntu Server
* **Операционная система установлена в минимальной конфигурации**, на сервере не установлен Apache, MySQL, а также он уже не настроен для размещения сайтов
* **SELinux отключён** (в файле `/etc/selinux/config`: `SELINUX=disabled`)

### Установка VestaCP

Для начала установки выполните следующие команды:

```bash
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh
```

При необходимости можно использовать следующие ключи:

* `--force` - установить в любом случае

После выполнения команды `bash vst-install.sh` программа установки проверит соблюдение требований.

В том случае, если всё хорошо, программа установки поприветствует Вас и покажет, что именно будет установлено. Введите `y`.<br>

![](/files/-MFzc3Nhg9Mi1TlmFVZx)

Далее программа установки уточнит Ваш e-mail адрес, а также hostname сервера. Введите эти значения.\
После начнётся установка необходимых пакетов, процесс установки займёт 5-15 минут в зависимости от конфигурации сервера.

### **Вход в VestaCP**

**После завершения установки доступ к панели управления можно получить по ссылке:**\
`https://`*`<IP-адрес>`*`:8087`\
Логин: *admin*\
Пароль: будет показан после завершения установки

### **Возможные ошибки при начале установки**

На экране могут отображаться разного рода проблемы. Например:

**Following packages are already installed**

![](/files/-MFzcQ0FXFwoeYbv8bay)

Для решения этой проблемы нужно выполнить следующую команду:\
CentOS: `yum -y remove httpd httpd* bind`\
Debian/Ubuntu Server: `apt-get remove apache2 apache2* named`\
Наименование пакетов может незначительно различаться!

&#x20;**Error: not enough memory to install Vesta Control Panel**

![](/files/-MFzcVmgbmG5JP_8yvNs)

Такая ошибка может возникать на серверах минимальной конфигурации, объём оперативной памяти которых менее 350 Мб.&#x20;

Для решения этой проблемы выполните:

```bash
bash vst-install-rhel.sh --force
```


# Установка FASTPANEL

**FASTPANEL** - простая и быстрая панель управления сервером, заточенная на управление сайтами, базами данных, почтовыми ящиками. Позволяет установить всё необходимое ПО и управлять им.

![](/files/-MLDCoaLRSktFqLggH24)

Для установки FASTPANEL необходим сервер с установленной операционной системой Debian 8, Debian 9, Debian 10, Ubuntu 18.04, Ubuntu 20.04 или CentOS 7.

Запустить программу установки можно следующей командой:

```
wget http://repo.fastpanel.direct/install_fastpanel.sh -O - | bash -
```

После успешной установки Вы увидите данные доступа на экране.

При первом входе панель управления запросит у Вас лицензию, для её выпуска достаточно ввести Ваш e-mail адрес, данные о лицензии будут высланы Вам на него.

В случае, если Вы случайно забыли сохранить данные доступа, то для сброса пароля пользователя `fastuser` используйте команду в SSH:

```
mogwai chpasswd -u fastuser -p <НОВЫЙ_ПАРОЛЬ>
```


# Установка Webmin

[**Webmin**](http://www.webmin.com/) - современная панель управления для любого сервера на базе Linux. Она позволяет управлять сервером через простой и понятный веб-интерфейс, поддерживает огромное количество программного обеспечения. Как правило, используется профессионалами.

В этой статье мы разберём установку и настройку Webmin на сервере под управлением CentOS 7.

### Установка Webmin <a href="#webmin" id="webmin"></a>

В первую очередь для установки Webmin на CentOS 7 нужно добавить репозиторий, который содержит необходимые для работы Webmin пакеты.

На CentOS 7 пакетами управляет Yum, именно в него мы и добавим необходимый репозиторий.

Создайте и откройте для редактирования файл используя свой любимый редактор (nano, mcedit, vi):

```bash
nano /etc/yum.repos.d/webmin.repo
```

Далее добавьте в файл следующие строки:

{% code title="/etc/yum.repos.d/webmin.repo" %}

```
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
```

{% endcode %}

Сохраните изменения и выйдите из редактора.

Далее нужно установить PGP от создателей Webmin для того, чтобы Yum мог доверять только что добавленному репозиторию:

```bash
wget http://www.webmin.com/jcameron-key.asc
sudo rpm --import jcameron-key.asc
```

Теперь Вы можете установить Webmin с помощью команды:

```bash
yum -y install webmin
```

Как только установка будет выполнена, Вы увидите примерно следующий вывод:

```
Webmin install complete. You can now login to https://<Ваш-домен>:10000/ as root with your root password.
```

Как видно из вывода, Вы можете войти в Webmin по ссылке:\
`https://`*`<IP-адрес>`*`:10000`

В качестве логина используйте *root*, а в качестве пароля - пароль пользователя root.


# Диагностика сети с помощью MTR

**MTR — инструмент для диагностики сети, позволяющий наглядно увидеть, на каком из маршрутизаторов начинаются сетевые проблемы.**\
Инструмент по сути объединяет в себе функциональность таких утилит, как ping и traceroute, а также дополняет их информацией о минимальном, среднем и максимальном времени отклика маршрутизатора, а также о потерях пакетов, если таковые имелись.

### Использование в ОС Windows

В операционных системах Windows для диагностики сети с помощью MTR существует утилита [WinMTR](https://sourceforge.net/projects/winmtr/).

![](/files/-ML7aXemG1OQso8T2-q7)

* [Скачайте](https://sourceforge.net/projects/winmtr/) и запустите программу WinMTR от имени администратора.
* В окне программы сначала нажмите на **`Options`**, а затем в открывшемся окне отключите параметр **`Resolve names`**.

![](/files/-ML7aaAeMsJJ23QE2Qwz)

* Для запуска диагностики в поле ***`Host`*** введите доменное имя или IP-адрес проверяемого сервера. После чего нажмите на кнопку **`Start`**.
* В результате на экране начнут появляться строки с маршрутом до сервера, указанного в поле ***`Host:`***

![](/files/-ML7adIJ69vFTGudu7S8)

* Подождите несколько минут, чтобы в колонке ***`Sent`*** было хотя бы 1000 пакетов.
* Для сохранения результатов нажмите на **`Copy Text to clipboard`**, либо на **`Export TEXT`**, чтобы сохранить результаты как файл. Полученный результат нужно отправить нам.

### Использование в Linux

В Linux установить утилиту MTR можно с помощью менеджера пакетов используемой Вами ОС.

{% tabs %}
{% tab title="CentOS" %}

```
yum install mtr
```

{% endtab %}

{% tab title="Debian / Ubuntu" %}

```
apt-get install mtr
```

{% endtab %}
{% endtabs %}

После завершения установки утилиты достаточно выполнить одну простую команду:

```
mtr -rn -c 1000 <СЕРВЕР>
```

Где `1000` - количество пакетов, а `<СЕРВЕР>` - доменное имя или IP-адрес проверяемого сервера.

В результате в консоли начнут появляться строки с маршрутом до сервера, который Вы указали в команде выше.

Полученный результат нужно скопировать и отправить нам.


