В этой статье мы рассмотрим, как создать полностью изолированный веб-серверный стек на Termux. Этот подход обеспечивает высокий уровень безопасности и позволяет запускать веб-приложения в контролируемой среде. Мы используем Nginx в качестве обратного прокси и веб-сервера, PHP-FPM для обработки PHP-скриптов и MariaDB в качестве базы данных. Для обеспечения безопасного соединения с использованием HTTPS, мы также настроим автоматическое обновление сертификатов с помощью Let's Encrypt.
Необходимые условия
- Установленный Termux.
- Доступ к интернету.
Шаг 1: Обновление и установка зависимостей
pkg update && pkg upgrade
pkg install nginx mariadb php php-fpm wget curl openssl
Шаг 2: Настройка MariaDB
mysql -u root -p
# Установите пароль для root (замените 'your_password' на надежный пароль)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
# Создайте базу данных (замените 'your_database' на имя вашей базы данных)
CREATE DATABASE your_database;
# Создайте пользователя с правами на базу данных (замените 'your_user' и 'your_password')
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
exit;
Шаг 3: Настройка Nginx
# Создайте конфигурационный файл для вашего сайта (например, /data/www/your_site.conf)
mkdir -p /data/www
nano /data/www/your_site.conf
# Добавьте следующую конфигурацию (замените 'your_domain.com' на ваш домен или IP-адрес)
server {
listen 80;
server_name your_domain.com;
root /data/www;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/data/data/php-fpm/php-fpm.sock;
}
}
Шаг 4: Настройка PHP-FPM
# Создайте файл конфигурации для PHP-FPM (например, /data/data/php-fpm/pool.conf)
nano /data/data/php-fpm/pool.conf
# Добавьте следующую конфигурацию (замените 'your_user' на пользователя, от имени которого будет работать PHP-FPM)
[www]
user=www-data
group=www-data
listen = /data/data/php-fpm/php-fpm.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Шаг 5: Настройка автоматического обновления сертификатов Let's Encrypt
# Установите certbot
pkg install certbot
# Запустите certbot для получения и установки сертификата
certbot --nginx -d your_domain.com
# Следуйте инструкциям на экране. certbot автоматически настроит Nginx и установит сертификат.
Шаг 6: Запуск сервисов
# Запустите Nginx
service nginx start
# Запустите MariaDB
service mariadb start
# Запустите PHP-FPM
service php-fpm start
Шаг 7: Проверка работы
Откройте ваш веб-браузер и перейдите по адресу https://your_domain.com. Если все настроено правильно, вы должны увидеть страницу вашего сайта с зеленым замком в адресной строке.
Важно
Этот пример представляет собой базовую конфигурацию. Для реальных проектов вам потребуется настроить конфигурационные файлы Nginx и PHP-FPM в соответствии с вашими потребностями. Также важно регулярно обновлять программное обеспечение для обеспечения безопасности.
Для более сложных задач и профессиональной поддержки, обращайтесь в РыбинскЛАБ. Мы поможем вам развернуть и поддерживать ваши веб-приложения на Termux и других платформах.