Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов

Uri::root() и
Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки
--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено
https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр
$live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида

{YOUTUBE}...{/YOUTUBE},
{MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов
{YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".
Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 5192 Просмотров
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Joomla 3.3.4 nginx и конфиг htaccess
« : 17.06.2015, 20:02:23 »
Добрый вечер.
Решил перевести сайт с апача на nginx.
Код
nginx -v
nginx version: nginx/1.8.0
Возникли непонятные ситуации с конфигов htaccess.

https://docs.joomla.org/Nginx
В этой инструкции ничего не сказано про эти строки.
Это нужно переводить в нгинс?
Код
RewriteCond %{QUERY_STRING} category_id=.*
RewriteRule ^(.*)$ http://мой_сайт.ru/$1? [R=301,L]

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
« Последнее редактирование: 18.06.2015, 08:54:47 от bagas »
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #1 : 18.06.2015, 10:13:05 »
Пока такой конфиг. соорудил.

Код
server {
        listen 80;
        root /usr/local/www/default/;
        }

server {
        listen 80;
        server_name  24.com;
        return       301 http://www.24.com$request_uri;
        }

server {
        listen 80;
        server_name www.24.com;
        access_log /mnt/backLOG/log/nginx/24.access_log;
        error_log /mnt/backLOG/log/nginx/24.error_log info;
        root /usr/local/www/24.com;
        index index.php index.html index.htm default.html default.htm;

location / {
             try_files $uri $uri/ /index.php?$args;
        }

location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
            return 403;
            error_page 403 /403_error.html;
        }

location ~ \.php$ {
            fastcgi_pass unix:/tmp/www.sock;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

location ~* \.(ico|pdf|flv)$ {
            expires 1y;
        }

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
            expires 34d;
        }

location ^~ /administrator/ {
            index index.php;
            auth_basic           "closed site";
            auth_basic_user_file /usr/local/.htpasswd;
        allow 23.18.56.22;
        allow 27.5.20.26;
        }

location /pma {
            alias /usr/local/www/phpMyAdmin/;
            index index.php;
            auth_basic           "closed site";
            auth_basic_user_file /usr/local/.htpasswd;
        allow 23.18.56.22;
        allow 27.5.20.26;
        }

location ~ ^/pma/(.*\.php)$ {
            fastcgi_pass unix:/tmp/www.sock;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /usr/local/www/phpMyAdmin/$1;
            fastcgi_param DOCUMENT_ROOT /usr/local/www/phpMyAdmin;
        }

location ~ /\.ht {
            deny  all;
        }
}
« Последнее редактирование: 18.06.2015, 14:15:43 от bagas »
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #2 : 18.06.2015, 19:03:48 »
актуально.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #4 : 19.06.2015, 08:32:05 »
https://docs.joomla.org/Nginx
Хмм.
Эту ссылку я видел, я в первом посте своем указал ее.
То-етсь этого (docs.joomla.org/Nginx) будит достаточно?
Хмм, тогда не пойму зачем добавлять такие настройки для апача в htaccess?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #5 : 20.06.2015, 00:18:43 »
Какие настройки? В апаче свой реврайт, в в нгинксе - свой.
Что именно прописать для него - указано на оффсайте.
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #6 : 20.06.2015, 09:06:05 »
Системы немного отличаются, если в апаче, настройки отдельного сайта формируются в файле .htaccess который лежит в корне этого же сайта, то в nginx для каждого сайта есть свой конфиг файл, но находиться он в «etc/nginx/sites-available». Ну и конечно же другой синтаксис, который подробно описан на офф сайте.

Пример моих настроек
demo.conf         
                                                                                                                                         
  • [X]
Код: php
upstream backend-demo {server unix:/var/run/php5-demo.sock;}

server {
<------>listen<><------><------><------>80;
<------>server_name<---><------><------>demo.ru www.demo.ru;
<------>root<--><------><------><------>/var/www/demo/www;
<------>access_log<----><------><------>/var/log/nginx/demo-access.log;
<------>error_log<-----><------><------>/var/log/nginx/demo-error.log;
<------>index<-><------><------><------>index.php index.html;
<------>rewrite_log<---><------><------>on;
<------>if ($host != 'demo.ru' ) {
<------><------>rewrite><------><------>^/(.*)$  http://demo.ru/upstream backend-demo {server unix:/var/run/php5-demo.sock;}

server {
<------>listen<><------><------><------>80;
<------>server_name<---><------><------>demo.ru www.demo.ru;
<------>root<--><------><------><------>/var/www/demo/www;
<------>access_log<----><------><------>/var/log/nginx/demo-access.log;
<------>error_log<-----><------><------>/var/log/nginx/demo-error.log;
<------>index<-><------><------><------>index.php index.html;
<------>rewrite_log<---><------><------>on;
<------>if ($host != 'demo.ru' ) {
<------><------>rewrite><------><------>^/(.*)$  http://demo.ru/$1  permanent;
<------>}
<------>location ~* ^/core/ {
<------><------>deny<--><------><------>all;
<------>}
<------>location / {
<------><------>try_files<-----><------>$uri $uri/ @rewrite;
<------>}
<------>location /index.html {
<------><------>rewrite><------><------>/ / permanent;
<------>}

<------>location ~ ^/(.*?)/index\.html$ {
<------><------>rewrite><------><------>^/(.*?)/ // permanent;
<------>}
<------>location @rewrite {
<------><------>rewrite><------><------>^/(.*)$ /index.php?q=$1;
<------>}
<------>location ~ \.php$ {
<------><------>include><------><------>fastcgi_params;
<------><------>fastcgi_param<->SCRIPT_FILENAME $document_root$fastcgi_script_name;
<------><------>fastcgi_pass<-->backend-demo;
<------>}
<------>location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
<------>   access_log<-><------>off;
<------>   expires<----><------><------>10d;
<------>   break;
<------>}
<------>location ~ /\.ht {
<------><------>deny<--><------><------>all;
<------>}
}  permanent;
<------>}
<------>location ~* ^/core/ {
<------><------>deny<--><------><------>all;
<------>}
<------>location / {
<------><------>try_files<-----><------>$uri $uri/ @rewrite;
<------>}
<------>location /index.html {
<------><------>rewrite><------><------>/ / permanent;
<------>}

<------>location ~ ^/(.*?)/index\.html$ {
<------><------>rewrite><------><------>^/(.*?)/ // permanent;
<------>}
<------>location @rewrite {
<------><------>rewrite><------><------>^/(.*)$ /index.php?q=upstream backend-demo {server unix:/var/run/php5-demo.sock;}

server {
<------>listen<><------><------><------>80;
<------>server_name<---><------><------>demo.ru www.demo.ru;
<------>root<--><------><------><------>/var/www/demo/www;
<------>access_log<----><------><------>/var/log/nginx/demo-access.log;
<------>error_log<-----><------><------>/var/log/nginx/demo-error.log;
<------>index<-><------><------><------>index.php index.html;
<------>rewrite_log<---><------><------>on;
<------>if ($host != 'demo.ru' ) {
<------><------>rewrite><------><------>^/(.*)$  http://demo.ru/$1  permanent;
<------>}
<------>location ~* ^/core/ {
<------><------>deny<--><------><------>all;
<------>}
<------>location / {
<------><------>try_files<-----><------>$uri $uri/ @rewrite;
<------>}
<------>location /index.html {
<------><------>rewrite><------><------>/ / permanent;
<------>}

<------>location ~ ^/(.*?)/index\.html$ {
<------><------>rewrite><------><------>^/(.*?)/ // permanent;
<------>}
<------>location @rewrite {
<------><------>rewrite><------><------>^/(.*)$ /index.php?q=$1;
<------>}
<------>location ~ \.php$ {
<------><------>include><------><------>fastcgi_params;
<------><------>fastcgi_param<->SCRIPT_FILENAME $document_root$fastcgi_script_name;
<------><------>fastcgi_pass<-->backend-demo;
<------>}
<------>location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
<------>   access_log<-><------>off;
<------>   expires<----><------><------>10d;
<------>   break;
<------>}
<------>location ~ /\.ht {
<------><------>deny<--><------><------>all;
<------>}
};
<------>}
<------>location ~ \.php$ {
<------><------>include><------><------>fastcgi_params;
<------><------>fastcgi_param<->SCRIPT_FILENAME $document_root$fastcgi_script_name;
<------><------>fastcgi_pass<-->backend-demo;
<------>}
<------>location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|bmp)$ {
<------>   access_log<-><------>off;
<------>   expires<----><------><------>10d;
<------>   break;
<------>}
<------>location ~ /\.ht {
<------><------>deny<--><------><------>all;
<------>}
}
Я знаю только то, что ничего не знаю
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #7 : 20.06.2015, 09:54:55 »
Хмм, ладно сделаю по своему.
навсякий пожарный добавлю эти реврайты для сайта на nginx.
Код
RewriteCond %{QUERY_STRING} category_id=.*
RewriteRule ^(.*)$ http://мой_сайт.ru/$1? [R=301,L]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #8 : 20.06.2015, 12:10:58 »
Хмм, ладно сделаю по своему.
навсякий пожарный добавлю эти реврайты для сайта на nginx.

В данном случаи вы пытаетесь использовать Joomla как движок, но на всякий случай рядом ставите modx, а то вдруг Joomla не будет работать.
Я знаю только то, что ничего не знаю
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #9 : 20.06.2015, 12:16:10 »
Не раз встречал готовые конфиги для nginx. На GitHub даже кто-то выкладывал. Вы же явно не первый, кто задался этим вопросом.
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #10 : 20.06.2015, 14:33:36 »
Не раз встречал готовые конфиги для nginx. На GitHub даже кто-то выкладывал. Вы же явно не первый, кто задался этим вопросом.
ясно.
В данном случаи вы пытаетесь использовать Joomla как движок, но на всякий случай рядом ставите modx, а то вдруг Joomla не будет работать.
Что за modx и для чего он?
Цитировать
Не раз встречал готовые конфиги для nginx. На GitHub даже кто-то выкладывал. Вы же явно не первый, кто задался этим вопросом.
В интернете полно конфигов под нгинс, но мне важна безопасность, конфиг я сам сделал, сравнил его с (https://docs.joomla.org/Nginx) практически одинаковы, вот задался вопрос нужно ли переводить из htaccess реврайты.
Если одназначного ответа/решения нет, то думаю лучьше переведу эти реврайты в нгинс.
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #11 : 20.06.2015, 14:38:26 »
Что за modx и для чего он?

Другой пример, вы ремонтируете деревянный стол, с помощью гвоздей и молотка, но рядом держите сварочный аппарат, хоть он и не нужен, но вдруг пригодиться сварить дерево или еще для чего.
Я знаю только то, что ничего не знаю
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #12 : 20.06.2015, 18:45:37 »
Посмотрим, вообщем.
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #13 : 21.06.2015, 14:31:51 »
Почему-то с этим кодом открывалась только главная страница, остальные страницы давали только скачать файл.
Код
location / {
try_files $uri $uri/ /index.php?$args;
if ($query_string ~ "base64_encode[^(]*\([^)]*\)"){
return 403;
}
if ($query_string ~* "(<|%3C)([^s]*s)+cript.*(>|%3E)"){
return 403;
}
if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})"){
return 403;
}
if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})"){
return 403;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}
оставил такой конфиг.
Код
server {
listen 3.3.3.9:80;
server_name q-dr.net;
return 301 http://www.q-dr.net$request_uri;
}

server {
listen 3.3.3.9:80;
server_name www.q-dr.netm;
access_log /mnt/backLOG/log/nginx/q-dr.access_log;
error_log /mnt/backLOG/log/nginx/q-dr.error_log info;
root /usr/local/www/q-dr.net;
index index.php index.html index.htm default.html default.htm;
open_file_cache max=15024 inactive=600s;
open_file_cache_valid 3000s;
open_file_cache_min_uses 2;
open_file_cache_errors on;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

location ~ \.php$ {
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~* \.(ico|pdf|flv)$ {
expires 1y;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 30d;
}

location ~* ^/administrator/.+\.php {
auth_basic "closed site";
auth_basic_user_file /usr/local/.htpasswd;
fastcgi_pass unix:/tmp/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\.ht {
deny all;
}
}

Какие нюансы безопасности еще учесть в связке (nginx+php-fpm+joomla3)?
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #14 : 21.06.2015, 17:00:23 »
Еще nginx может давать отдельному сайту отдельного пользователя, что очень удобно. Если взломали один сайт, то им не дотянуться до других.
Я знаю только то, что ничего не знаю
*

bagas

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #15 : 21.06.2015, 17:36:46 »
Еще nginx может давать отдельному сайту отдельного пользователя, что очень удобно. Если взломали один сайт, то им не дотянуться до других.
Это я в курсе.
Лучше тогда использовать легкую виртуализацию jail на уровне операционной системы.
Кстати, добавил для всех сайтов в http отсек такое по безопасности.
Код
#
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block;";
add_header X-Content-Security-Policy "allow 'self';";
add_header X-WebKit-CSP "allow 'self';";
#
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
Re: Joomla 3.3.4 nginx и конфиг htaccess
« Ответ #16 : 29.03.2023, 12:33:18 »
Как то у меня не получается поставить защиту, пробовал 2 варианта:

Код
location /administrator/ {
   auth_basic "HTTP Basic Authentication";
   auth_basic_user_file /var/www/www-root/data/www/site.ru/administrator/.htpasswd;
 }

и этот:

Код
location ~* ^/administrator/.+\.php {
auth_basic "closed site";
auth_basic_user_file /var/www/www-root/data/www/site.ru/administrator/.htpasswd;
fastcgi_pass unix:/var/www/php-fpm/1.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

При использовании первого варианта, после ввода логина и пароля  - просто скачивается index.php из админки
При использовании второго - совсем тишина.

Посоветуйте в чем проблема?

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 3773
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 531
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 696
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1755
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 2131
Последний ответ 27.03.2025, 10:40:29
от wishlight