Avatar
Ondri
Člen
Avatar
Ondri:

Milí vývojári,

snažil som sa rozbehať laravel na hostingu wedos, avšak neúspešne. Takúto mám priečinkovú architektúru:

/web(root)/<obsah priečinku public>
/project/<všetky ostatné súbory laravelu okrem priečinka public>

samozrejme, upravené cesty k autoload.php a app.php v index.php a dostávam 500 Internal Server error. Čítal som ale že na wedosáckom hosting sa to rozbehať nedá, vraj majú niektoré funkcie, ktoré laravel potrebuje, povypínané. Po úprave .htaccess súboru čo tam majú defaultný (aj keď neviem či som ho upravil správne) som dostal error:

Warning: putenv() has been disabled for security reasons in /data/web/vir­tuals/132576/vir­tual/www/doma­ins/ondri_doma­in_project/ven­dor/vlucas/phpdo­tenv/src/Loader­.php on line 344

V podstate ma zaujíma, či to robím dobre a či je chyba na wedosáckej strane, poprípade nejaké odporúčania na hostingy ktoré laravel "uhandlujú", alebo návrh nejakého úplne iného spôsobu zdieľania Laravel appiek na internete, ako to robíte vy, etc etc.... Odkazy, články, rady,.. Uvítam všetko. Ďakujem velice krásne dopredu za trpezlivosť a odpovede.

 
Odpovědět 2. září 19:53
Avatar
Kuroaku
Člen
Avatar
Kuroaku:

Jestliže laravel potřebuje putenv, tak máš dozajista smůlu. Ten je na wedosu zakázaný, protože nejsou schopní udělat zapouzdření jednolivých webhostingů lépe.

Jinak mě taky napadá celkem klasická chyba - spousta systémů kdovíproč ráda používá symlinky. Takže bych se mrknul po nějakém htaccessu, co používá FollowSymLinks. Další zakázaná věc na wedosu.

Editováno 2. září 20:08
Nahoru Odpovědět  +1 2. září 20:08
Třikrát přemýšlej, dvakrát piš a debug a testy nebudou zapotřebí.
Avatar
Kuroaku
Člen
Avatar
Kuroaku:

Co se použitelného hostingu týče - výborný v potřebách náročnějších zákazníků je rosti.cz
Ale zaplatíš za měsíc tam tolik, co u wedosu za rok. Ovšem vyplatí se to. Nebude ti chybět node.js server, komprese obrázků, ani nic jiného.

Nahoru Odpovědět 2. září 20:12
Třikrát přemýšlej, dvakrát piš a debug a testy nebudou zapotřebí.
Avatar
Ondri
Člen
Avatar
Ondri:

Som náročnejší zákazník keď potrebujem aby mi na hostingu šlapal jeden z najpopulárnejších frameworkov jedného z najpoužívanejších backendových webových jazykov súčasnosti ?

 
Nahoru Odpovědět  +1 3. září 9:56
Avatar
Kuroaku
Člen
Avatar
Kuroaku:

Bohužel ano. Wedos je jako Microsoft za doby windows xp. Drží si to, co funguje, jak to jen jde. Nedávno jsem jim navrhoval přechod z MySql na MariaDB i s postupem, jak to udělat bez výpadku. Vydělávají, tak nemají důvod vylepšovat. A přitom je MariaDB binárně kompatibilní fork MySql, který je stále udržován open source vývojáři. Změny, co dává, jsou vyšší rychlost a víc funkcí.
Takže u wedosu bez šance.

Nahoru Odpovědět 3. září 11:08
Třikrát přemýšlej, dvakrát piš a debug a testy nebudou zapotřebí.
Avatar
Ondri
Člen
Avatar
Ondri:

Ďakujem Ti a cením si odpovede :) porozhliadnem sa teda po niečom inom. Keby ale nie je u wedosu problém, uvedený postup by fungoval ?

 
Nahoru Odpovědět 3. září 14:38
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Ondri
BlugW:

Moje weby jedou na Symofny3 u A2Hosting
Při objednávce si můžete vybrat umístění serveru na Amsterdam. :)

PS: Ceny jsou konečné a neplatite za žádné aliasy, crony, emaily, atd..., jak je to zvykem u českých poskytovatelů. :)

Editováno 3. září 19:04
Nahoru Odpovědět 3. září 19:03
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na Ondri
Josef Kuchař (Pepa489):

Je tu možnost jak to na wedosu rozchodit, jen je to potřeba trochu patchnout http://laravel.io/…ction-putenv

Nahoru Odpovědět 3. září 19:19
2x piš, jednou debuguj
Avatar
Odpovídá na Ondri
Josef Kuchař (Pepa489):

Asi jsem to fixnul, ještě jen fixnu routování a dám tu návod ;)

Nahoru Odpovědět 3. září 20:24
2x piš, jednou debuguj
Avatar
Nahoru Odpovědět 3. září 21:04
2x piš, jednou debuguj
Avatar
Odpovídá na Ondri
Josef Kuchař (Pepa489):

Návod:

1. Otevřít composer.json, přidat do "require"

"paragonie/random_compat": "~1.4"

2. Do terminálu zadat ve složce s projektem

composer install

3. V rootu projektu přidat soubor .htaccess s obsahem

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ /public/ [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ /public/$1
</IfModule>

4. Ve složce public nahradit .htaccess následujícím obsahem

# htaccess rules for subdomains and aliases
# to create new subdomain, create a folder www/subdom/(subdomain name)
# to create web for alias, create a folder www/domains/(whole domain name)

# htaccess pravidla pro subdomeny a samostatne weby aliasu
# pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny)
# pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev)
# dalsi info a priklady: http://kb.wedos.com/r/32/webhosting-htaccess.html

#Options -MultiViews

RewriteEngine On

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2/public -d
RewriteRule (.*) subdom/%2/public/$1 [DPI]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2/public -d
RewriteRule (.*) subdom/%2/public/index.php [L]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/public/(.+[^/])$ /$1/ [R]

5. Ze souboru .env v rootu projektu zkopírovat hodnoty do souborů app.php, database.php ve složce config
Příklad:
.env:

APP_DEBUG=false

app.php:

'debug' => env('APP_DEBUG', false)

na

'debug' => false

PS: U stringů je potřeba přidat uvozovky nebo apostrofy
7. Nastavit práva 7777 na složku storage a bootstrap/cache
Kdyby někdo měl problém, tak ať napíše

Editováno 3. září 22:07
Nahoru Odpovědět 3. září 22:04
2x piš, jednou debuguj
Avatar
Nahoru Odpovědět 3. září 22:39
2x piš, jednou debuguj
Avatar
Odpovídá na Ondri
Josef Kuchař (Pepa489):

Fix pro routování, do public/.htaccess

# htaccess rules for subdomains and aliases
# to create new subdomain, create a folder www/subdom/(subdomain name)
# to create web for alias, create a folder www/domains/(whole domain name)

# htaccess pravidla pro subdomeny a samostatne weby aliasu
# pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny)
# pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev)
# dalsi info a priklady: http://kb.wedos.com/r/32/webhosting-htaccess.html

#Options -MultiViews

RewriteEngine On

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteRule (.*) subdom/%2/public/$1 [DPI]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteRule ^ index.php [L]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/public/(.+[^/])$ /$1/ [R]

Testováno zatím pouze na subdoméně

Nahoru Odpovědět 4. září 13:35
2x piš, jednou debuguj
Avatar
Odpovídá na Josef Kuchař (Pepa489)
Josef Kuchař (Pepa489):

Tak snad poslední fix, pro přidání koncových lomítek, přidat do public/.htaccess

# presmerovani koncovych lomitek
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
Nahoru Odpovědět 4. září 14:51
2x piš, jednou debuguj
Avatar
Ondri
Člen
Avatar
Ondri:

Pekne pekne. Bolo by pekné to niekde zhrnúť do článku :) Skúšal som hosting http://webhouse.sk majú mesačnú skušobnú dobu a tam s tým nie je žiadny problém. Len je treba dať pozor na verziu PHP, lebo defaultne tam je ešte 5.4 a laravel potrebuje min. 5.6.4. Dá sa prehodiť v administrácií jediným klikom.

 
Nahoru Odpovědět 4. září 16:53
Avatar
Odpovídá na Ondri
Josef Kuchař (Pepa489):

Právě píšu patcher, který to automaticky upravý a potom k tomu můžu napsat článek :)

Nahoru Odpovědět 4. září 21:35
2x piš, jednou debuguj
Avatar
Odpovídá na Ondri
Josef Kuchař (Pepa489):

Tak jo, tady je odkaz na github, doporučuji zálohovat projekt, protože to nemusí (mělo by ale i tak) fungovat 100% https://github.com/…char/Larawed

Nahoru Odpovědět 5. září 22:29
2x piš, jednou debuguj
Avatar
Vakos
Redaktor
Avatar
Vakos:

Co jsem tak zjišťoval, tak u https://www.websupport.cz podporují Laravel a kdyby byl nějaký problém, tak podpora ti pomůže to zprovoznit, mám s tím dobré zkušenosti.

Nahoru Odpovědět 6. září 9:49
"Jediný způsob, jak dělat skvělou práci, je milovat to, co děláte. Pokud jste to ještě nenašli, hledejte dál. Ne...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.