Шпаргалка по Ubuntu 18

Как открыть терминал (консоль)?

Ctrl+Alt+T

Как изменить горячие клавиши для смены раскладки (языка)?

Надо установить gnome-tweaks: sudo apt-get install gnome-tweak-tool
Далее команда gnome-tweaks и выбираем "Клавиатура и мышь".
Под "Комбинация клавиш ... " есть кнопка "Дополнительные параметры раскладки" нажимаем и в окне выбираем "Переключение на другую раскладку".

Аналог программы Total Commander?

Double Commander: sudo apt install doublecmd-qt

Разрешить PhpStorm работать с проектом в /var/www/

$ chown -R www-data.www-data /var/www/laravel
$ chmod -R 755 /var/www/laravel
$ chmod -R 777 /var/www/laravel/storage

Добавление сайта (apache)

sudo cp /etc/apache2/sites-available/example.conf  /etc/apache2/sites-available/new_site.conf

В новом файле указываем ServerName и DocumentRoot

sudo nano /etc/hosts

Добавляем хост

Далее sudo a2ensite new_site.conf и sudo service apache2 restart

Sprinthost

ssh a1111111@XX.XX.XX.XX

curl -sS https://getcomposer.org/installer | php

php composer.phar dumpautoload

Frontend

sudo npm install --unsafe-perm=true --allow-root

Ошибка при npm run serve Error: ENOSPC: System limit for number of file watchers:

sudo nano /etc/sysctl.conf

добавить в конец файла fs.inotify.max_user_watches=524288

после сохранения проверить sudo sysctl -p

Смена php в ubuntu 20

sudo update-alternatives --config php

sudo service apache2 restart

SSH

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

! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _` { | }”

/etc/ssh/sshd_config — конфиг демона SSH.

Ключевая пара SSH — закрытый ключ и открытый ключ. Для их генерации используется команда ssh-keygen

ВАЖНО:

перед любыми действиями с настройками SSH держите второе окно с открытой SSH-сессией, так как при ошибочных действиях повторно подключиться к серверу вы сможете только через VNC-клиент.

Рекомендуемые для изменения директивы:

Port — смена порта, где располагается служба по умолчанию.
PubkeyAuthentication yes — включение авторизации по ssh-ключам.
PermitEmptyPasswords no — запрет использования пустых паролей.
PasswordAuthentication no — запрет авторизации по паролю в принципе.  (не меняйте, пока не убедитесь, что авторизация по SSH-ключам работает)

Опционально
ListenAddress 188.120.242.XXX — указываем конкретный IP, на котором будет располагаться служба. По умолчанию на всех.
PermitRootLogin no — запрет авторизации пользователя root.
AllowUsers User1 User2 — разрешение на подключение конкретных пользователей.

~/.ssh - скрытая служебная директория ssh в директории пользователя.
~/.ssh/authorized_keys — файл с открытыми ключами.
ssh-copy-id — команда для копирования ssh-ключей на удаленный сервер

SSH-ключи представляют собой пару — закрытый и открытый ключ. Закрытый должен храниться в закрытом доступе у пользователя, открытый остается на сервере и размещается в файле .authorized_keys.

Сначала генерируем ключи:

Введите путь файла, в который будут помещены ключи. Каталог по умолчанию указан в скобках, в примере /домашний_каталог/.ssh/id_rsa. Если хотите оставить расположение по умолчанию, нажмите Enter.

Пароль (passphrase) используется для ограничения доступа к закрытому ключу. Пароль усложнит использование ключа третьими лицами в случае утраты. Если не хотите использовать секретную фразу, нажмите Enter без заполнения строки.

Открытый ключ хранится в файле /домашний_каталог/.ssh/id_rsa.pub, закрытый — /домашний_каталог/.ssh/id_rsa

Скопируйте открытый ключ на сервер в файл  /домашний_каталог/.ssh/authorized_keys. Одной строкой:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Забираем приватный ключ. Вводим команду (если создавали как в примере):
cat ~/.ssh/id_rsa

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

Важно далее никуда его не распространять, содержимое этого файла должно быть известно только вам.
Далее приватный ключ нужно разместить на вашем локальном компьютере, с которого подключаетесь.

Если это ОС Linux (Ubuntu Desktop, Linux Mint, Manjaro и т.д.):

Можно воспользоваться утилитами для копирования - например, rsync. Она должна быть установлены как на вашем ПК, так и на сервере.

где:
rsync -v - утилита для копирования, ключ -v покажет, что было скопировано.
root@192.168.0.2 - имя пользователя и адрес сервера, к которому подключаетесь.
/root/.ssh/id_mykey - путь до секретного ключа на вашем сервере.
/home/myuser/.ssh - директория, куда будет скопирован секретный ключ

Поменять порт

ss -tln4 | grep 2007

Запуск исполняемых bash-скриптов

Чтобы запустить скрипт script.sh на сервере, нужно выполнить два шага:

  1. Настроить права на запуск файла для пользователей:
  2. Запустить скрипт. Если вы находитесь в той же директории, где лежит скрипт, достаточно вызвать его по имени:

    В некоторых случаях нужно использовать команду sh либо указать путь к исполняемому файлу командной оболочки:

    либо

    Если вы находитесь в другой директории, для запуска нужно указать полный путь к скрипту.

Чтобы иметь возможность запускать скрипт из любого места на сервере одной простой командой, можно создать для него алиас — короткую команду (псевдоним), которая будет ассоциироваться системой с полным вызовом скрипта.

Создать свой постоянный алиас можно с помощью файла .bashrc, размещённого в домашнем каталоге вашего пользователя. Нужно открыть его для редактирования:

В соответствующем разделе нужно добавить ваш алиас в следующем формате:

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

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

После этого вы сможете вызывать ваш скрипт с помощью короткой команды.

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