Первинне налаштування сервера.

Засідання на самостійне опрацювання.

Встановити дистрибутив на базі Debian на флеш-накопичувач і зробити його завантажувальним.

Варіанти.

1 Ubuntu

2 Xubuntu

3 Lubuntu

4 Linux Mint

Встановити кілька версій python та надати можливість вибору версії за промовчанням.

Створити нового користувача.

Включити користувача в sudoers.

Зробити те щоб команда sudo запускалася без запиту пароля.

Згенерувати кілька ключів.

Додати публічний ключ до репозиторію github.

Зробити перехід у довільний каталог під час запуску терміналу.

Основи роботи з Linux. -> Первинне налаштування сервера.

Первинне налаштування сервера. Робота із сервером за протоколом ssh.

Генерація ключів.

ssh-keygen

Виведення ключа в терміналі

cat ~/.ssh/id_rsa.pub

start page

Команда копіювання публічного ключа.

ssh-copy-id root@servaername.com

Створення аліасу для швидкої команди підключення.

У файлі .bash_aliases домашньої директорії прописуємо.

alias putin='ssh root@tity.webmonstr.com'

Команда з’єднання з сервером

ssh username@host
ssh root@mydomain.com
ssh root@234.12.5.67

Оновлення репозиторію.

sudo apt update

Далі встановимо

sudo apt install software-properties-common

Ця бібліотека надає інструменти для керування репозиторієм apt (додавання та видалення джерел додатків) через команди, інакше довелося б редагувати файл /etc/apt/sources.list.d руками.

Проблема з локаллю.

start page

Перевіряємо локаль.

locale -a

Locale - це локалізація Linux яка визначає, в якому кодуванні користувач бачить все в терміналі.

Встановимо редактор nano

apt install nano

Відкриємо для редагування файлів /etc/locale.gen

nano /etc/locale.gen

Шукаємо через ctrl+W en_US

Розкоментуємо рядок

en_US.UTF-8 UTF-8
uk_UA.UTF-8 UTF-8

І збережемо через ctr+O та Enter і ctrl+x - виходимо.

Залишилося згенерувати локаль

sudo locale-gen

start page

Проверим теперь.

start page

Додавання користувача.

sudo adduser webmaster

Перехід на довільного користувача

su webmaster

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

Перевірити, які користувачі мають право запускати команди через sudo, можна командою.

sudo whoami

У файлі /etc/sudoers містяться користувачі та групи, які це можуть.

Включити користувача в sudoers.

sudo adduser <username> sudo

sudo usermod -a -G sudo <username>

Зробити безпарольний запуск.

username  ALL=(ALL) NOPASSWD:ALL

%sudo   ALL=(ALL:ALL) NOPASSWD: ALL

Налаштування Python.

sudo apt install python2 python3 -y

y - автоматична згода на питання при встановленні

Коли ми маємо справу з кількома версіями однієї команди, наприклад

python
python2
python3

Подивитися, де знаходяться бінарники.

 which python2
 which python3

Зручно використовувати інструмент update-alternatives для керування перемиканням використання версії за замовчуванням.

Встановимо пітон по старше з репозиторію “мертвих змій”.

sudo add-apt-repository ppa:deadsnakes/ppa

Офіційні репозиторії Ubuntu хоч і містять величезну кількість пакетів, важкодоступних для звичайних розробників, у них складно підтримувати актуальні версії своєї програми та й взагалі не кожен проект має шанс туди потрапити. Для створення власного репозиторію необхідні ресурси як мінімум сервер і непогані навички адміністратора. Все це створює деякі перешкоди для розповсюдження програм для Ubuntu.

(Personal Package Arhive - PPA) - сервіс для звичайного користувача, який дає можливість будь-кому створити свій репозиторій.

Оновлюємо, ставимо.

apt update
apt install python3.7

Додаємо альтернативи.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2

Вибираємо

sudo update-alternatives --config python

start page

Створення віртуального оточення.

Встановлення

apt install python3.7-venv python3.7-dev

Створіння

python3 -m venv venv

Активація

. ./venv/bin/activate

Встановлення бібліотек.

pip install django
pip install pytelegrambotapi

Створення та запуск проекту Django у скрині

Встановлюємо скрини

apt install screen

Створюємо скрін

screen -S dj

Створюємо проект та запускаємо сервер

django-admin startproject prj
cd prj
./manage.py migrate
./manage.py createsuperuser
./manage.py runserver 0.0.0.0:8080

Відключаємось від скрина по ctrl+A потім D

Виведення запущених скрин.

screel -ls

Підключення до скрин

screen -r <id або name>

До чужого скрина в розрахованому на багато користувачів режимі

screen -x <id или name>

Встановлення додаткового ПЗ

apt install htop mc git wget nginx

Запуск команд віддалено

ssh root@tiny.webmonstr.com 'ls'