Размещаем сайт на 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.

 

 

Всегда должен быть «План B»

Даже если мы не успеем перевести нашего нового «маскота» студенческого кружка, всегда есть старая добрая 2D-анимация в After Effects, способная оживить любое изображение. Да нужно «посидеть» над полигональной сеткой, «поднастроить» точки анимации и ключевые кадры, но это всё равно вариант. Простой, вполне рабочий и не особо требовательной к аппаратной части наших компьютеров.

Итого задача минимум: использовать нашего «виртуального лектора» в 2D.

Задача максимум перевести его в полноценное 3D в 3DS Max.

Кстати, нужно придумать имя котику. Если есть варианты — прошу написать в комментариях. И в заключении примитивный вариант анимации, что называется «на коленке». 🙂

Читаем программу дополнительных занятий и техническую литературу

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

Я пытаюсь встретиться с журналистом, дабы рассказать об этой технологии, однако журналист посчитал меня сумасшедшим и просто ушел. Меж тем уже наступал вечер, и мой путь лежал через остановку, на которой уже дежурил тот киборг. Да надо терминатора меньше смотреть, я знаю. Почему-то я знал,что неподалеку есть парк, где когда-то давно закопали винтовку. Ну что делать, домой-то надо идти. Почему-то во сне я помнил, что робот не должен выследить мою квартиру, иначе конец.

Откопав оружие я попытался проскочить мимо остановки — не удалось. Сенсоры робота сработали идеально, выстрелы по нему также не возымели эффекта — хорошо бронирован. Он схватил меня и тут вспомнил, что когда-то давно давно читал научную фантастику о том, как один изобретатель придумал изделие, облучающее военные машины, от чего последние вдруг резко ржавели быстро и решительно, обращаясь просто в горку мусора. Рассказ так и назывался — «Ржавчина». Очень захотел себе такое. Ну сон же — появилось. Представляет собой длинный треугольник с кнопкой. Вершиной треугольник наводится на металл, нажимается кнопка, секунд 8 — металла нет, только ржавчина. Собственно это изобретение меня и спасло во сне 🙂 Наверное, это такой редкий случай, когда мне помогла художественная, а не техническая литература. 🙂

Но мы же с вами не хотим, чтобы наши роботы на нас нападали? А посему срочно за технические книжки! Тем более я закончил программу наших дополнительных занятий. Скачать её можно здесь — https://yadi.sk/i/xYTtkjLwbzgnCA

А обсудить здесь: https://makson.ru/forum/viewtopic.php?f=35&t=1057

На каждого злобного робота из будущего у нас будет несколько своих. Добрых и ответственных. 🙂

 

Нам нужен «Маскот»!

Маскот — это персонаж-талисман. У Linux — это Пингвин Тукс, у Nintendo — водопроводчика Марио, у Sega — ёжик Соник. У нас тоже должен быть. Персонаж, который станет героем анимации, игр, артов.

Есть хомячок Эврик, но он такой маленький, что, наверняка, ему пригодится помощь. А с чего начинается создание маскота? Конечно же с артов, с идеи и рисунков.

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

Начнём же работы по переводу котика в 3D, ну а дальше — короткометражная анимация в 3ds max с нашим котиком. 🙂

Размещаем сайт на 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 закончена. 🙂

Отправляем информацию с микро-usb на компьютер по wi-fi и ftp

Жил-был умный роутер. Стояла в нём сетевая флэшка. Шли грузчики, диваном махнули — флешечку погнули. На флэшке-то куча всего важного. Если присмотреться в картинку, можно увидеть, что «ножки несколько отошли» от основной схемы. Паяльником бы их, но а если нет такого под рукой?

Впрочем без паники, ведь на флэшке есть ещё разъём «микро usb». В компьютер без переходника мы её не установим, а вот в смартфон без проблем. Умный смартфон под андроид вполне себе определит и flash, и её содержимое. Остаётся как-то передать данные со смартфона. Порт занят, так что кабель отпадает. По bluetooth это будет крааайне медленно.

Но ведь есть wi-fi. А значит можно организовать сеть между двумя компьютерами. Современные смартфоны под управлением ОС Android — это ведь мощнейшие изделия. Итак для копирования файлов с андроида на ПК по wi-fi нам понадобится:

  1. Собственно сам wi-fi-роутер.
  2. Приложение Wi-Fi Pro FTP-сервер, которое установим на смартфон (платное, около 15 рублей).\
  3. Программа FileZilla на компьютере.

Итак, подключаем к wi-fi и ставим приложение. В настройках выбираем Корневая папка — Custom folder.

В открывшемся окне выбираем название нашей флешки (в моём случае называлась lan).

Теперь остаётся нажать кнопку «запустить» в приложении.

Тут же нам показывают внутренний ip-сервера и порт. Теперь можно перейти к добавлению сайта в программе filezilla. Собственно переносим информацию туда.

Нажимаем соединиться и всё. Можно переносить наши файлики.

Вот и всё. Осталось только перепаять флэшку. 🙂

Время подтянуть «блогинг»

Пришло время подтянуть «блогинг», в том числе и видео. На youtube-каналах полный бардак, будем исправлять и с завтрашнего дня я начинаю «писательский» challenge — каждый день буду выкладывать какую-либо заметку на makson.ru, связанную с информационными технологиями. Посмотрим, сколько дней «протяну»? 

Ну и конечно, youtube: https://www.youtube.com/channel/UCCMUogs-DQ84JIGWexV492w — видео, посвящённые колледжу агротехнологий и городу Гусеву.

https://www.youtube.com/channel/UCH6p4tT5eMkDi2R8H3fYkRA — игровой канал.

https://www.youtube.com/channel/UCYdvPVX3p_q27Qy7movUW1w — Образовательный контент.