Dev notes
Все устанавливаемые приложения и сохраняемые данные хранятся в собственном разделе termux, из которого нет доступа к остальной файловой системе.
Доступ к файловой системе телефона превращает устройство на Android в портативный ПК с консольным интерфейсом. Только надо подключить Bluetooth клавиатуру и привыкнуть к размеру экрана.
С ходу можно установить python, node.js, mc, nano, openssh (управление пакетами).
Storage. Доступ к главному хранилищу
Для этого пользователь должен делегировать приложению Termux к своим данным.
Делается это следующим это в несколько шагов.
Обновляем пакеты
#: apt update && apt upgrade
Запускаем установку
#: termux-setup-storage
После этого в домашней папке должно появится папка /storage
#: cd ~/storage
Локальный веб-сервер для создания сайта в Termux
Всем привет! Сегодня пойдёт речь о том, как развернуть локальный сервер через termux, поехали!
Всё, что мы сейчас будем делать — мы будем делать при помощи клавиатуры Hacker’s Keyboard которую можно скачать из google play.
Ну а сам же процесс подготовки мы начнем с того, что выполним такие вот две команды.
Для того, чтобы обновить все пакеты в термуксе:
pkg update pkg upgrade
ls /sdcard/
Мы проверим, есть ли у нашего термукса доступ ко внутренней памяти телефона.
Если ничего не отобразилось (или у вас тут ошибка доступа), то переходим в настройки разрешений > Разрешения > Termux > Мультимедиа: И разрешаем тут доступ и изменение файлов во внутренней памяти смартфона. Остальные галочки тоже можно кстати включить:

Теперь если у вас вывод команды
ls/sdcard/ — похож на мой, то можно продолжать:

Устанавливаем необходимые пакеты, программы и инструменты которые тоже нам могут понадобиться командой:
pkg install php-apache git wget nano -y
После ввода этой команды веб-сервер уже должен установиться, а значит, мы уже можем попробовать загрузить простенькую http страничку которая сейчас должна хоститься на нашем смартфоне.
Запускаем сам веб-сервер командой:
apachectl start
На предупреждения пока не обращаем внимания, главное чтобы у нас не было критических ошибок.
Ну, а сейчас давайте подключимся к нашему смартфону по его IP адресу из локальной сети, для этого вводим ifconfig и смотрим какой ip адрес выделен нашему смартфону на интерфейсе wlan0 (это wifi):

В моём случае это: 192.168.0.158
Мы его запомним, он нам еще дальше пригодится.
Ну, а сейчас через браузер с нашего компьютера в локальной сети заходим на этот IPшники. у нас ничего не происходит. Потому-что порт по умолчанию установлен на 8080, это мы тоже сконфигурируем, ну а сейчас же мы можем видеть то, что сервер у нас поднялся потому-что эта страничка у нас хранится на телефоне и мы можем продолжать дальше.
Тут есть один момент. Веб сервер мы подняли, и по идее уже можно загружать какой-нибудь движок типа WordPress или Xenforo и начинать им пользоваться. Но… Нет. Дело в том, что по умолчанию тут работают только HTML странички, а PHP тут не подключен. И нам вручную надо это сконфигурировать. Да и не только это, параметров тут много поэтому… приступаем к конфигурации.
Нам нужно открыть конфигурационный файл Apache вот такой вот командой:
nano ../usr/etc/apache2/httpd.conf
В этом консольном текстовом редакторе мы и будем работать.
Поиск в этом редакторе Nano делается комбинацией Ctrl + W, затем вводим что ищем, и жмем Enter:
[ctrl+w] Listen [Enter]
В общем находим Listen, это как раз тот параметр который отвечает за порт, на котором будет находиться наш веб-сайт. Чтобы не пришлось указывать порт в браузере вручную, надо заменить его на 80 порт.
Но, важный момент. 80 порт у вас будет работать только если у вас есть root права. Если у вас рут прав нет, у вас ничего не заработает потому-что Android, да и не только Android, даже Linux блокирует создание чего-то на 80 порту без рут прав. Поэтому всё что я буду показывать, это будет для смартфонов без рут, и соответственно будем использовать порт 8080. Не так красиво, но зато заработает у всex:

Далее, чтоб вы могли легко закидывать и редактировать файлы своего веб-сервер при помощи обычного проводника, найдем такую строчку как DocumentRoot:
[ctrl+w] DocumentRoot [Enter]
Эта директива настраивает корневую папку сайта, т.е. именно тут будут находиться все ваши файлы. Меняем путь в двух строчках так, чтобы они приняли такой вид:
DocumentRoot "/sdcard/web/www"

Почти всегда /sdcard/ — это внутренняя память смартфона, поэтому все файлы сайта будут доступны из родного проводника.Так будет удобней.
Теперь ищем директиву определяющую индексные файлы по умолчанию [DirectoryIndex]:
[ctrl+w] DirectoryIndex [Enter]
И изменяем её так, чтобы она индексировала в том числе php файлы, дописав сюда:
index.php

Далее ищем список подключаемых модулей по слову Load (Всё так же, Ctrl + W, Load, Enter):
[ctrl+w] Load [Enter]
И обратите внимание, модули с решеткой — это выключенные модули. Чтобы включить их, надо просто удалить решетку. Чтобы отключить, надо наоборот, закомментировать строчку, то есть вставить сюда знак решетки.
В общем включаем:
LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
#LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so
Теперь идем дальше в конец этого списка и добавляем следующие строки для включения php:
LoadModule php7_module libexec/apache2/libphp7.so
SetHandler application/x-httpd-php

Ну, и чтобы у нас не появлялась ошибка связанная с именем сервера, найдем строчку ServerName
И раскомментируя её исправим на что-то вроде этого: localhost и через двоеточие порт, который мы используем.
localhost:8080

Сохраняем файл комбинацией [Ctrl]+[S]
И теперь выходим отсюда комбинацией [Ctrl]+[X]
Далее создаем нашу новую корневую папку сайта.
Но сначала давайте перейдем во внутреннюю память телефона:
cd /sdcard/
Я создаю папку с тем же названием, которое я прописывал в конфиг файле для DocumentRoot и Directory такой вот командой:
mkdir -p /sdcard/web/www
Ну и наконец мы можем создать какой-нибудь PHP файл с нашей тестовой страничкой. Кому как, но лично мне для мобильного кодинга нравится использовать приложение Acode. Оно бесплатное, есть в google play, в нём есть подсветка синтаксиса и даже нет рекламы.
В общем тут открываем и выбираем нашу папку web/www/
Далее создаём новый файл и называем его index.php
Ну, и тут в общем-то вы можете писать всё что угодно на языке PHP. Я вот в качестве примера решил прописать вот такой вот код. Этот код поможет проверить нам работает ли у нас PHP, и покажет основную информацию о веб-сервере в целом…
Сохраняем этот файл и возвращаемся в термукс.
Давайте проверим нашу конфигурацию, вводим:
apachectl -t
Если написало Syntax OK, значит файл конфигурации мы настроили без ошибок и мы готовы к запуску сервера.
Для этого вводим:
apachectl restart
Все! Сервер запущен, осталось перейти по ip нашего смартфона, то есть 192.168.0.158:8080

Касаемо производительности этого сервера. Вы наверняка думаете что он очень слаб, и даже примерно не будет стоять рядом с обычным сервером.
Чтобы вы понимали, на обычных экономных хостингах вам часто выдают 512 мб оперативки, и какой-нибудь не очень мощный процессор.
Текущий смартфон, любой, относительно новый — он. в несколько раз мощнее в плане производительности. Единственная самая слабая их часть — это подключение по WiFi, которое немного увеличивает пинги и так же снижает стабильность подключения.
И кстати, если в папке www просто создать тут новую папку, и скопировать в неё какие-либо файлы, ваш смартфон станет настоящим файловым хранилищем с удалённым доступом. Делиться файлами или фотками которые вы делаете, вы сможете просто поместив их сюда, после чего сможете перейти из веб браузера в эту папку и скачивать все эти файлы.
Если вы хотите сделать так, чтобы этот сервер стал доступен как обычный сайт — из интернета и по доменному имени, то вам просто остаётся пробросить порты на вашем роутере и прикрутить сюда доменное имя.
Apache2 Termux: установка и использование сервера Apache2 в Termux

overlamer1
Прошу обратить внимание! Автор данной статьи не несёт ответственности за любые последствия вслед использования предоставленной информации. Все материалы опубликованы исключительно в образовательных целях!
World Wide Web построена с использованием серверов и веб — серверов , Интернет стал доступным для всех так в этом посте я собираюсь показать вам , как вы можете создать свой собственный веб — сервер Apache в Termux. Вы узнаете, как установить Apache2 в Termux, а также я покажу вам, как можно практиковать HTML с его помощью .
Что такое Apache2 в Termux?
Веб — сервер Apcahe2 является исходным кодом Open , который поможет вам создать и запустить веб — сервер практически на любом устройстве . Настоящее название этого программного обеспечения — HTTP-сервер apache. Почти 40% веб-сайтов в Интернете по-прежнему работают с использованием веб-сервера Apache.
Вы можете легко запустить apache в Linux, и, поскольку termux — это эмулятор терминала Linux, мы можем использовать его для запуска веб-сервера Apache . Установка и использование очень просты на базовом уровне. Вы можете создавать свои собственные веб-сайты, используя HTML на Termux, и запускать их на своем Temux apache2. По умолчанию этот сервер будет работать на вашем локальном хосте с портом 8080, но вы также можете использовать переадресацию портов, чтобы заставить его работать . При помощи ngrok но об этом в другой статье.
apache2 — это базовый пакет в termux, и чтобы установить apache2 в приложение Termux, вам просто нужно использовать базовую команду pkg. Размер архивного файла сервера Apache2 в termux составляет около 5,5 МБ, поэтому установка не займет много времени. Введите команду ниже для установки.
pkg install apache2
Все на сервере apache2 termux будет автоматически настроено, и для тестирования сервера вам просто нужно ввести следующую команду. Эта команда запустит сервер apache, поэтому в любое время, когда вы захотите повторно запустить свой Termux-Apache Server, вы будете использовать следующую команду.
apachectl
Теперь откройте браузер Chrome и введите localhost: 8080 , если увидите «Работает!» на вашем экране это означает, что сервер Termux Apahe2 работает нормально.
localhost:8080
Чтобы остановить
apachectl -k stop
Отредактируйте файлы HTML на веб-сервере Apache2 Termux:
Теперь, когда веб-сервер запущен и работает, вы должны знать, что HTML-файл, который мы получаем на локальном хосте, действительно присутствует в вашем Termux, и вы можете отредактировать его для Learn Html в своем termux. Прежде всего, вам нужно узнать, как вы можете редактировать эту веб-страницу и печатать свое имя вместо своих работ.
Все файлы веб-серверов apcahe2 хранятся в вашей папке usr / share / apache2 / default-site / htdocs в termux. и вам нужно сначала перейти в эту папку, чтобы отредактировать файл Index.html, который там присутствует. используйте команду ниже, чтобы перейти на путь htdocs.
cd /$PREFIX/share/apache2/default-site/htdocs

Введите ls, и вы увидите этот файл index.html в папке htdocs.

Теперь, если у вас уже есть какой-либо текстовый редактор в вашем Termux, вы можете пропустить эту часть, но если у вас его нет, вам нужно установить текстовый редактор , nano — хороший текстовый редактор, и он также легкий. используйте команду ниже, чтобы установить nano в свой termux.
pkg install nano
Теперь введите команду ниже, и вы увидите исходный код HTML-страницы apache2 по умолчанию.
nano index.html
Если вы знаете основы кодирования HTML, вы можете отредактировать эту страницу или просто изменить ее, работает! текст с вашим именем.
Теперь отредактируйте эту страницу, а затем нажмите CTRL + S, чтобы сохранить, и CTRL + X, чтобы закрыть редактор nano.
Cнова откройте Chrome и обновите уже открытую страницу localhost , если вы не видите свою страницу localhost, введите localhost: 8080 в chrome, и вы откроете страницу. если вы по-прежнему сталкиваетесь с какой-либо ошибкой, попробуйте снова запустить сервер, набрав apachectl.
Чтобы добавить свою собственную веб-страницу , вы должны создать новый HTML-файл в папке htdocs . Этот файл будет еще одной страницей на вашем сайте. Итак, чтобы создать новый HTML-файл, вам просто нужно использовать команду nano.
nano batyarimskiy.html
Теперь начните писать код HTML здесь

Убедитесь, что вы нажали CTRL + S, чтобы сохранить код, и CTRL + X, чтобы закрыть редактор nano.
Теперь у нас есть новая страница на нашем сервере, и чтобы открыть эту страницу, вам нужно ввести localhost, за которым следует ваше новое имя файла.html.
localhost:8080/batyaromskiy.html
How to Open HTML File From a Terminal?
Html file is a combination of symbols and text which displays the content of the web page. These files have .html extensions. In Linux, various methods exist to open Html files using the terminal or a graphical user interface. In this post, you will learn how to open Html files using the terminal in Linux. The content of the post is:
- Method 1: Open HTML File in Browser
- Using open Command
- Using a Browser
Let’s get started
Method 1: Open HTML File in Browser
In Linux, you can open any Html file in your browser. There are two ways available for opening any Html file through the terminal. Let’s discuss these two functions one by one.
Using open Command
The “open” is a built-in utility to open any files or directories in Linux. The syntax to open any file using the “open” command is given below:
Syntax:
$ open [filename]
Write the “open” keyword and then type your Html file name.
Let’s move and check how it works. We have an index.html file in our home directory, which can be seen below:

Let’s open it in the browser using the “open command”.
To open any Html file using the “open” command is obtained as follows:
$ open index.html

After executing the above command, it will automatically open the Html in your browser:

The index.html file is opened in the Firefox browser.
Using a Browser
You can open any Html file using a browser as well, and for that, you need to follow the below-mentioned syntax:
$ [browser name] [File Name]
Type any browser name and then type your Html file name.
To open any Html file using the browser name, execute the following command in the terminal:
$ chromium index.html

Once the above command is executed, the file will be opened in the browser. In our scenario, we have opened it in the chromium browser as shown in the below image:

The index.html file has been opened in the chromium browser.
Note: You can also use the bash script to open Html files in the browser. Just type in the bash script file and save it:

Once you save it, run the bash script file in the terminal:
$ ./b-script.sh

The execution of the above command will give you the same output.
Let’s move towards method 2 to open Html files.
Method 2: Open HTML File Using lynx
Another method that can be used to open an Html file is using the “lynx”. “lynx” is a terminal-based web browser that prints the output of the file as plain text in the terminal. In simple words, it’s a non-graphical web browser that shows the web pages on the terminal. It is not pre-installed in Linux distributions; user can install it manually by executing the below command:
For Ubuntu/Debian:
$ sudo apt install lynx
For Fedora/CentOS/RHEL:
$ sudo dnf install lynx
The syntax for using the “lynx” is shown below:
Syntax:
$ lynx [option] [file Name]
Type the “lynx” keyword, “options” for different modes and then file name.
To open an HTML file using “lynx”, use the “dump” option. “dump” option represents the standard output (stdout). Run the following command to see the results:
$ lynx -dump index.html

The content of the Html has been displayed as plain text.
Note: lynx will only print the Html content of the file. However, if you put any javascript content in an Html file, the javascript content will not be printed.
Using lynx, users can also open the Html file in its editor. To do so, use the lynx without option:
$ lynx index.html

Once you type the command, press Enter:

An Html file is opened in the lynx text editor.
These are the possible methods to open an Html file using the terminal.
Bonus Tip: How to Edit the Content of the HTML File?
There are different commands available to open and edit the files in the text editor, such as pico, nano, vi, and much more. In our case, we are using the “nano” editor to open the Html file. The syntax for the nano editor command is shown below:
Syntax:
$ nano [filename]
Write the “nano” keyword and then type the file name.
To open any Html file using the “nano” command is obtained as follows:
$ nano index.html

Once you execute the above command, it will open the Html file in the nano text editor from where you can edit the content of that HTML file.
Conclusion
To open any HTML file using the terminal, there are three methods. The first method is to open an HTML file in the browser using the “open” command or use any browser name along with the file name. The second method is to open an HTML file in text editors such as nano, while the third is to open an HTML file using lynx. This post has demonstrated all the possible ways to open an HTML file through a terminal in Linux.
