Izgled
HTTP tunel
Dijeljeni hosting (cPanel i slični) često ne daje ni SSH pristup ni otvoren port baze. Baza prima veze samo od samog web servera. HTTP tunel vas ipak dovodi do nje: na server postavite malu PHP skriptu koju izradi NabuSQL, a NabuSQL šalje posao toj skripti, koja ga izvršava na serveru.
Tunel je dostupan za MariaDB konekcije. Web server treba PHP 7.4 ili noviji (preporuča se PHP 8.x) s ekstenzijama mysqli i openssl, koje ima gotovo svaki hosting.
Prvo probajte Remote MySQL
Ako vam hosting u cPanelu pod Remote MySQL dopušta dodati svoju IP adresu, izravna veza je jednostavnija i brža. Tunel koristite kad to nije moguće ili kad port 3306 ostaje zatvoren.
Kako radi i zašto je siguran
- Jedna skripta po konekciji. Kad preuzmete skriptu, NabuSQL generira nasumični 256-bitni ključ i upiše ga u datoteku. Isti ključ sprema se uz konekciju, šifriran kao i vaše lozinke.
- Sve je šifrirano. Svaki zahtjev i svaki odgovor — korisničko ime i lozinka baze, vaši upiti, rezultati — šifrirani su algoritmom AES-256-GCM tim ključem. Svejedno koristite
https://adresu; ona skriva i to s kojom skriptom razgovarate. - Bez ključa nema pristupa. Zahtjev koji nije šifriran pravim ključem dobiva običan
404 Not Found, pa se skripta ne može razlikovati od nepostojeće stranice. Snimljeni zahtjev ne može se kasnije ponoviti. - Skripta ne čuva podatke. Čuva samo ključ. Lozinka baze svaki put putuje unutar šifriranog zahtjeva i nikad se ne zapisuje na server.
- Ništa ne ide preko nas. NabuSQL razgovara izravno sa skriptom na vašem serveru.
Postavljanje
- Napravite novu konekciju i odaberite MariaDB.
- Na kartici Osnovno unesite bazu onako kako je vidi skripta na serveru:
- Host:
localhost - Port:
3306 - Korisničko ime, Lozinka i Baza: puna imena iz cPanela, s prefiksom računa (npr.
mojracun_appimojracun_db).
- Host:
- Otvorite karticu HTTP Tunel i uključite Koristi HTTP tunel. Od tada ta konekcija radi isključivo kroz tunel; SSH tunel se isključuje.
- Po želji postavite PHP limite.
- Kliknite Preuzmi PHP skriptu i spremite datoteku (
nabu_xxxxxxxx.php). - Prebacite datoteku na web server upraviteljem datoteka (File Manager) ili FTP-om, npr. u
public_html. - U URL skripte upišite adresu skripte, npr.
https://primjer.hr/nabu_xxxxxxxx.php. - Kliknite Provjeri skriptu. Prikazat će verziju PHP-a, ima li
mysqliiopensslte limite hostinga. - Kliknite Test veze, pa Spremi.
Otvaranje skripte u pregledniku pokazuje „Not Found"
Tako i treba biti. Bez ključa skripta na svaki zahtjev odgovara s 404.
PHP limiti
Dvije PHP postavke mogu se povećati iz same skripte. Ostavite ih prazne da ostanu zadane vrijednosti hostinga.
| Postavka | Značenje |
|---|---|
| max_execution_time | Koliko sekundi smije trajati jedan zahtjev. 0 uklanja PHP limit |
| memory_limit | Koliko memorije smije koristiti jedan zahtjev, npr. 256M. -1 uklanja limit |
Neki hostinzi ne dopuštaju veće vrijednosti. Provjeri skriptu uvijek prikazuje vrijednosti koje stvarno vrijede i upozori kad host nije prihvatio traženo. I bez PHP limita web server prekida zahtjev nakon nekoliko minuta, pa „bez limita" nikad nije doslovno bez limita.
post_max_size (najveći zahtjev koji server prima) ne može se postaviti iz skripte. Po potrebi ga promijenite u cPanelu pod MultiPHP INI Editor. NabuSQL ga pročita i prilagodi veličinu svojih zahtjeva.
Nakon promjene limita ponovno preuzmite skriptu i zamijenite datoteku na serveru.
Što radi kroz tunel
Gotovo sve što radite i s izravnom vezom:
- pregled baza, tablica, viewova, rutina, triggera i sekvenci;
- tablica s podacima: filtriranje, sortiranje i uređivanje, pregled BLOB-ova i statistika stupaca;
- SQL editor, EXPLAIN i profiler upita;
- uređivanje strukture (kolone, indeksi, ključevi, triggeri);
- backup, restore, Izvrši SQL datoteku, Dump u SQL datoteku i uzorak (sample dump);
- izvoz i uvoz (CSV, Excel i drugi);
- Data Transfer — s tunel-konekcije, na nju i između dvije tunel-konekcije;
- usporedba strukture i podataka, pretraga podataka, održavanje (CHECK, OPTIMIZE, REPAIR, ANALYZE);
- svojstva baze, preimenovanje baza i tablica, povijest redova, popis procesa.
Kroz tunel nije dostupno:
- upravljanje korisnicima i privilegijama — na dijeljenom hostingu to se radi u cPanelu;
- Task Scheduler i izrada baze iz XML-a/JSON-a;
- zaustavljanje upita koji se izvršava;
- opcija transakcije u Izvrši SQL datoteku i Data Transferu: svaki zahtjev kroz tunel je zasebna sesija baze, pa jedna transakcija ne može obuhvatiti više njih. Naredbe idu u paketima, a svaki se potvrđuje čim završi.
Što nije dostupno, u izbornicima je zasivljeno.
Veliki rezultati
Jedan zahtjev smije koristiti samo onoliko memorije i vremena koliko hosting dopušta, pa NabuSQL nikad ne traži više nego što stane:
- tablica s podacima učitava stranicu po stranicu, kao i inače;
- upit u SQL editoru s vrlo velikim rezultatom prekida se na sigurnom mjestu, a uz broj redaka piše Rezultat je skraćen — dodajte
LIMITili užiWHERE; - backup, izvoz i Data Transfer čitaju velike tablice u manjim stranicama. Stranica koja ne stane čita se ponovno upola manja; backup nikad nije tiho nepotpun;
- restore i uvoz šalju naredbe u paketima prilagođenima
post_max_sizeimemory_limithostinga.
Nadogradnja skripte
Nove verzije NabuSQL-a ponekad trebaju noviju skriptu. Tada ćete vidjeti poruku da je skripta na serveru zastarjela (The tunnel script on the server is outdated). Ponovno kliknite Preuzmi PHP skriptu — ključ ostaje isti — i zamijenite datoteku na serveru.
Rješavanje problema
| Poruka | Što učiniti |
|---|---|
| Endpoint returned 404 kod Provjeri skriptu | Kriva adresa ili datoteka na serveru pripada drugoj konekciji. Provjerite URL, pa ponovno preuzmite skriptu i zamijenite datoteku. |
| Access denied for user … | Korisničko ime, lozinka ili baza na kartici Osnovno. Koristite puna imena iz cPanela s prefiksom; host ostaje localhost. |
| Access denied … to database 'information_schema' | Kao odredište je odabrana sistemska baza. Odaberite svoju bazu. |
| Allowed memory size … exhausted | memory_limit hostinga je premalen za tu operaciju. Povećajte ga u PHP limitima ili u cPanelu. |
| HTTP 500 | Skripta je pala na serveru, obično zbog memorije ili vremena. Detalji su u error logu hostinga. |
| HTTP 403 | Vatrozid na hostingu (npr. ModSecurity) blokirao je zahtjev. Zamolite hosting da dopusti adresu skripte. |
| Skripta je zastarjela | Vidi Nadogradnja skripte. |
| Not available over the HTTP tunnel yet | Ta funkcija ne radi kroz tunel — vidi popis. |
| Preimenovanje ili izrada baze ne uspijeva | Na cPanelu korisnik baze obično ne smije stvarati baze. Napravite ih u cPanelu. |
Kad prestanete koristiti tunel, izbrišite skriptu sa servera.
