Первинне налаштування сервера.
Основи роботи з Linux. -> Завдання.
Засідання на самостійне опрацювання.
Встановити дистрибутив на базі Debian на флеш-накопичувач і зробити його завантажувальним.
Варіанти.
1 Ubuntu
2 Xubuntu
3 Lubuntu
4 Linux Mint
Встановити кілька версій python та надати можливість вибору версії за промовчанням.
Створити нового користувача.
Включити користувача в sudoers.
Зробити те щоб команда sudo запускалася без запиту пароля.
Згенерувати кілька ключів.
Додати публічний ключ до репозиторію github.
Зробити перехід у довільний каталог під час запуску терміналу.
Основи роботи з Linux. -> Первинне налаштування сервера.
Первинне налаштування сервера. Робота із сервером за протоколом ssh.
Генерація ключів.
ssh-keygen
Виведення ключа в терміналі
cat ~/.ssh/id_rsa.pub
Команда копіювання публічного ключа.
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 руками.
Проблема з локаллю.
Перевіряємо локаль.
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
Проверим теперь.
Додавання користувача.
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
Створення віртуального оточення.
Встановлення
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'