Содержание
Обновление
apt update -y && apt full-upgrade -y && apt autoremove -y && apt autoclean -y && apt clean -y
Обновление через прокси-сервер
Для команды Apt требуется своя настройка прокси-сервера. Нужно создать новый файл с конфигурацией:
vi /etc/apt/apt.conf.d/00proxy.conf
Acquire::http::Proxy "http://10.128.2.51:8080/";
Acquire::https::Proxy "https://10.128.2.51:8080/";
SSH ограничить адрес или поменять порт
SSHd now uses socket-based activation Ubuntu 22.10 or later.
vi /lib/systemd/system/ssh.socket
ListenStream=IP1:22
ListenStream=IP2:2222
systemctl daemon-reload
systemctl restart ssh
netstat -tulpn
SFTP
useradd cdp
passwd cdp
mkdir -p /sftp_root/cdp/cdp
chown -R cdp:cdp /sftp_root/cdp/cdp
nano /etc/ssh/sshd_config
добавляем:
Port 2222
Match LocalPort 2222
ChrootDirectory /sftp_root/%u
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
Match User cdp, LocalPort 22
DenyUsers cdp
service ssh restart
на 1 раз (до перезагрузки):
mount --bind /www/cdp/html /sftp_root/cdp/cdp
на постоянную:
vi /etc/fstab
добавить строку:
/www/cdp/html /sftp_root/cdp/cdp none rw,bind 0 0
перезагрузить сервер: reboot
поиск и проверка смонтированного:
findmnt
HAProxy
https://www.haproxy.com/blog/how-to-install-haproxy-on-ubuntu/
apt install --no-install-recommends software-properties-common
add-apt-repository ppa:vbernat/haproxy-2.4 -y
apt install haproxy=2.4.\*
haproxy -v
Добавить русскую локализацию на сервер
https://obu4alka.ru/rusificziruem-ubuntu-server-16-04-lts.html
Zabbix
https://bestmonitoringtools.com/how-to-install-zabbix-server-on-ubuntu/
apt install php7.4-fpm
add-apt-repository ppa:ondrej/nginx-mainline
apt install nginx-core nginx-common nginx nginx-full
Утилита zabbix_get, оказывается, не устанавливается вместе с сервером Zabbix, нужно установить отдельно:
apt install zabbix-get
Цветовая схема VIM
https://www.cyberciti.biz/faq/turn-on-or-off-color-syntax-highlighting-in-vi-or-vim/
для текущей сессии можно отменить или поменять цветовую схему так:
:syntax off
или
:syntax on
:
Прописать настройки на постоянку можно в файле в профиле пользователя:
vi ~/.vimrc
if !has('gui_running')
set t_Co=256
endif
set termguicolors
colorscheme torte
:wq
echo "colorscheme torte" >> ~/.vimrc
Chrony, Timezone
apt install -y chrony
systemctl enable chrony
vi /etc/chrony/chrony.conf
server 172.31.2.22 iburst
server 172.31.2.23 iburst
server 10.197.2.16 iburst
timedatectl status
chronyc sources
chronyc sourcestats
chronyc tracking
date
timedatectl list-timezones | grep Amster
timedatectl set-timezone Europe/Amsterdam
Nginx
https://www.linuxcapable.com/how-to-install-upgrade-latest-nginx-mainline-stable-on-ubuntu-20-04/
add-apt-repository ppa:ondrej/nginx-mainline
apt update
apt install nginx-core nginx-common nginx nginx-full
MariaDB
https://mariadb.org/download/?t=repo-config
apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64,arm64,ppc64el,s390x] https://atl.mirrors.knownhost.com/mariadb/repo/10.6/ubuntu focal main'
apt update
apt install mariadb-server
apt install mariadb-client
mariadb --version
mysql_secure_installation
отдельный раздел под БД, смонтировать
https://disnetern.ru/move-mysqldb-new-hdd/
https://andreyex.ru/bazy-dannyx/baza-dannyx-mysql/kak-peremestit-katalog-dannyx-mysql-na-novoe-mesto-v-centos-i-ubuntu/
innodb – отдельные таблицы
https://ealebed.github.io/posts/2015/тюнинг-mysql-сервера-включение-опции-innodb_file_per_table/
Алгоритм включения опции innodb_file_per_table следующий:
- останавливаем сервисы, использующие базу данных (apache, zabbix, sphinxsearch и т. д.);
- делаем резервную копию (дамп) базы данных;
- удаляем базу данных;
- останавливаем MySQL-сервер;
- в конфиге /etc/mysql/my.cnf удаляем параметр innodb_data_file_path и добавляем параметр innodb_file_per_table;
- удаляем файлы /var/lib/mysql/ibdata, /var/lib/mysql/ib_logfile0, /var/lib/mysql/ib_logfile1 и т. д.;
- запускаем MySQL-сервер;
- создаем базу данных;
- восстанавливаем данные из резервной копии;
- проверяем наличие файлов с расширением *.ibd для каждой таблицы;
- запускаем остановленные в первом пункте сервисы.
mysqldump --user=root --password=PASSWORD zabbix | gzip > ./zabbix.sql.gz
cd /etc/mysql/mariadb.conf.d/
vi 50-server.cnf
[mysqld]
innodb-file-per-table = 1
mysql -uroot -p
PASSWORD
mysql> create database zabbix character set utf8 collate utf8_bin;
zcat ./zabbix.sql.gz | mysql zabbix -uroot -pPASSWORD
partitioning
https://bestmonitoringtools.com/zabbix-partitioning-tables-on-mysql-database/
PHP
apt install php7.4
apt install php7.4-fpm
vi /etc/php/7.4/fpm/php-fpm.conf
ll /etc/php/7.4/fpm/pool.d/
PHP 8.1
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php8.1
apt install php8.1-fpm
apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl -y
vi /etc/php/8.1/fpm/php.ini
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
vi /etc/php/8.1/fpm/pool.d/www.conf
user = username
group = username
listen.owner = username
listen.group = username
Zabbix Agent
wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+focal_all.deb
dpkg -i zabbix-release_4.4-1+focal_all.deb
apt-get update
apt-get install zabbix-agent
Zabbix proxy
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
apt update
apt install zabbix-proxy-mysql zabbix-sql-scripts zabbix-agent
shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user 'zabbix'@'localhost' identified by '<password>';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> quit;
cat /usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql | mysql zabbix -uzabbix -p <password>
vi /etc/zabbix/zabbix_proxy.conf
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
Server=<zbx_server_ip>
Hostname=<Hostname>
EnableRemoteCommands=1
ProxyOfflineBuffer=168
ConfigFrequency=600
StartPollers=50
StartPollersUnreachable=10
StartPingers=20
StartHTTPPollers=10
CacheSize=200M
HistoryCacheSize=200M
HistoryIndexCacheSize=200M
Timeout=15
LogSlowQueries=3000
TLSConnect=psk
TLSPSKIdentity=<TLSPSKIdentity>
TLSPSKFile=/etc/zabbix/<TLSPSKIdentity>.psk
vi <TLSPSKIdentity>.psk <-- paste psk
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
vi /etc/zabbix/zabbix_agentd.conf
Server=<zbx_server_ip,zbx_proxy_ip,127.0.0.1>
ServerActive=<zbx_server_ip,zbx_proxy_ip,127.0.0.1>
Hostname=<Hostname>
UnsafeUserParameters=1
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=<TLSPSKIdentity>
TLSPSKFile=/etc/zabbix/<TLSPSKIdentity>.psk
vi <TLSPSKIdentity>.psk <-- paste psk
systemctl restart zabbix-agent
systemctl status zabbix-agent
systemctl enable zabbix-agent
apt install snmp
Docker
https://docs.docker.com/engine/install/ubuntu
Для начала удаляем старые версии:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
Добавляем репозиторий docker:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Устанавливаем docker + docker-compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Увеличить размер раздела диска в Ubuntu
https://winitpro.ru/index.php/2023/02/21/uvelichit-razdel-diska-ubuntu
echo 1>/sys/class/block/sda/device/rescan
cfdisk
lsblk
vgdisplay
pvresize /dev/sda3
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
df -h