Instalați livestreet într-un alt director decât web, notele zilnice

Mi-a trebuit să instalez LiveStreet 0.5.1 pe VDS-ul meu. Dar, deoarece nu am apache, am intrat în problema .htaccess. Și anume. htaccess nu este suportat de nginx. deoarece nginx este pornit deja cu config gata (făcut pentru a îmbunătăți performanța). LiveStreet în sine este plină de fișiere .htaccess cu următorul conținut:







Mai întâi, setați LiveStreet în mod obișnuit în WebDIR (va crea un tabel în baza de date și config). După aceasta, vom începe să pui - structura generală a dosarului public va fi după cum urmează:

Instalați livestreet într-un alt director decât web, notele zilnice

Se pare foarte simplu - toate folderele inutile cu căi complete sunt transferate în folderul "privat", există doar fișiere necesare de pe Web. Am plecat din index.php, dosarul se încarcă; în dosarul șabloane, lăsând doar folderul cache și folderul cu imagini ale temei (am această piele / nou-jquery / imagini), tocmai a plecat din bibliotecile care pot fi apelate de pe Web prin intermediul AJAX sau metode similare. Bibliotecile partajate în felul următor: tot ce conține un fișier .htaccess este privat, restul este lăsat. Astfel, în dosarul privat sa format următoarea structură:

Instalați livestreet într-un alt director decât web, notele zilnice

Acum corectați config nginx - o voi avea așa cum arată:

Pentru toate pluginurile, resursele pentru care trebuie să trageți din dosarul pluginului, a fost adăugat un handler nginx corespunzător. Pentru alte scenarii, este mai mult decât de obicei. Acum hackem motorul:

1. /private_html/config/config.php. adăugăm:







2. /private_html/config/config.local.php. regulile căii:

Serverul path.ro este acum un folder privat.

path.public.server - am adăugat opțiunea pentru dosarul public.

path.public.cache - calea spre dosarul cache din folderul public.

sys.cache.dir este calea către directorul temporar (nu ar trebui să fie accesibilă de pe Web).

Înlocuim tot serverul path.root cu serverul.public.server.

Înlocuim tot serverul path.root cu serverul.public.server.

Adăugați o proprietate la clasă (în orice loc înainte de începerea metodelor):

La sfârșitul funcției, adăugați:

Privind funcția Compress:

În funcție, înlocuiți linia:

Căutarea funcției GetRealpath

înlocuiți calea reală de întoarcere ($ sPath); la următoarele:

Căutați funcția GetWebPath:

înlocuiți conținutul cu următoarele:

căutați funcția GetServerPath:

înlocuiți conținutul cu următoarele:

Acum toate plugin-urile instalate trebuie plasate în folderul / private_html / plugins și activate ca de obicei. Aceasta este, în general, totul, dar există unele complicații generate de hack-urile noastre - unele pluginuri curbe nu mai funcționează;). Un exemplu de astfel de problemă poate fi o cădere parțială a pluginului aceadminpanel. Fixat acest lucru este elementar:

În fișierul /private_html/plugins/aceadminpanel/classes/actions/ActionAdmin.class.php căutați funcția _callAdminAddon:

În ea înainte de linie:

Cele mai multe pluginuri funcționează "afară din cutie" și nu au nevoie de ele.

Navigare după înregistrări

Mamă ... de ce e așa de dificil?
Am făcut vlob - a compilat o listă de directoare în care există .htaccess și le-a pus pe lista de respingere. cazuri pe minut

locație / index index.php;
dacă (! -e $ request_filename) rescrie ^ (/.*) $ /index.php?q=$1 last;
pauză;
>
>

* ^. + (jpg | jpeg | gif | css | png | js | ico | xml | htm) $ acces_log dezactivat;
log_not_found off;
expiră max;
>

^ / (Clasele / acțiuni / | clase / blocuri / | clase / cârlige / | clase / module / | config / | motorului / clase / | motor / lib / extern / CSSTidy-1.3 / | motor / lib / extern / DbSimple / | motor / lib / extern / DklabCache / | motor / lib / extern / Jevix / | motor / lib / extern / JSMin-1.1.1 / | motor / lib / extern / kcaptcha / fonturi / | motor / lib / extern / PHPMailer / | motor / lib / extern / Smarty / | motor / lib / extern / Sphinx / | motor / lib / extern / xXTEA / | includ / cron / | logs / | plugin-uri / pagina / clase / | plugins / pagină / config / | plugins / page / templates / | plugins / profiler / classes / | pluginuri / profiler / config / | pluginuri / profiler / template / | template / | tmp / | uploads)
>

\ .php $ include / etc / nginx / fastcgi_params;
fastcgi_index index.php;
rapidcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
>

M-am gândit de asemenea, despre o mare regeksp mare ... si am avut ceva de a enumera toate gemorno + instalarea pluginului - necesitatea de a urca din nou în serverul de configurare, și există ceva pentru a schimba și de a reporni ... Este cu siguranță o opțiune pe care ați scris, dar nu pnt IMHO frumos 😉







Trimiteți-le prietenilor: