Termux — это мощный эмулятор терминала и среда Linux для Android, работающая без root-прав. Он предоставляет доступ к полноценному пакетному менеджеру pkg (на базе apt), позволяя устанавливать тысячи утилит: git, python, nodejs, nginx, mariadb, openssh и многие другие. Это превращает смартфон в портативную рабочую станцию для разработки, тестирования и автоматизации.
Базовая настройка окружения
После установки Termux из F-Droid или GitHub (версия из Google Play устарела) выполните базовую инициализацию:
pkg update && pkg upgrade -y
pkg install git python nodejs nginx mariadb openssh -y
termux-setup-storage
Команда termux-setup-storage запрашивает доступ к общему хранилищу, что необходимо для работы с файлами проекта.
Запуск локального веб-сервера (Nginx + PHP)
Для тестирования веб-приложений на устройстве настройте Nginx с PHP-FPM:
pkg install php php-fpm -y
mkdir -p ~/nginx/logs ~/nginx/html
cat > ~/nginx/nginx.conf << 'EOF'
worker_processes 1;
events { worker_connections 1024; }
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
root /data/data/com.termux/files/home/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}
EOF
Запуск сервисов:
php-fpm -D
nginx -c ~/nginx/nginx.conf
Теперь сервер доступен по адресу http://localhost:8080 на самом устройстве. Для доступа из локальной сети (например, с ноутбука) используйте IP телефона в Wi-Fi — это удобно для кроссплатформенного тестирования без настройки VPN-туннелей.
Работа с Git и синхронизация проектов
Termux позволяет полноценно работать с репозиториями:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git clone https://github.com/username/project.git
cd project
# работа с коммитами, ветками, пушем
Для бесшовной синхронизации между устройствами настройте SSH-ключи:
ssh-keygen -t ed25519 -C "termux-mobile"
cat ~/.ssh/id_ed25519.pub
# добавьте ключ в GitHub/GitLab
Автоматизация через cron и systemd-альтернативы
В Termux нет systemd, но есть crond и возможность автозапуска через ~/.termux/boot/:
pkg install cronie -y
mkdir -p ~/.termux/boot
echo 'crond' > ~/.termux/boot/start-cron
chmod +x ~/.termux/boot/start-cron
crontab -e
# добавьте задачи, например:
# 0 2 /data/data/com.termux/files/usr/bin/python ~/scripts/backup.py
Скрипт резервного копирования на Python:
cat > ~/scripts/backup.py << 'EOF'
import tarfile, os, datetime
src = '/data/data/com.termux/files/home/projects'
dst = f'/sdcard/backups/backup_{datetime.date.today()}.tar.gz'
os.makedirs(os.path.dirname(dst), exist_ok=True)
with tarfile.open(dst, 'w:gz') as tar:
tar.add(src, arcname=os.path.basename(src))
print(f'Backup saved to {dst}')
EOF
chmod +x ~/scripts/backup.py
Работа с базами данных
MariaDB/MySQL в Termux работает стабильно для локальной разработки:
pkg install mariadb -y
mysql_install_db
mysqld_safe -u $(whoami) &
mysql -u root -e "CREATE DATABASE devdb; CREATE USER 'dev'@'localhost' IDENTIFIED BY 'pass'; GRANT ALL ON devdb. TO 'dev'@'localhost';"
# подключение из Python/Node.js: host=127.0.0.1, port=3306
Оптимизация и фоновая работа
Чтобы процессы не убивала система Android:
- В настройках приложения Termux: «Разрешить фоновую активность», «Игнорировать оптимизацию батареи».
- Используйте
termux-wake-lockдля удержания CPU во время длительных задач:
pkg install termux-api -y
termux-wake-lock
# долгая задача
termux-wake-unlock
Безопасность и изоляция
Termux работает в песочнице Android (UID изолирован). Доступ к сети ограничен стандартными правами приложения. Не храните продакшн-секреты в открытом виде — используйте переменные окружения или termux-keychain (требует root). Для удалённого управления настройте SSH-сервер с ключевой аутентификацией и отключите пароли:
pkg install openssh -y
cat > $PREFIX/etc/ssh/sshd_config << 'EOF'
Port 8022
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
EOF
sshd
# подключение: ssh -p 8022 user@phone_ip
Заключение
Termux — уникальный инструмент, превращающий Android-устройство в полноценную Linux-среду для разработки, CI/CD-прогонов, управления серверами и автоматизации рутины. Он идеален для полевой работы, обучения и лёгких продакшн-задач на домашнем железе.
РыбинскЛАБ оказывает услуги по настройке мобильных сред разработки, автоматизации инфраструктуры, аудиту безопасности Linux-систем и разработке скриптов для Termux. Обращайтесь — настроим под ваши задачи.