Vlastní hosting, apache, php, mysql, / jak vyřešit https

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Jey
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 30. črc 2011
Bydliště: Praha

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od Jey »

nekdo se ptal, tak aktualizuji tema:
neuspesne pokusy o update nebo aktualizaci certbot:

Kód: Vybrat vše

root@NAS:~# apt-get install certbot
Reading package lists... Done
Building dependency tree
Reading state information... Done
certbot is already the newest version (0.10.2-1~bpo8+1).
0 upgraded, 0 newly installed, 0 to remove and 71 not upgraded.

Kód: Vybrat vše

root@NAS:~# apt-get certbot-apache install
E: Invalid operation certbot-apache
root@NAS:~# sudo apt install python3 python3-venv libaugeas-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libaugeas-dev : Depends: libxml2-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
certbot verze 0.10
bohuzel stara verze, nepristupuje ke spravnemu serveru letsencrypt (https://acme-v01.api.letsencrypt.org/directory), takze nefunguje
updatovat se primo neda (ani vnutit spravny server), neexistuji distra pro jessie 8 debian. manualni instalace balicku nefunguje, proprietarni linux, ani se snahou vse doinstalovat, ani pomoci --force.

Kód: Vybrat vše

root@NAS:~# certbot certonly -d domena1.cz -d domena2.cz -d domena3.cz
Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?
-------------------------------------------------------------------------------
1: Place files in webroot directory (webroot)
2: Spin up a temporary webserver (standalone)
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):aaa@aaa.cz
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
An unexpected error occurred:
ConnectionError: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f6daac07390>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Please see the logfiles in /var/log/letsencrypt for more details.
root@NAS:~#
=>

acme 3.10
zde je situace lepsi, funguje zcela urcite, generuje certifikaty (https://acme-v02.api.letsencrypt.org/directory), ale bohuzel jen pres cloudflare(?). cilem je 1 certifikat pro vice sub/domen. coz by slo. chystam se vyzkouset pristup na web s jejich certifikatem, ale jsem si temer jisty, ze tenhle certifikat je potreba pokazde odkliknout v prohlizeci. (nebo obdrzim letsencrypt???)
- jeste prudi, ze nema cloudflare credentials, vytvoril jsem si tam nejaky ucet, ale nevim jak a co vepsat na commandline nebo spousteci soubor.

Kód: Vybrat vše

root@NAS:~# acme.sh  --issue  -d domena1.cz -d domena2.cz -d domena3 --dns dns_cf --server letsencrypt -w /acme/
[Fri May 23 12:47:49 CEST 2025] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Fri May 23 12:47:49 CEST 2025] Signing from existing CSR.
[Fri May 23 12:47:54 CEST 2025] Getting webroot for domain='domena1.cz'
[Fri May 23 12:47:54 CEST 2025] Getting webroot for domain='domena2.cz'
[Fri May 23 12:47:54 CEST 2025] Getting webroot for domain='domena3.cz'
[Fri May 23 12:47:54 CEST 2025] Adding TXT value: s-NDKKwn9p7Nrv5Pv2OsT6B0uXy18JILi9MdeGuqCsU for domain: _acme-challenge.domena1.cz
[Fri May 23 12:47:55 CEST 2025] You didn't specify a Cloudflare api key and email yet.
[Fri May 23 12:47:55 CEST 2025] You can get yours from here https://dash.cloudflare.com/profile.
[Fri May 23 12:47:55 CEST 2025] Error adding TXT record to domain: _acme-challenge.domena1.cz
[Fri May 23 12:47:55 CEST 2025] Please add '--debug' or '--log' to see more information.
[Fri May 23 12:47:55 CEST 2025] See: https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh
=> vyleze 1 soubor .key, ktery ted hodlam vyzkouset jako certifikat, pripadne po zkompilovani do .pem souboru.

docker, docker-compose, tusim co to je (slo by tam zahrnout jen prostredi pro ten certbot??), ale neumim s tim.
Jey
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 30. črc 2011
Bydliště: Praha

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od Jey »

Summary:
==========
(jsem poměrně blízko :-) používám acme 3.10, certbot jsem zahodil, protože neexistuje novější (funkční) verze pro Debian 8)

1) Pomocí následujícího příkazu jsem se naučil analyzovat certifikáty..
openssl x509 -noout -text -in 'cerfile.cer';
openssl x509 -inform pem -noout -text -in 'cerfile.cer';
openssl x509 -inform der -noout -text -in 'cerfile.cer';
2) Pomocí acme.sh jsem si vygeneroval certifikáty pro doménu např. robocraft.cz (byl nesmysl tam cpát Cloudflare dns)
Cílem je vygenerovat certifikát pro Apache2, default je uložený na /etc/frontview/apache2/apache.pem (funkční standalone)
acme.sh --issue -d robocraft.cz -d www.robocraft.cz --standalone --server letsencrypt
acme.sh --issue -d robocraft.cz -d www.robocraft.cz --apache --server letsencrypt
3) podle analýzy souborů (vše ve složce s doménou)
ca.cer, robocraft.cz.csr, robocraft.cz.key, fullchain.cer, robocraft.cz.csr.conf, robocraft.cz.key.revoked, robocraft.cz.conf, robocraft.cz.csr.revoked
mám ty správné soubory (je tam cert od letsencrypt pro doménu)
4) nevím jak to celé zfinalizovat, aby byl výstup .pem soubor (doteď jsem neměl .key soubor, tak možná udělám pokrok)
Ten pak můžu vyměnit apache (apache2.pem), snad teoreticky. Jak do Apache nacpat další certifikáty... jinak nevím.

V plánu je mít víc domén i certifikátů, 1 apache, 1 kořenovou složku s hostingem, v ní podsložky (obsluhování pomocí .htaccess), ale jak s certifikáty, jestli jednotlivě nebo masově nacpat do jednoho souboru, nevím. /// Konverzní operace (veškeré) pomocí openssl nefungují, píše že nejde o typ x509. Nastavit pak nějaký cron bude ve finále asi opravdu nejjednodušší.

Čerpám i z tohoto (10let starého) návodu https://www.root.cz/clanky/acme-sh-snad ... s-encrypt/
zsdx
Začátečník
Začátečník
Registrován: 10. srp 2017
Bydliště: na Pankraci

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od zsdx »

..jsem poměrně blízko..
..nevím jak to celé zfinalizovat..
..snad teoreticky..
Tak hlavne, ze neztracis viru a nenudis se ;) Nebylo by nakonec efektivnejsi ten certifikat vygenerovat nekde jinde?
Jinak boot nejakeho aktualnejsiho linuxu (treba i docasne z USB) je na tom Netgearu mozny.
Jey
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 30. črc 2011
Bydliště: Praha

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od Jey »

Přesně o HW ani nejde. Ja pouzivam hlavne ten jejich SW, ktery je na Debian 8 a ktery podle potreb dale modifikuji. :-) Bohužel ukončili vyvoj a nikdo se této příležitosti dosud nechopil. Můžeš si vyzkoušet, že jede skoro na čemkoliv ve VM a ve fóru používali ReadyNAS OS lidi s naprosto custom hardware (bench table pc 16 disků apod), což se právě nelíbilo výrobci.

Pokud bych dal nový linux, budu řešit polovinu problémů znovu a jinak. Multihosting je drahý a dražší každý rok. Proto zkouším takto. Než to rozchodím, tak už ho nebudu potřebovat.

Ale i kdyby to šlo na jedné doméně a dokázal jsem si vygenerovat společný certifikát (??? bude jeden pro více domén, nebo bude více souborů???), půjde o úspěch.
Nějaký expert by to vyřešil za hodinu, ale ten dělá u wedos a má mlčenlivost, respektive kdyby neměl, netrousí tu knowhow.

Nevím jak je to pořešené v Apache, momentálně je tam 1 pem soubor (default), podle návodu níže se pokusím
https://gist.github.com/ccschmitz/c7e77 ... -apache-md
jen tam není <záložka> virtualhost s 443 portem, ale je to pod defaultem. Prd se v tom vyznám. Ale zvenku běží služba http 80 a https 443 obojí servíruje webstránky.

/// ještě mě velmi vyděsilo, že apache ignoruje .htaccess soubor včetně direktiv uvnitř, nebo je vypnutý mod rewrite (což není), budu muset prolézt apache2.conf
Jinak tohle není o víře, ale o tom, že víš co děláš. Nebo, že se to postupně naučíš. Certifikáty vypadají ok, už je jen nějak pospojovat, servírovat.
killerek
Začátečník
Začátečník
Registrován: 09. pro 2003
Bydliště: Praha

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od killerek »

Zkus si kdekoliv nejakou zakladni VPSku treba jen na mesic za cca 300 korun bez slev, kde si nainstalujes nejakou aktualni distribuci a budes to mit rozjete pres vikend. Pokud nemas nejake mohutne weby, tak by mozna i stalo za to zkusit Nginx misto Apache.
Jey
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 30. črc 2011
Bydliště: Praha

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od Jey »

Asi se oba budeme opakovat, ale tolik teď platím za hosting a ty projekty si tolik ani nevydělají, takže to jsou pro mě enormní náklady, proto toto řešení. Navíc jak jsem 3x napsal, tak by mi tam nejela půlka stávajících aplikací, což bych řešil daleko déle. Mám svoje minimalistické řešení, na míru upravené všechny aplikace, řeším jednu poslední. Navíc nevím, jak by změna hostingu vyřešila moje problémy s certifikátem.

Byl by tam kompletně jiný linux, zase bych hledal co vůbec nainstalovat a jaké hledat alternativy. Klidně zaplatím někomu.. kdo mi řekne odkáže nebo vysvětlí, kde jsou nějaké informace o tom, jak vytvořit .pem pro apache.. tedy certifikát, aby zahrnoval více domén zároveň.

Mám vytvořené certs pro doménu (pomocí acme.sh), níže uvedu seznam souborů. Problém je formát souborů.. .cer, .crt, .key, .pem ... nevím jak to rozeznat, rozpoznat. Jsem schopen vygenerovat privátní klíč a mám klíč pro doménu, ale jak z toho zplácat .pem pro apache? Na tohle potřebuju striktní přesnou odpověď.
Obrázek
uploaded upload
Jak z tohoto zplácám .pem pro apache? Nebo nějakým jiným způsobem nacpu apachovi certifikát pro robocraft.cz (příklad)? Když vytvářím privátní klíč, tak je tam vždycky RSA PRIVATE KEY a přitom defaultní u apache v .pem je jen PRIVATE KEY, pak je tam CERTIFICATE a nakonec DH PARAMATERS.
zsdx
Začátečník
Začátečník
Registrován: 10. srp 2017
Bydliště: na Pankraci

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od zsdx »

Klidně zaplatím někomu..
Sam pises, ze vis.
Nějaký expert by to vyřešil za hodinu, ale ten dělá u wedos
Jak z tohoto zplácám .pem pro apache?
Nejsnaze tak, jak ti to nejde..
Konverzní operace (veškeré) pomocí openssl nefungují, píše že nejde o typ x509.
Mr.Nigga
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 05. lis 2005
Bydliště: Pelhřimov

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od Mr.Nigga »

Jey píše: sob 22. úno 2025, 19:18 ...debian 8 jessie bohuzel nemuzu zmenit, co tam je.. pak by nefungoval tak jak doposud. (a uz odstavily podporu a updaty bohuzel)...
Jey píše: sob 22. úno 2025, 19:18 Byl by tam kompletně jiný linux, zase bych hledal co vůbec nainstalovat a jaké hledat alternativy.

Chápu tvoje důvodu, proč se ti do toho nechce, ale stejně jednou budeš muset přejít na podporovaný systém. Takhle jsem to měl na jednom serveru s CentOS a raději jsem ho nahradil a mám klid. Téma jsi založil v únoru - nemyslíš, že bys to měl už hotový? :-D
I'm living on reds, vitamin C and cocaine. Everything's a blur
Jey
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 30. črc 2011
Bydliště: Praha

Re: Vlastní hosting, apache, php, mysql, / jak vyřešit https

Příspěvek od Jey »

Ok, tak jsem se v změti činností konečně přesvědčil, že když se tomu trochu věnuju v odpovídajícím rozpoložení, problém si vyřeším. Použil jsem už z ACME vygenerovaných souborů:

Bylo potřeba editovat: /etc/frontview/apache/ssl.conf (a přidat následující řádky, první už tam byla, jen odkazovala na apache2.pem)

Kód: Vybrat vše

SSLCertificateFile /etc/apache2/fullchain.pem
SSLCertificateKeyFile /etc/apache2/privkey.pem
Kamžto se mi podařilo zprovoznit robocraft.cz a www.robocraft.cz variantu. Zvenku z internetu funguje zabezpečené spojení. (postuju si to sem, abych si stránku uložil, až to budu hledat).

Teď už jen zbývá následující: Dát pod jeden certifikát víc různých domén. Snad to půjde stejně snadno. :-)
* zapomněl jsem.. ještě apache přinutit používat direktivu .htaccess pro přesměrování a zacházení se soubory

Mr.Nigga: Jak vidíš, tak se vyplatilo. Věř nebo ne, vzhledem k tomu objemu aplikací, by vyvstalo násobně víc problémů. Stejně už mi mezitím vypršel hosting a musel jsem prodloužit.
zdsx: Jak vidíš, tak už jen .htaccess a to nejlehčí cron. Už se mi podařilo přidat i 3 a více domén na 1 (společný) certifikát.
Odpovědět

Zpět na „Programování a web“