Unity Vuforia и кнопочка «выход»

Случилось сегодня приложение для дополненной реальности тестировать на смартфоне, семейства Samsung, у которого сенсорные кнопки для закрытия приложения, отображения списка открытых приложений отсутствовали как класс. Может быть каким-то хитрым жестом руки это всё и работает, но я так сходу не разобрался.

А стало быть срочно следует добавить в приложение кнопочку «Выход». И сделать это очень просто — создаём C# «Exit» скрипт со следующим кодом:

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Exit : MonoBehaviour
 {
void OnGUI()
          {
if (GUI.Button(new Rect(10, 70, 50, 30), «Выход»)) {
Debug.Log(«Clicked the exit button»);
Application.Quit();
          }
     }

 }

Теперь перетащим его на ARCamera в Unity и перекомпилируем приложение. Готова кнопочка, даже работает. 🙂

 

Размещаем сайт на VPS с нуля. Часть 7. Получаем SSL: не очевидная проблема.

В настоящее время сайты массово переходят на протокол https. HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443.

Если сайт не использует HTTPS, то современный браузер выдаёт сообщение «подключение к сайту не защищено». Кроме то в кабинете вебмастера нам будут настойчиво использовать шифрование. Для использования HTTP нам понадобится SSL-сертификат. Сертификат можно купить (оплата ежегодная) или взять свободно предоставляемый от компании https://letsencrypt.org/.

Мы воспользуемся вторым вариантом. Нам понадобится certbot. В Debian 9 он уже должен быть в репозиториях, а значит соединяемся с нашим сервером по putty и вводим команду:

apt-get install certbot

После установки бота получим сертификат на домен virtuatouch.ru командой (соответственно домен virtuatouch.ru меняется на ваш)

certbot certonly —webroot -w /var/www/virtuatouch.ru -d virtuatouch.ru -d virtuatouch.ru

у нас запросят e-mail и… всё это может закончиться былинным отказом. А дело в правилах ЧПУ, которые мы прописывали в 6-й часте.

У меня бот заработал только после того, как открыл lighttpd.conf — nano /etc/lighttpd/lighttpd.conf и убрал правила, удалил этот блок:

$HTTP[“host”] =~ “virtuatouch.ru” {
url.rewrite-final = (
# Exclude directories
“^/(wp-admin|wp-includes|wp-content)/(.*)” => “$0”,
# Exclude root php files
“^/(.*.php)” => “$0”,
# Handle permalinks and feeds
“^/(.*)$” => “/index.php/$1”
)
}

Перезапустил lightttpd командой systemctl restart lighttpd после чего снова запустил

apt-get install certbot

Всё прошло хорошо и в папке /etc/letsencrypt/live/virtuatouch.ru появились файлы сертификатов. Однако к этому каталогу мы должны предоставить доступ для lightttpd. Пропишем следующие команды:

chown :www-data /etc/letsencrypt
chown :www-data /etc/letsencrypt/live
chmod g+x /etc/letsencrypt
chmod g+x /etc/letsencrypt/live

ighttpd требует, чтобы сертификат и закрытый ключ были в одном файле. Стало быть их нужно объединить командой:

cat /etc/letsencrypt/live/virtuatouch.ru/privkey.pem /etc/letsencrypt/live/virtuatouch.ru/cert.pem > /etc/letsencrypt/live/virtuatouch.ru/merged.pem

Файлы privkey.pem и cert.pem будут объединены и сохранены как merged.pem.

Возвращаемся к редактированию конфигурационного файла lighttpd.conf

nano /etc/lighttpd/lighttpd.conf

прописываем

$SERVER[«socket»] == «:443» {
ssl.engine = «enable»
ssl.ca-file = «/etc/letsencrypt/live/virtuatouch.ru/chain.pem»
ssl.pemfile = «/etc/letsencrypt/live/virtuatouch.ru/merged.pem»

$HTTP[«host»] == «virtuatouch.ru» {
ssl.ca-file = «/etc/letsencrypt/live/virtuatouch.ru/chain.pem»
ssl.pemfile = «/etc/letsencrypt/live/virtuatouch.ru/merged.pem»
}

}

Опционально можно задать принудительное использование HTTPS.

$HTTP[«scheme»] == «http» {
$HTTP[«host»] =~ «.*» {
url.redirect = («.*» => «https://%0$0»)
}
}

Можно также вернуть наши правила для ЧПУ ссылок для WordPress. !Да решение ну очень «не промышленное», но иного я пока что не нашёл. Как найду — обязательно напишу, или напишите Вы в комментариях!. 

Сохраняем файл и перезапускаем lightttpd.

systemctl restart lighttpd

Сертификат выдаётся на 90 дней! После чего, где-то за неделю, нужно обновление. Это осуществляется командой:

certbot renew

После чего вновь используем команду:

cat /etc/letsencrypt/live/virtuatouch.ru/privkey.pem /etc/letsencrypt/live/virtuatouch.ru/cert.pem > /etc/letsencrypt/live/virtuatouch.ru/merged.pem

По большому счету надо бы обновления сертификатов автоматизировать, используя crontab. Но из-за конфликта с правила для ЧПУ-ссылок WordPress пока оставляю так.

 

C#-скрипт для дополненной реальности. Автофокусировка камеры.

Если Вы работаете с плагином Vuforia для дополненной реальности в Unity, то этот скрипт может оказаться весьма полезен. Он отвечает за автофокусировку камеры. Выбираем ARCamera — AddComponent — New script, добавляем под именем, например, CameraFocusController и вводим этот код:

 

using UnityEngine;
using System.Collections;
using Vuforia;

public class CameraFocusController : MonoBehaviour
{

// code from Vuforia Developer Library
// https://library.vuforia.com/articles/Solution/Camera-Focus-Modes
void Start()
{
var vuforia = VuforiaARController.Instance;
vuforia.RegisterVuforiaStartedCallback(OnVuforiaStarted);
vuforia.RegisterOnPauseCallback(OnPaused);
}

private void OnVuforiaStarted()
{
CameraDevice.Instance.SetFocusMode(
CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}

private void OnPaused(bool paused)
{
if (!paused) // resumed
{
// Set again autofocus mode when app is resumed
CameraDevice.Instance.SetFocusMode(
CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
}
}

Компилируем, пробуем под ОС Андроид. Всё должно получиться. 🙂

Размещаем сайт на VPS с нуля. Часть 6. Установка WordPress.

Ну что ж, теперь у нас есть web-сервер lighttpd, интерпретатор php, сервер-баз данных maridb, ftp, припаркованное доменное имя. Всё готов для установки WordPress!

Заходим на ru.wordpress.org и скачиваем архив с вышеуказанной cms. Распакуем скачанный архив и перейдём внутрь распакованной папки. Перейдём в папку WordPress. Собственно всё вот эти файлы сейчас уже можно «залить» по ftp, но мы сделаем немного не так. Выделим их и снова сожмём в архив tar. Для этого я воспользуюсь программой 7-zip.

Далее через FileZilla отправляем архив tar по ftp в папку virtuatouch.ru. Открываем putty, подключаемся к нашему серверу. Переходим в директорию virtuatouch.ru

cd /var/www/virtuatouch.ru

Далее распаковываем tar-архив:

tar -xvf wordpress.tar

Заходим по адресу virtuatouch.ru и видим стандартную установку WordPress. Сервер базы данных оставляем как localhost. Имя пользователя — phpmyadmin. Пароль пользователя — тот, который мы указывали в этой заметке: https://makson.ru/razmeshhaem-sajt-na-vps-s-nulya-chast-4-ustanavlivaem-mysql-mariadb-i-phphmyadmin/

А вот имя базы… Базу придётся создать, можно через phpmyadmin. Опять же мы это делали здесь: https://makson.ru/razmeshhaem-sajt-na-vps-s-nulya-chast-4-ustanavlivaem-mysql-mariadb-i-phphmyadmin/

 

После соединения с базой данных wordpress попросит указать логин и пароль администратора сайта. Вводим данные ии.. установка закончена? Ну почти..

Ссылки на новости/статьи по умолчанию вордпресс формирует как http://имясайта/?p=1, а если мы хотим, чтобы в ссылки было название статьи, типа https://makson.ru/razmeshhaem-sajt-na-vps-s-nulya-chast-5-parkovka-domennogo-imeni/ — это уже называется Человеко-Понятные УРЛ (ЧПУ). Отвечают за это правила, прописанные в файле .htaccess системы WordPress. Вот толкьо правила эти воспринимаются веб-сервером apache, а у нас lighttpd.

Но нас это не остановит. Заходим через putty в наш веб-сервер и прописываем:

nano /etc/lighttpd/lighttpd.conf

Находим

server.modules = (
«mod_access»,
«mod_alias»,
«mod_compress»,
«mod_redirect»,
«mod_rewrite»,
)

Добавляем внутри фигурных скобок строку «mod_rewrite», чтобы получилось так:

server.modules = (
«mod_access»,
«mod_alias»,
«mod_compress»,
«mod_redirect»,
«mod_rewrite»,
)

далее в конце файла прописываем такие правила:

#Permalink settings

$HTTP[«host»] =~ «virtuatouch.ru» {
url.rewrite-final = (
# Exclude directories
«^/(wp-admin|wp-includes|wp-content)/(.*)» => «$0»,
# Exclude root php files
«^/(.*.php)» => «$0»,
# Handle permalinks and feeds
«^/(.*)$» => «/index.php/$1»
)
}

Сохраняем файл и перезапускаем lighttpd.

systemctl restart lighttpd

 

Теперь в WordPress можем перейти в Настройки — Постоянные ссылки. В группе Общие настройки выбираем Произвольно. В строке ввода вводим /%postname%/ Всё должно заработать.

Ну и что на этом всё? Сайты открываются, php работает, MySQL есть, phpmyadmin тоже.. Ан нет. Во-первых у нас еще нет SSL-сертфиикатов для протокола HTTPS, а они нужны. И нет автоматического резервного копирования. А оно тоже очень требуется.

Так что ещё будут как минимум две статьи.

Размещаем сайт на VPS с нуля. Часть 5. Парковка доменного имени.

То, что наши php-файлы открываются по Ip-адресу сервера — это, конечно, хорошо. Но ещё лучше, если наши странички будут открывать по доменам.

При покупки доменного имени следует обращать внимание не только на непосредственно его стоимость регистрации, но и на стоимость продления. Многие компании (например 2domains, nethouse и др.) условно регистрирует имя в зоне ru за 100 р, а продлевают за 500.

Благо сейчас довольно безболезненно можно перенести домен от одного регистратора к другому (я так и сделал, перейдя от 2domains.ru к atname.ru).

По наиболее приемлемым ценам доменные имена продлевает уже упомянутый выше atname.ru и вполне адекватные цены у eternalhost.net

Домен можно вообще бесплатно зарегистрировать в зоне tk, через сайт freenom.com О том, как это сделать можно посмотреть, к примеру, у меня на Youtube: https://youtu.be/e7vhV6oHdWM

Но как «прикрепить» его к нашему VPS? Для начала создадим директорию отдельного сайта. В качестве примеру я буду использовать имя virtuatouch.ru

Соединяемся с нашим vps через putty и открываем для редактирования файл  lighttpd.conf

nano /etc/lighttpd/lighttpd.conf

в самом конце файла прописываем:

$HTTP[«host»] == «virtuatouch.ru» {
server.document-root = «/var/www/virtuatouch.ru»
}

Теперь создадим директорию:

mkdir /var/www/virtuatouch.ru

Перезапустим lighttpd

systemctl restart lighttpd

На всякий случай

chown www-data:web /var/www/ -R

Далее нам нужно сделать так, чтобы при наборе virtuatouch.ru пользователю предоставлялся ip-адрес нашего сервера. Я предлагаю использовать DNS Yandex.

DNS (англ. Domain Name System «система доменных имён») — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства).

Нам понадобится почта от yandex.ru. Авторизовываемся в почте и переходим по ссылке https://connect.yandex.ru

Во вкладке Вебмастер выбираем «Добавить домен» Далее я ввожу virtuatouch.ru

После чего вхожу в личный кабинет того регистратора, через которого была произведена регистрация. В моём случае это atname.ru. В личном кабинете выбираю перейти к управлению — virtuatouch.ru — управление ДНС-серверами/делегирование. В графе ДНС1 ввожу: ns1.reg.ru ДНС2: ns2.reg.ru

Теперь, когда мы нажмём на наименование домена в личном кабинете регистратора, в почявившемся окне станет доступен пункт Управление зоной ДНС. Нажмём по нему.

Yandex-connect Требует подтверждения прав на домен, возвращаемся в https://connect.yandex.ru нашего добавленного домена и выбираем способ подтверждения DNS. Добавьте в DNS-записи сайта virtuatouch.ru TXT-запись yandex-verification: тут код

Воспользуемся этим. Для этого в Управление зоной ДНС регистратора пропишем примерно так:

Теперь в connect.yandex.ru нажимаем «проверить». Однако для обновления ns-записей домена должно пройти определённое время. Следует набраться терпения.

После подтверждения в дальнейшем мы изменим dns от reg на dns yandex и настроим домен на ip-адрес нашего vpn.

После подтверждения делегируем домен на серверы Яндекса. Для этого в кабинете регистратора (в моём случае atname.ru) следует выбрать «мои домены» — virtuatouch.ru — управление ДНС-серверами/делегирование. В графе ДНС1 ввожу: dns1.yandex.net в графе ДНС2: dns2.yandex.net

В Яндекс.Коннект перейдём в раздел управление DNS нашего домена. Выберем «Добавить DNS-запись». Введём следующие значения:

Добавим также запись CNAME, чтобы наш домен открывался и с www.

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

 

Размещаем сайт на VPS с нуля. Часть 4. Устанавливаем MySQL (MariaDB) и Phphmyadmin.

Без базы данных никуда. Можно, конечно, информацию и в файлах хранить, но мы воспользуемся системой MySQL. Точнее её «форком» MariaDB. Прописываем:

apt-get -y install mariadb-server

Далее запускаем MySQL-сервер командой:

systemctl start mariadb

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

systemctl enable mariadb

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

mysql_secure_installation

На вопрос системы Enter current password for root (enter for none):  просто нажмём Enter.

Далее на все вопросы отвечаем Y.

Также нам нужно будет установить root-пароль суперпользователя MariaDB. Это не тот root, под которым мы входим в систему!


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

apt-get install phpmyadmin

В следующем окне стрелками передвигаем указатель на пункт lighttpd и нажимаем пробел (ставим точку напротив соответствующего пункта:

В следующем окне выбираем Yes.

Далее у нас спросят пароль. Введём и запомни его. Это пароль пользователя phpmyadmin. В процессе инсталляции система может выдать некую ошибку. Игнорируем её.

Теперь переместим пакет phpmyadmin из  /usr/share/phpmyadmin в /var/www командой

mv /usr/share/phpmyadmin /var/www/html

Отредактируем lighttpd.conf

nano /etc/phpmyadmin/lighttpd.conf

заменим соответствующий путь к phpmyadmin

# Alias for phpMyAdmin directory

alias.url += (

«/phpmyadmin» => «/var/www/html/phpmyadmin»,

)

Сохраним изменения и перезапустим lighttpd.

systemctl restart lighttpd

 

Теперь в браузере можем открыть: ип-адрес нашего сервера/phpmyadmin/

В открывшемся окне введём имя пользователя: phpmyadmin

Пароль: тот, что мы указывали ранее. Всё должно открыться. НО! Если мы перейдём в пункт «Базы данных» система нам выдаст, что для создания новой базы у нас нет привилегий. Не порядок. Возвращаемся в консоль и вводим команду:

mysql

Появится сообщение вида

MariaDB [(none)]>

Вводим:

GRANT ALL PRIVILEGES ON *.* TO ‘phpmyadmin’@’localhost’ WITH GRANT OPTION;

Нажимаем Enter. Далее вводим:

FLUSH PRIVILEGES;

Нажимаем Enter, далее вводим exit и снова Enter.

Снова входим в phpmyadmin через браузер.

Вводим phpmyadmin в поле пользователь и соответствующий пароль. Входим в пункт «базы данных». Теперь мы можем создать базу. Назовём её, к примеру, test. В поле «сравнение» выберем utf8_general_ci.

Теперь создадим файл db.php со следующим содержанием:

<?php
$host = ‘localhost’; // адрес сервера
$database = ‘test’; // имя базы данных
$user = ‘phpmyadmin’; // имя пользователя
$password = ‘пароль пользователя’; // пароль

// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database)
or die(«Ошибка » . mysqli_error($link));

if (mysqli_connect($host, $user, $password, $database)) {
echo «Всё хорошо»;
}
// закрываем подключение
mysqli_close($link);
?>

Отправим его по ftp на наш хостинг и перейдём в браузере по адресу: ип-адрес сервера/db.php

Если мы всё сделали верно, то получим сообщение «Всё хорошо«.

Отлично! В следующий раз мы начнём парковать доменные имена к нашему серверу.

Размещаем сайт на VPS с нуля. Часть 3. Устанавливаем интерпретатор PHP.

Продолжаем разговор. Web-сервер есть, ftp есть, пришло время установиться интерпретатор PHP, как fast cgi.

Подключаемся через putty к нашему серверу и вводим команду

apt-get -y install php-fpm php-mysql 

ждём. Далее нам нужно отредактировать файл php.ini, вводим:

nano /etc/php/7.0/fpm/php.ini

раскомментируем (уберем точку с запятой) строку cgi.fix_pathinfo=1

Для поиска можно нажать комбинацию CTRL+W. А вообще по редактору Нано есть отличная заметка здесь: https://habr.com/ru/post/106554/

Далее отредактируем файл www.conf, введя команду:

nano /etc/php/7.0/fpm/pool.d/www.conf

В нашем случае мы будем использовать не Unix Socket, а TCP Socket.

Находим строку listen = /run/php/php7.0-fpm.sock

и меняем её на listen = 127.0.0.1:9000

Перезапускаем сервис PHP-FPM

systemctl restart php7.0-fpm

Отредактируем файл 15-fastcg-php.conf нашего веб-сервера

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf

Находим строки

«bin-path» => «/usr/bin/php-cgi»,
«socket» => «/var/run/lighttpd/php.socket»,

и меняем их на

«host» => «127.0.0.1»,
«port» => «9000»,

Сохраняем файл (CTRL+X, потом соглашаемся со внесёнными изменениями, нажав клавишу Y) Активируем модули FastCGI and FastCGI-PHP командами в консоле:

lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php

Перезапускаем web-сервер.

systemctl restart lighttpd

 

Создаём php-файл.

nano /var/www/html/info.php

В открывшемся окне редактора nano вводим:

<?php

phpinfo();

?>

Сохраняем (Ctrl+X, Y). Открываем в браузере ip-адрес нашего сервера/info.php — если всё нормально, появятся сведения о PHP.

Очень хорошо, но давайте теперь подправим нашу загрузку по ftp. Как я и говорил, предыдущие настройки, когда пользователь имеет доступ ко всем файлам системы, очень не безопасен. Кроме того lighttpd запущен под пользователем www-data, который входит в группу www-data. Php-файлы должны исполнятся именно под www-data.

Создадим пользователя web.

adduser web

зададим ему пароль и на все остальные вопросы системы можно просто нажать enter.

Внесём web в группу www-data и дадим права на запись в каталог /var/www/

chown www-data:web /var/www/ -R

Изменим конфигурационный файл vsftpd.conf таким образом, чтобы в нём остались следующие параметры:

nano /etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
ftp_username=www-data
chmod_enable=YES
chown_uploads=YES
chown_username=www-data
guest_username=www-data
force_dot_files=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=1024
pasv_max_port=65535
max_clients=10
max_per_ip=10
port_promiscuous=YES
port_enable=YES
listen_port=21
ftp_data_port=20
user_sub_token=$USER
hide_ids=YES
user_config_dir=/etc/vsftpd
chroot_local_user=YES
allow_writeable_chroot=YES

Сохраним изменения (Ctrl+X, Y) и создадим директорию

mkdir /etc/vsftpd

перейдём в неё:

cd /etc/vsftpd

Создадим и откроем в nano файл с именем нашего нового пользователя (web)

nano web

Внесём следующую запись в редакторе nano

local_root=/var/www/

Сохраняем файл.

service vsftpd restart

Запускаем FileZilla и соединяемся с нашим сервером уже под пользователем web и указанным при создании пользователя паролям. Можно создать файл, например, test.php со следующим содержанием:

<?php

echo «Я файл, отправленный по ftp!»;

?>

Отправим его через filezilla на наш VPS и перейдём в браузере по ip-адрес-сервера/test.php

Должна появится соответствующая надпись.

В следующий раз мы будем устанавливать MariaDB и phpmyadmin.

 

 

Размещаем сайт на VPS с нуля. Часть 2. Устанавливаем FTP-сервер.

В прошлый раз мы установили веб-сервер lighttpd и даже зашли на web-страничку заглушку. Кстати знающие люди ещё советуют после установки web-сервера ввести вот такую команду:

systemctl start lighttpd

если по какой-то причине он не запустился.

systemctl запускает, останавливает, перезагружает и перезапускает службы.

Так хорошо, страничка открылась. Значит как минимум у нас работает html и, используя силу web 1.0 мы даже можем что-то такое написать. Но как загрузить свои html-странички?

Сама страничка-заглушка находится в директории /var/www. Попасть туда можно, например, используя тот же Midnight Commander и редактировать файл текстовым редактором nano (f4 в коммандере).  Но это удовольствие ещё то. 🙂

А можно поставить ftp-сервер и заменять файлы простым копированием. Для этого нам понадобится установить Very Secure FTP Daemon (vsftpd)

Прописываем:

apt-get install vsftpd

Теперь нам нужно отредактировать конфигурационный файл. Набираем mc и переходим в директорию /etc/.  Там находим файл vsftpd.conf, нажимаем f4 — система предложит каким редактором открыть. Нажимаем 1, тем самым выбрав консольный редактор nano.

Или можно было ввести команду: nano /etc/vsftpd.conf

Снимаем комментарий (убираем символ #) со строк:

local_enable=YES (разрешить подключение с учетными данными локальных пользователей).

write_enable=YES (разрешить полный доступ (чтение/запись) по FTP.)

также находим строку

pam_service_name=vsftpd

и меняем на

pam_service_name=ftp

Сохраняем файл (ctrl+x, после чего соглашаемся с внесёнными изменениями, нажав Y).

Перезапускаем vsftpd командой

service vsftpd restart

Отлично! Теперь нам нужен почтовый клиент. Я использую FileZilla. Создаём новое подключение к сайту, вводим ip-адрес нашего сервера, а также присланные логин и пароль. Если всё сделано верно — окажемся в директории root. Перейдём выше — ух ты нам доступны все папки нашей ос! Это не очень безопасно, имейте ввиду! Правильнее было бы создать отдельного пользователя, чтобы он имел доступ только к своей директории! Но пока оставляем так. Переходим в папку /var/www/html и находим там index.lighttpd.html — вот он наш файл-заглушка.

Можно скопировать его, изменить, отправить обратно и снова в веб-браузере зайти по нашему IP.

Размещаем сайт на VPS с нуля. Часть 1. Устанавливаем ОС и веб-сервер.

Долой коммуналку! Хочу отдельную квартиру… своему сайту. Сайтам проще, в отличие от людей. Если shared-хостинг стал тесноват, или есть какие-либо специфические задачи (например интернет-радио) пришло время арендовать Virtual Private Server (VPS) — изолированную часть сервера с гарантированными ресурсами. Хотя тут как сказать… порой дорогой shared-хостинг гораздо лучше держит нагрузку, чем дешёвая VPS. Плюс на shared, как правило, очень удобное панелька управления, автобэкапы, да ещё и подключение бесплатного ssl в один клик.

На дешёвом же VPS всё это нужно настраивать самостоятельно. Ну или взять дорого тариф, прикрутить какую-нибудь панель вроде VestaCP и все будет работать. Но.. мы пойдём сложным путём. И тариф будет самый дешёвый, и установим необходимые компоненты «с нуля», ну и в конфигах покопаемся.

Сам vps предоставлен компанией https://eternalhost.net/ — позиционируют себя, как хостинг с единовременной оплатой. То есть заплатил раз тысяч 6 и пользуешься услугами постоянно. Ну как постоянно, пока жива компания. 🙂 Собственно самый дешёвый «вечный» vps-тариф и был приобретён. Конфигурация: 1 x 2.8 ГГц CPU, 1 ГБ DDR4, 16 ГБ SSD. Когда-то о таком компьютере только и мечтал, а сейчас это самый старт. Установку windows server на такую конфигурацию не поддерживают, только вариант ОС Linux/FreeBSD. Хотя подгрузить свой образ операционной системы после обращения в техподдержку можно.

После оплаты тарифа (можно также платить по месячно) на почту приходит ссылка с учетными данными. Заходим в панель управления, где и модем выбрать одну из операционных систем. Переходим у «Управление» — «Переустановить».

Debian, выбираю тебя! Хотя бы в честь того, что у меня Debian 7 используется на работе на компьютере в качестве ОС управления прокси-сервером. Так что пусть будет Debian.

Есть ещё графа «рецепт». Это значит установится ОС и панель управления. Нам никакой рецепт не нужен и вот почему:

для функционирования CMS WordPress как минимум требуется три компонента: веб-сервер, php-интерпретатор и сервер баз данных. По умолчанию всё эти «рецепты» устанавливаю веб-сервер apache. Или же apache+nginx (последний как кеширующий прокси). WordPress 5+ со всякими виджетами, выводящими что-то из базы, потребляет ресурсов будь здоров и на стартовом тарифе уже при 50 одновременных пользователей наш сервачок ляжет. Я проверял при помощи loaddy.com. Выход или переходить на более дорогой тариф, или использовать другую CMS, или… установить веб-сервер lighttpd. Нагруженный wordpress lighttpd вполне себе держал при 100 одновременных посетителей. Да генерировалось страничка медленно, но работало. Вот его мы и будем использовать.

После нажатия «Ок» следует немного подождать — устанавливается наша ОС.

Далее для удобства хороши бы скачать маленькую программку — Putty. С её помощью мы будем подключаться к нашему серверу. https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Запускаем Putty, вводим ip-адрес нашего vps и нажимаем кнопку «Open». Встречает нас вот такое унылое оконце.

Копируем имя пользователя в присланном письме и в этом окошке нажимаем правую кнопку мыши. Система вставит данные из буфера обмена. Нажимаем enter, после чего система запросит пароль. Копируем его и снова вставляем правой кнопкой мыши. Только вот сам пароль не появится. Нажали правую кнопку мыши, нажали enter. Если пароль верен, то мы увидим уже приветствие.

А, а, а где окошки?? Где тут мышкой щелкать? Нигде. У нас тут эконом-класс. Таких удобств не предусмотрено, всё командами. Welcome 70-е! Хорошо, что хоть команды можно вставлять из буфера аналогично тому, как вставляли логин. Правой кнопкой мыши да.

Например команда lsb_release -a покажет версию Linux.

ls -a покажет какие файлы есть в директории.

cd — перемещение по директориям (папкам).

Впрочем немного удобства в наш эконом-класс добавить можно. А именно консольный файловый менеджер Midnight Commander. Устанавливает командой apt-get install mc. Соглашаемся с тем, что программка займет место на диске (нажимаем Y), ждём установки и вводим mc.

Уууух.. как 90-ми запахло-то да? Вот эти дорогущие 386-е компьютеры, MS DOS и Нортон Коммандер. Эконом-класс, привыкаем, ребята. Следующая команда установит веб-сервер lighttpd.

Вводим: apt-get -y install lighttpd

Жмём enter, ждём и…. теперь вводим в браузере ip-адрес нашего vps. Должна появиться «заглушка» — Placeholder page. Появилась? Отлично. На этом первая часть настройки VPS закончена. 🙂