Hosting vun enger Websäit op engem Heemrouter

Ech wollt scho laang "meng Hänn" op Internetservicer beréieren andeems ech e Webserver vun Ufank un opstellen an en op den Internet verëffentlechen. An dësem Artikel wëll ech meng Erfahrung deelen fir en Heemrouter vun engem héich funktionnellen Apparat an e bal vollwäertege Server ze transforméieren.

Et huet alles ugefaang mat der Tatsaach datt den TP-Link TL-WR1043ND Router, dee trei gedéngt huet, net méi de Bedierfnesser vun engem Heemnetz entsprécht; Ech wollt eng 5 GHz Band a séier Zougang zu Dateien op engem Späicherapparat verbonne mam Router . Nodeems ech duerch spezialiséiert Forum'en (4pda, ixbt), Siten mat Rezensiounen gekuckt hunn an d'Sortiment vu lokale Geschäfter gekuckt hunn, hunn ech decidéiert Keenetic Ultra ze kafen.

Gutt Rezensiounen vun de Besëtzer hunn zugonschte vun dësem speziellen Apparat geschafft:

  • keng Problemer mat Iwwerhëtzung (hei hu mir Asus Produkter missen opginn);
  • operationell Zouverlässegkeet (hei hunn ech TP-Link duerchgestrachenem);
  • einfach ze Ariichten (Ech hat Angscht, ech konnt et net verschaffen an duerchgestrachenem Microtik).

Ech hu misse mat den Nodeeler kommen:

  • nee WiFi6, Ech wollt Equipement mat enger Reserve fir d'Zukunft ze huelen;
  • 4 LAN Ports, ech wollt méi, awer dëst ass net méi eng Heemkategorie.

Als Resultat hu mir dëse "Server":

Hosting vun enger Websäit op engem Heemrouter

  • op der lénker Säit ass den opteschen Terminal vu Rostelecom;
  • riets ass eisen experimentellen Router;
  • e 2 GB m.128 SSD läit ronderëm, an enger USB3 Këscht vun Aliexpress gesat, ass mat engem Drot un de Router verbonnen, elo ass et ordentlech op der Mauer montéiert;
  • am Virdergrond ass e Verlängerungskabel mat onofhängeg ofgeschlossene Sockets, den Drot dovun geet op eng preiswert UPS;
  • am Hannergrond gëtt et eng Rëtsch verdreift Pair-Kabelen - an der Etapp vun der Renovéierung vum Appartement, hunn ech direkt RJ45-Sockets op de Plazen geplangt, wou d'Ausrüstung soll sinn, fir net vun der WiFi ofzehänken, déi geläscht gëtt.

Also, mir hunn d'Ausrüstung, mir mussen et konfiguréieren:

Hosting vun enger Websäit op engem Heemrouter

  • Den initialen Setup vum Router dauert ongeféier 2 Minutten, mir weisen d'Verbindungsparameter un de Provider un (meng opteschen Terminal ass op de Bréckmodus gewiesselt, d'PPPoE Verbindung hieft de Router), den Numm vum WiFi Netzwierk an d'Passwuert - am Fong dat ass et , de Router fänkt un a funktionnéiert.

Hosting vun enger Websäit op engem Heemrouter

Mir setzen d'Forwarding vun externen Ports op d'Ports vum Router selwer an der Rubrik "Network Regelen - Forwarding":

Hosting vun enger Websäit op engem Heemrouter

Hosting vun enger Websäit op engem Heemrouter

Elo kënne mir op den "fortgeschrattenen" Deel goen, wat ech vum Router wollt:

  1. Funktionalitéit vun enger klenger NAS fir en Heemnetz;
  2. Webserverfunktiounen fir verschidde privat Säiten auszeféieren;
  3. perséinlech Cloud Funktionalitéit fir Zougang zu perséinlechen Donnéeën iwwerall op der Welt.

Déi éischt gëtt mat agebauten Tools implementéiert, ouni vill Effort ze erfuerderen:

  • Mir huelen en Drive, deen fir dës Roll geduecht ass (Flashlaufwerk, Memory Card an engem Kaartelieser, Festplack oder SSD an enger externer Këscht a formatéiere se op Ext4 mat MiniTool Partition Wizard Gratis Editioun (Ech hu kee Computer mat Linux bei der Hand, et ass méiglech mat agebaute Tools). Wéi ech et verstinn, schreift de System während der Operatioun nëmme Logbicher op de Flash Drive, also wann Dir se limitéiert nodeems Dir de System opgeriicht hutt, kënnt Dir och Erënnerungskaarten benotzen wann Dir plangt vill an dacks op de Drive ze schreiwen - eng SSD oder HDD ass besser.

Hosting vun enger Websäit op engem Heemrouter

Duerno verbannen mir den Drive mam Router a beobachten et um Systemmonitorbildschierm

Hosting vun enger Websäit op engem Heemrouter

Klickt op "USB-Laufwerke an Dréckeren" an d'Sektioun "Uwendungen" a konfiguréiert den Deel an der Rubrik "Windows Network":

Hosting vun enger Websäit op engem Heemrouter

A mir hunn eng Ressource Ressource déi vu Windows Computeren benotzt ka ginn, wann néideg als Disk verbënnt: Net benotzen y: \ 192.168.1.1SSD / persistent: jo

D'Geschwindegkeet vun esou enger improviséierter NAS ass genuch fir doheem ze benotzen; iwwer engem Drot benotzt se de ganze Gigabit, iwwer WiFi ass d'Geschwindegkeet ongeféier 400-500 Megabits.

Hosting vun enger Websäit op engem Heemrouter

D'Lagerung opzemaachen ass ee vun den néidege Schrëtt fir de Server ze konfiguréieren, da brauche mir:
- eng Domain kafen an eng statesch IP Adress (Dir kënnt ouni dat maachen andeems Dir dynamesch DNS benotzt, awer ech hat schonn eng statesch IP, sou datt et méi einfach war ze benotzen fräi Yandex Servicer - andeems Dir den Domain do delegéiert, Mir kréien DNS-Hosting a Mail op eisem Domain);

Hosting vun enger Websäit op engem Heemrouter

- DNS Serveren konfiguréieren a füügt A records un déi op Är IP weisen:

Hosting vun enger Websäit op engem Heemrouter

Et dauert e puer Stonnen fir d'Domain an d'DNS Delegatiounsastellungen a Kraaft ze huelen, sou datt mir gläichzäiteg de Router opstellen.

Als éischt musse mir den Entware Repository installéieren, aus deem mir déi néideg Packagen um Router installéiere kënnen. Ech hu profitéiert dës Uweisunge, huet just den Installatiounspaket net iwwer FTP eropgelueden, awer en Dossier direkt op der virdru verbonnen Netzwierkfuerer erstallt an d'Datei do op déi üblech Manéier kopéiert.

Nodeems Dir Zougang iwwer SSH kritt hutt, ännert d'Passwuert mam Passwd Kommando an installéiert all déi néideg Pakete mam opkg install [Package Nimm] Kommando:

Hosting vun enger Websäit op engem Heemrouter

Wärend der Konfiguratioun goufen déi folgend Packagen um Router installéiert (den Ausgang vum opkg Lëscht-installéierten Kommando):

Lëscht vu Packagen
Bash - 5.0-3
busybox - 1.31.1-1
ca-Bündel - 20190110-2
ca-Certificaten - 20190110-2
coreutils - 8.31-1
coreutils-mktemp - 8.31-1
cron - 4.1-3
curl - 7.69.0-1
diffutils - 3.7-2
dropbear - 2019.78-3
entware-release - 1.0-2
findutils - 4.7.0-1
glib2 - 2.58.3-5
grep - 3.4-1
ldconfig - 2.27-9
libattr - 2.4.48-2
libblkid - 2.35.1-1
libc - 2.27-9
libcurl - 7.69.0-1
libffi - 3.2.1-4
libgcc - 8.3.0-9
libiconv-voll - 1.11.1-4
libintl-voll - 0.19.8.1-2
liblua - 5.1.5-7
libmbedtls - 2.16.5-1
libmount - 2.35.1-1
libncurses - 6.2-1
libncursesw - 6.2-1
libndm - 1.1.10-1a
libopenssl - 1.1.1d-2
libopenssl-conf - 1.1.1d-2
libpcap - 1.9.1-2
libpcre - 8.43-2
libpcre2 - 10.34-1
libpthread - 2.27-9
Libreadline - 8.0-1a
librt - 2.27-9
libslang2 - 2.3.2-4
libssh2 - 1.9.0-2
libssp - 8.3.0-9
libstdcpp - 8.3.0-9
libuid - 2.35.1-1
libxml2 - 2.9.10-1
Uertschaften - 2.27-9
mc - 4.8.23-2
ndmq - 1.0.2-5a
nginx - 1.17.8-1
openssl-util - 1.1.1d-2
opkg — 2019-06-14-dcbc142e-2
opt-ndmsv2 - 1.0-12
php7 - 7.4.3-1
php7-mod-openssl - 7.4.3-1
poorbox - 1.31.1-2
terminfo - 6.2-1
zlib - 1.2.11-3
zoneinfo-Asien - 2019c-1
zoneinfo-europe - 2019c-1

Vläicht war et eppes iwwerflësseg hei, mee et war vill Plaz op der fueren, also ech hu mech net beméit an et ze kucken.

Nodeems mir d'Packagen installéiert hunn, konfiguréiere mir nginx, ech hu probéiert et mat zwee Domainen - déi zweet ass mat https konfiguréiert, a fir de Moment gëtt et e Stubb. Intern Ports 81 an 433 ginn benotzt anstatt 80 an 443, well d'Router Admin Panel op normale Ports hänkt.

etc/nginx/nginx.conf

user  nobody;
worker_processes  1;
#error_log  /opt/var/log/nginx/error.log;
#error_log  /opt/var/log/nginx/error.log  notice;
#error_log  /opt/var/log/nginx/error.log  info;
#pid        /opt/var/run/nginx.pid;

events {
    worker_connections  64;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  /opt/var/log/nginx/access.log main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;

server {
    listen 81;
    server_name milkov.su www.milkov.su;
    return 301 https://milkov.su$request_uri;
}

server {
        listen 433 ssl;
        server_name milkov.su;
        #SSL support
        include ssl.conf;
        location / {
            root   /opt/share/nginx/html;
            index  index.html index.htm;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
            }
        }
}
</spoiler>
<spoiler title="etc/nginx/ssl.conf">
ssl_certificate /opt/etc/nginx/certs/milkov.su/fullchain.pem;
ssl_certificate_key /opt/etc/nginx/certs/milkov.su/privkey.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_dhparam /opt/etc/nginx/dhparams.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_stapling on;

Fir datt de Site iwwer https funktionnéiert, hunn ech de bekannte dehydréierte Skript benotzt, se installéiert mat dëser Instruktioun. Dëse Prozess huet keng Schwieregkeeten verursaacht, ech sinn nëmmen op der Tatsaach getrollt datt am Text vum Skript fir op mengem Router ze schaffen Dir musst d'Linn an der Datei kommentéieren /opt/etc/ssl/openssl.cnf:

[openssl_conf]
#engines=engines

An ech bemierken datt d'generéieren dhparams.pem mam Kommando "openssl dhparam -out dhparams.pem 2048" op mengem Router méi wéi 2 Stonnen dauert, wann net fir de Fortschrëttsindikator, hätt ech Gedold verluer an nei gestart.

Nodeems Dir d'Zertifikater kritt hutt, restart nginx mam Kommando "/opt/etc/init.d/S80nginx restart". Am Prinzip ass de Setup fäerdeg, awer et gëtt nach keng Websäit - wa mir d'index.html Datei an den /share/nginx/html Verzeichnis setzen, gesi mir e Stubb.

index.html

<!DOCTYPE html>
<html>
<head>
<title>Тестовая страничка!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Тестовая страничка!</h1>
<p>Это простая статическая тестовая страничка, абсолютно ничего интересного.</p>
</body>
</html>

Fir d'Informatioun schéin ze placéieren, ass et méi einfach fir en Net-Profi wéi ech fäerdeg Templates ze benotzen; no enger laanger Sich duerch verschidde Kataloge hunn ech fonnt templatemo.com - et gëtt eng gutt Auswiel u gratis Templates déi keng Attributioun erfuerderen (wat seelen um Internet ass; déi meescht vun de Templates an der Lizenz verlaangen datt Dir e Link op d'Ressource späichert, aus där se kritt goufen).

Mir wielen eng passend Schabloun - et gëtt eng fir eng Vielfalt vu Fäll, luet den Archiv erof an packt et an den /share/nginx/html Verzeichnis, Dir kënnt dat vun Ärem Computer maachen, dann d'Schabloun änneren (hei braucht Dir minimal Wëssen vun HTML fir d'Struktur net ze briechen) an ersetzen d'Grafiken wéi an der Figur hei ënnen.

Hosting vun enger Websäit op engem Heemrouter

Zesummefaassung: de Router ass ganz gëeegent fir eng liicht Websäit op him ze hosten, am Prinzip - wann eng grouss Laascht net erwaart gëtt, kënnt Dir installéieren an php, an experimentéiert mat méi komplexe Projeten (Ech kucken op nextcloud/owncloud, et schéngt erfollegräich Installatiounen op esou Hardware ze sinn). D'Kapazitéit fir Packagen z'installéieren erhéicht seng Nëtzlechkeet - zum Beispill, wann et néideg war fir den RDP-Port vun engem PC op engem lokalen Netzwierk ze schützen, hunn ech knockd um Router installéiert - an d'Port Forwarding op de PC gouf eréischt nom Hafen geklappt.

Firwat e Router an net e normale PC? E Router ass ee vun de wéinege Computer Stécker vun Hardware déi ronderëm d'Auer a ville Appartementer funktionnéiert; en Heemrouter ass normalerweis absolut roueg an e liichte Site mat manner wéi honnert Visiten pro Dag wäert et guer net stéieren.

Source: will.com

Setzt e Commentaire