Установка Multicraft на Ubuntu Server | Информационные технологии от Вальдемарыча

Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Multicraft на Ubuntu Server.

Multicraft — это комплексное решение для хостинга серверов Minecraft.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 18.04 LTS.

Подробно о том, как установить Ubuntu Server 18.04 LTS, вы можете прочитать в моем руководстве «Установка Ubuntu Server 18.04 LTS».

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

Для установки OpenSSH на сервер вы можете воспользоваться командой:

sudo apt-get install openssh-server

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

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.

Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к вашему серверу:

  • 80 — для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
  • 443 — для доступа к панели управления Multicraft.
  • 25565 — для доступа клиента Minecraft к серверу Minecraft.

Обратите внимание, порт 25565 используется по умолчанию для подключения клиента Minecraft к серверу Minecraft, но вы можете использовать и другие порты для запуска нескольких серверов Minecraft. Например, первый сервер Minecraft, запущенный при помощи Multicraft, будет использовать порт 25581; второй сервер, запущенный при помощи Multicraft, будет использовать порт 25582 и так далее. В таком случае, в клиенте Minecraft потребуется указать не только IP-адрес или имя сервера Minecraft, но и порт, по которому к серверу следует подключаться. Например, minecraft.heyvademar.net:25581.

Подключаемся к серверу, на который планируется установить Multicraft.

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

Вводим “yes” и нажимаем на кнопку «Enter».

В данном руководстве рассматривается получение бесплатного криптографического сертификата через центр сертификации Let’s Encrypt. Для получения и последующего обновления бесплатного SSL-сертификата, мы будем использовать программный клиент Certbot, который призван максимально упростить получение и обновления сертификата через центр сертификации Let’s Encrypt.

Добавим репозиторий Certbot с помощью команды:

sudo add-apt-repository ppa:certbot/certbot

Нажимаем на кнопку «Enter», чтобы подтвердить добавление нового репозитория.

Теперь установим пакеты, необходимые для работы Multicraft с помощью команды:

sudo apt-get install -y apache2 mysql-server php libapache2-mod-php php-mysql php-gd php-cli php-common php-mbstring php-ldap php-odbc php-pear php-xml php-xmlrpc php-bcmath php-pdo certbot python-certbot-apache default-jdk git zip unzip

Обратите внимание, в данном руководстве в качестве системы для управления базами данных будет использоваться MySQL, а в качестве веб-сервера — Apache.

Настроим Apache для последующей работы с панелью управления Multicraft.

Включаем модуль веб-сервера Apache под названием rewrite с помощью команды:

sudo a2enmod rewrite

Обратите внимание, модуль rewrite является одним из самых часто используемых модулей веб-сервера Apache и предоставляет гибкий и мощный способ манипулирования URL-адресами.

Теперь необходимо внести изменения в конфигурационный файл Apache, открыв его в текстовом редакторе с помощью команды:

sudo vim /etc/apache2/apache2.conf

Нажимаем на кнопку «i», чтобы перейти в режим редактирования, находим параметр «AllowOverride» для каталога «/var/www/» и указываем для параметра значение «All».

Обратите внимание, «AllowOverride All» — указывает, что для корневого каталога виртуального хоста и всех вложенных нужно использовать «.htaccess».

Теперь нажмите на кнопку «Esc», чтобы выйти из режима редактирования, а затем введите «:x» и нажмите на кнопку «Enter», чтобы сохранить изменения и выйти из редактора.

Теперь нужно создать файл виртуального хоста (в Nginx называется блок) с которым в дальнейшем будет работать панель управления Multicraft.

Создадим файл виртуального хоста воспользовавашиь текстовом редактором с помощью команды:

sudo vim /etc/apache2/sites-available/multicraft.heyvaldemar.net.conf

В данном руководстве, для доступа к панели управления Multicraft из сети Интернет будет использоваться субдомен multicraft.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен по которому ваша панель управления Multicraft будет доступна из сети Интернет.

Нажимаем на кнопку «i», чтобы перейти в режим редактирования, затем вставляем следующую конфигурацию для работы веб-сервера:

<VirtualHost *:80>
	ServerAdmin callvaldemar@gmail.com
	ServerName multicraft.heyvaldemar.net
	DocumentRoot /var/www/html/multicraft
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

В данном руководстве, для доступа к панели управления Multicraft из сети Интернет будет использоваться субдомен multicraft.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен по которому ваша панель управления Multicraft будет доступна из сети Интернет.

Теперь нажмите на кнопку «Esc», чтобы выйти из режима редактирования, а затем введите «:x» и нажмите на кнопку «Enter», чтобы сохранить изменения и выйти из редактора.

Активируем созданный виртуальный хост с помощью команды:

sudo a2ensite multicraft.heyvaldemar.net.conf

В данном руководстве, для доступа к панели управления Multicraft из сети Интернет будет использоваться субдомен multicraft.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен по которому ваша панель управления Multicraft будет доступна из сети Интернет.

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

sudo a2dissite 000-default.conf

Убедимся, что в синтаксе нового конфигурационного файла Apache нет ошибок с помощью команды:

sudo apache2ctl configtest

Перезапустим Apache, чтобы применить внесенные изменения с помощью команды:

sudo systemctl restart apache2

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

sudo systemctl status apache2

Теперь, чтобы повысить уровень безопасности веб-сервера, необходимо получить криптографический сертификат для домена или субдомена по которому панель управления Multicraft будет доступна из сети Интернет.

Для получения и последующего обновления бесплатного SSL-сертификата, мы будем использовать центр сертификации Let’s Encrypt и программный клиент Certbot, который призван максимально упростить получение и обновления сертификата через центр сертификации Let’s Encrypt.

В данном руководстве, для доступа к панели управления Multicraft из сети Интернет будет использоваться субдомен multicraft.heyvaldemar.net. Вам нужно будет указать ваш домен или субдомен по которому ваша панель управления Multicraft будет доступна из сети Интернет.

Запросим криптографический сертификат с помощью команды:

sudo certbot --apache -d multicraft.heyvaldemar.net

Далее указываем адрес электронной почты, на который Let’s Encrypt будет присылать уведомления о истечении срока криптографического сертификата, и нажимаем на кнопку «Enter».

На следующем этапе необходимо прочитать и принять условиями использования предоставляемых сервисов.

Нажимаем на кнопку «a», затем «Enter», если вы согласны с условиями использования предоставляемых сервисов.

На следующем этапе необходимо выбрать хотите ли вы поделиться указанным ранее адресом электронной почты с Electronic Frontier Foundation для получения информационных рассылок.

Нажимаем на кнопку «n», затем «Enter».

На следующем этапе необходимо выбрать хотите ли вы, чтобы в конфигурационный файл Apache были автоматически добавлены параметры для автоматического перенаправления HTTP-трафика на HTTPS.

Нажимаем на кнопку «2», затем «Enter».

Обратите внимание, криптографические сертификаты полученные через центр сертификации Let’s Encrypt действительны в течение девяноста дней. Certbot автоматически добавляет скрипт для обновления сертификата в планировщик задач и скрипт запускается два раза в день автоматически обновляя любой криптографический сертификат, срок действия которого истекает в течение тридцати дней.

Проверить работоспособность процесса обновления криптографического сертификата можно с помощью команды:

sudo certbot renew --dry-run

Теперь настроим MySQL для последующей работы с панелью управления Multicraft.

Для начала необходимо запустить скрипт «mysql_secure_installation», который предназначен для обеспечения базового уровня безопасности MySQL.

Запускаем скрипт с помощью команды:

sudo mysql_secure_installation

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

Первый вопрос о том хотите ли вы воспользоваться плагином для проверки надежности пароля, который необходимо будет задать позже для пользователя «root», обладающего правами администратора в MySQL.

Нажимаем на кнопку «y», затем «Enter».

На следующем этапе необходимо выбрать уровень проверки сложности пароля, который необходимо будет задать позже для пользователя «root», обладающего правами администратора в MySQL.

В данном руководстве мы будем рассматривать самый высокий уровень проверки надежности пароля для пользователя «root».

Нажимаем на кнопку «2», затем «Enter».

На следующем этапе необходимо указать надежный пароль для пользователя «root», обладающего правами администратора в MySQL.

Указываем надежный пароль для пользователя «root» и нажимаем на кнопку «Enter».

Далее указываем пароль для пользователя «root» еще раз и нажимаем на кнопку «Enter».

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

Обратите внимание, если указанный вами пароль будет иметь значение «Estimated strength of the password» менее 100, то значит, что указанный вами ранее пароль для пользователя «root» не достаточно надежный и нужно указать более надежный пароль.

В данном руководстве значение «Estimated strength of the password» равно 100, что говорит о том, что указанный ранее пароль является достаточно надежным.

Нажимаем на кнопку «y», затем «Enter».

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

Нажимаем на кнопку «y», затем «Enter».

Следующий вопрос о том хотите ли вы отключить возможность удаленного подключения к MySQL для пользователя «root».

Нажимаем на кнопку «y», затем «Enter».

Теперь необходимо применить внесенные изменения.

Нажимаем на кнопку «y», затем «Enter».

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

Подключаемся к консоли управления MySQL с помощью команды:

sudo mysql -u root -p

Указываем пароль от ученой записи «root» заданный ранее и нажимаем на кнопку «Enter».

В данном руководстве, в качестве имени базы данных для работы панели управления Multicraft будет использоваться «multicraft_panel».

Создадим базу данных, которую в дальнейшем будет использовать панель управления Multicraft с помощью команды:

CREATE DATABASE multicraft_panel CHARACTER SET utf8 COLLATE utf8_general_ci;

В данном руководстве, в качестве имени пользователя обладающего правами на базу данных для работы панели управления Multicraft будет использоваться «multicraftpaneldbuser», с паролем «c7_Qm,A+;eq}=UHq5yW».

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

GRANT ALL PRIVILEGES ON multicraft_panel.* TO 'multicraftpaneldbuser'@'localhost' IDENTIFIED BY 'c7_Qm,A+;eq}=UHq5yW';

В данном руководстве, в качестве имени базы данных для работы демона Multicraft будет использоваться «multicraft_daemon».

Создадим базу данных, которую в дальнейшем будет использовать демон Multicraft с помощью команды:

CREATE DATABASE multicraft_daemon CHARACTER SET utf8 COLLATE utf8_general_ci;

В данном руководстве, в качестве имени пользователя обладающего правами на базу данных для работы демона Multicraft будет использоваться «multicraftdaemondbuser», с паролем «zkJ3Xpr7f>/TLSYw6Zk».

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

GRANT ALL PRIVILEGES ON multicraft_daemon.* TO 'multicraftdaemondbuser'@'localhost' IDENTIFIED BY 'zkJ3Xpr7f>/TLSYw6Zk';

Применим внесенные изменения с помощью команды:

FLUSH PRIVILEGES;

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

quit

Теперь загрузим архив «multicraft.tar.gz», содержащий файлы для установки Multicraft с помощью команды:

sudo wget http://www.multicraft.org/download/linux64 -O multicraft.tar.gz

Распакуем загруженный архив «multicraft.tar.gz» с помощью команды:

sudo tar xvzf multicraft.tar.gz

Перейдем в папку «multicraft» с помощью команды:

cd multicraft

Теперь запустим установочный скрипт Multicraft с помощью команды:

sudo ./setup.sh

Далее необходимо ответить на несколько вопросов установщика Multicraft.

Первый вопрос о том нужно ли запускать каждый сервер Minecraft использую отдельного пользователя.

Нажимаем на кнопку «y», затем «Enter».

На следующем этапе нужно указать пользователя, который будет использоваться для запуска панели управления Multicraft.

В данном руководстве для запуска для запуска панели управления Multicraft будет использоваться пользователь «minecraft».

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

Следующий вопрос о том стоит ли создать нового пользователя «minecraft» для последующего панели управления Multicraft.

Нажимаем на кнопку «y», затем «Enter».

На следующем этапе можно выбрать каталог, куда следует установить панель управления Multicraft.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

На следующем этапе можно указать лицензионный ключ Multicraft.

Обратите внимание, для запуска одного сервера Minecraft с помощью панели управления Multicraft лицензионный ключ не требуется. Подробнее о стоимости лицензий для панели управления Multicraft можно ознакомится по ссылке https://www.multicraft.org/site/page/pricing

В данном руководстве панель управления Multicraft будет использована для запуска одного сервера Minecraft.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

Следующий вопрос касается управления несколькими сервера при помощи панели управления Multicraft. Если у вас имеется несколько серверов для управления через веб-интерфейс, то каждому управляющему сервером демону нужно присвоить уникальный номер.

В данном руководстве панель управления Multicraft будет управлять одним сервером.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

Следующий вопрос о том будет ли панель управления Multicraft работать на текущем сервере.

Нажимаем на кнопку «y», затем «Enter».

На следующем этапе нужно указать пользователя веб-сервера.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

На следующем этапе можно выбрать каталог, куда следует установить файлы веб-панели Multicraft.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

На следующем этапе необходимо указать надежный пароль для демона.

Обратите внимание, установленный на данном этапе пароль для демона потребуется указать позже на финальном этапе установки панели управления Multicraft.

Указываем надежный пароль для демона и нажимаем на кнопку «Enter».

Следующий вопрос о том нужно ли включить встроенный сервер FTP.

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

Нажимаем на кнопку «y», затем «Enter».

На следующем этапе необходимо указать IP-адрес сервера на котором будет запущен встроенный сервер FTP.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

На следующем этапе необходимо указать порт на котором будет доступен встроенный сервер FTP.

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

Следующий вопрос о том нужно ли блокировать загрузку файлов с расширением «.jar» и других исполняемых файлов загружаемых при помощи встроенного сервера FTP.

Нажимаем на кнопку «n», затем «Enter».

На следующем этапе необходимо указать систему для управления базами данных, которая будет использоваться для работы с демоном Multicraft.

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

Указываем «mysql», затем нажимаем на кнопку «Enter».

На следующем этапе необходимо указать IP-адрес сервера на котором находится база данных для работы демона Multicraft.

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

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

На следующем этапе необходимо указать имя присвоенное базе данных для работы демона Multicraft, которая была создана ранее.

В данном руководстве, в качестве имени базы данных для работы демона Multicraft используется «multicraft_daemon».

Оставляем значение по умолчанию и нажимаем на кнопку «Enter».

На следующем этапе необходимо указать имя присвоенное пользователю, который был создан ранее и которому были выданы права на базу данных для работы демона Multicraft.

В данном руководстве, в качестве имени пользователя обладающего правами на базу данных для работы демона Multicraft используется «multicraftdaemondbuser».

Указываем «multicraftdaemondbuser», затем нажимаем на кнопку «Enter».

На следующем этапе необходимо указать пароль присвоенный пользователю, которому были выданы права на базу данных для работы демона Multicraft.

Указываем пароль присвоенный пользователю «multicraftdaemondbuser», затем нажимаем на кнопку «Enter».

Все готово для начала установки панели управления Multicraft.

Нажимаем на кнопку «y», затем «Enter».

Первый этап установки успешно завершен.

Нажимаем на кнопку «Enter».

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

Нажимаем на кнопку «y», затем «Enter».

Для продолжения процесса установки панели управления Multicraft необходимо с рабочей станции перейти по ссылке https://multicraft.heyvaldemar.net/install.php, где multicraft.heyvaldemar.net — имя моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера с установленной панелью управления Multicraft.

Нажимаем на кнопку «Start Installation».

Далее установщик проверит, что все требования для корректно установки панели управления Multicraft соблюдены.

Нажимаем на кнопку «Continue».

На следующем шаге установщик скопирует конфигурационный файл панели управления Multicraft в каталог с файлами для веб-панели Multicraft.

Нажимаем на кнопку «Continue».

Теперь необходимо указать систему для управления базами данных, которая будет использоваться для работы с панелью управления Multicraft.

В поле «Database Type» выбираем «MySQL».

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

В поле «Database Host» указываем «127.0.0.1».

В данном руководстве, в качестве имени базы данных для работы панели управления Multicraft используется «multicraft_panel».

В поле «Database Name» указываем «multicraft_panel».

В данном руководстве, в качестве имени пользователя обладающего правами на базу данных для работы панели управления Multicraft используется «multicraftpaneldbuser».

В поле «Database Username» указываем «multicraftpaneldbuser».

В поле «Database Password» указываем пароль присвоенный пользователю «multicraftpaneldbuser».

Нажимаем на кнопку «Save».

Далее необходимо инициализировать базу данных.

Нажимаем на кнопку «Initialize Database».

База данных успешно инициализирована.

Нажимаем на кнопку «Continue».

Теперь необходимо войти в панель управления Multicraft под учетной записью администратора Multicraft и завершить процесс установки.

Нажимаем на кнопку «Login».

Логин для для учетной записи администратора Multicraft по умолчанию: admin

Пароль для для учетной записи администратора Multicraft по умолчанию: admin

Указываем имя пользователя и пароль учетной записи, обладающей правами администратора Multicraft и нажать на кнопку «Login».

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

Нажимаем на кнопку «Continue».

Теперь необходимо указать систему для управления базами данных, которая будет использоваться для работы с демоном Multicraft.

В поле «Database Type» выбираем «MySQL».

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

В поле «Database Host» указываем «127.0.0.1».

В данном руководстве, в качестве имени базы данных для работы демона Multicraft используется «multicraft_daemon».

В поле «Database Name» указываем «multicraft_daemon».

В данном руководстве, в качестве имени пользователя обладающего правами на базу данных для работы демона Multicraft используется «multicraftdaemondbuser».

В поле «Database Username» указываем «multicraftdaemondbuser».

В поле «Database Password» указываем пароль присвоенный пользователю «multicraftdaemondbuser».

Нажимаем на кнопку «Save».

Далее необходимо инициализировать базу данных.

Нажимаем на кнопку «Initialize Database».

База данных успешно инициализирована.

Нажимаем на кнопку «Continue».

В поле «Administrator contact Email» необходимо указать электронный адрес по которому можно связаться с администратором панели управления Multicraft.

В поле «Password for daemon connections» необходимо указать пароль заданный для демона ранее на этапе использовании установочного скрипта в терминальном эмуляторе.

Нажимаем на кнпопку «Save».

Теперь необходимо запустить демон Multicraft.

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

sudo /home/minecraft/multicraft/bin/multicraft -v start

Возвращаемся в панель управления Multicraft и нажимаем на кнопку «Refresh».

Демон успешно запущен.

Нажимаем на кнопку «Continue».

Установка панели управления Multicraft успешно завершена.

Нажимаем на кнопку «Continue to Multicraft».

Добро пожаловать в панель управления Multicraft.

Теперь, в целях обеспечения безопасности, необходимо удалить файл «install.php», который использовался в ходе установки Multicraft.

Возвращаемся в терминальный эмулятор и удаляем файл «install.php» с помощью команды:

sudo rm -f /var/www/html/multicraft/install.php

Выйдем из каталога «multicraft» с помощью команды:

cd ..

Теперь удалим каталог «multicraft», содержащий файлы для установки Multicraft с помощью команды:

sudo rm -rf multicraft

Теперь удалим ранее загруженный архив «multicraft.tar.gz», содержащий файлы для установки Multicraft с помощью команды:

sudo rm -f multicraft.tar.gz

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

Загрузим заранее подготовленный разработчиками Multicraft юнит с параметрами запуска сервиса Multicraft в каталог «/etc/systemd/system/» с помощью команды:

sudo wget http://www.multicraft.org/files/multicraft.service -O /etc/systemd/system/multicraft.service

Назначим корректные права на юнит «multicraft.service» с помощью команды:

sudo chmod 644 /etc/systemd/system/multicraft.service

Включаем автозапуск сервиса Multicraft при запуске операционной системы с помощью команды:

sudo systemctl enable multicraft

Теперь необходимо указать актуальный адрес электронной почты и задать новый пароль для учетной записи администратора Multicraft.

Возвращаемся в панель управления Multicraft и переходим на вкладку «Users», затем нажимаем на кнопку «My Profile».

В поле «Email» указываем актуальный адрес электронной почты администратора Multicraft.

В поле «Current Password» указываем текущий пароль администратора Multicraft.

В поле «New Password» и «Confirm Password» указываем новый пароль администратора Multicraft.

Нажимаем на кнопку «Save» для сохранения изменений.

Теперь необходимо войти в панель управления Multicraft под учетной записью администратора Multicraft используя новый пароль.

Нажимаем на кнопку «Login».

Далее необходимо указать имя пользователя и пароль учетной записи, обладающей правами администратора Multicraft и нажать на кнопку «Login».

Нажимаем на кнопку «Close», если вы согласны с лицензионным соглашением Minecraft.

Подробно с лицензионным соглашением Minecraft можно ознакомится по ссылке https://www.minecraft.net/ru-ru/eula/.

Все готово для использования панели управления Multicraft.

Далее вам может потребоваться выполнить обновление Spigot.

Spigot — это модифицированный сервер Minecraft, созданный на основе ядра CraftBukkit. Spigot известен своей стабильностью, производительностью, поддержкой большого количества плагинов и призван заменить CraftBukkit.

Подробно о том, как обновить Spigot на Ubuntu Server с Multicraft, вы можете прочитать в моем руководстве «Обновление Spigot на Ubuntu Server с Multicraft».

Также в моем руководстве «Запуск сервера Minecraft с помощью Multicraft» вы можете узнать о том, как запустить сервер Minecraft с помощью Multicraft.

Автор

Привет, я Владимир Михалев, но друзья зовут меня Вальдемарыч. Я обладаю практическим опытом проектирования и сопровождения различных информационных систем. На моем веб-сайте ты найдешь подробные и понятные руководствами по настройке ИТ-решений. Окунись в океан, полный позитива и технологий! По вопросам сотрудничества: callvaldemar@gmail.com

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.