Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

khan-alex

  • Давно я тут
  • 649
  • 30 / 1
а их и нет таких. у 99.99% хостеров будет nginx+apache, потому что иначе на их хостинге 90% сайтов работать не будет, так как почти все cms заточены по дефолту под необходимость apache. а оно им надо? :)
Подозревал подобный ответ!
*

Avalon

  • Осваиваюсь на форуме
  • 34
  • 8 / 0
Рабочий конфиг для Joomla (или другой CMS) для сервера Linux связки nginx-php-fpm для сайта https:[//]yoursite.org с сертификатом SSL от letsencrypt и алиасом phpMyAdmin по адресу https:[//]yoursite.org/phpmyadmin cайт 'yoursite.org' заменить на Ваш сайт.
Конфиг nginx
$ sudo nano  /etc/nginx/sites-available/yoursite.org.conf
Спойлер
[свернуть]
Пул php-fpm для сайта на php Joomla или другой CMS
Сайт находится в директории /home/webmaster/public_html
$ sudo nano /etc/php/7.2/fpm/pool.d/webmaster.conf
Спойлер
[свернуть]
Пул php-fpm для phpMyAdmin
Архив с phpMyAdmin распаковать в директорию /usr/share/phpmyadmin
$ sudo nano  /etc/php/7.2/fpm/pool.d/phpmyadmin.conf
Спойлер
[свернуть]
ВАЖНО! Для каждого сайта необходим свой sock php-fpm, иначе кэш php одного сайта будет мешать работе другого сайта в выдаче.
ВАЖНО! Не забываем добавить в самое начало раздела [PHP] файла php.ini инструкцию 'cgi.fix_pathinfo = 0' запрет выполнения скриптов вне указанной директории сайта!
$ sudo nano /etc/php/7.2/fpm/php.ini
Код
[PHP]
cgi.fix_pathinfo = 0
Тестирование конфига nginx на ошибки
$ sudo nginx -t

Перезапуск сервера nginx
$ sudo systemctl restart nginx
или
$ sudo service nginx restart

Перезапуск php-fpm
$ sudo service php7.2-fpm restart
« Последнее редактирование: 05.03.2019, 17:28:35 от Avalon »
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Рабочий конфиг связки для Joomla nginx-php-fpm

Спасибо!
*

Avalon

  • Осваиваюсь на форуме
  • 34
  • 8 / 0
Добавил в конфиг nginx максимальный размер загружаемого файла [200мб], чтобы не было ошибки nginx '413 Request Entity Too Large' при установке больших по размеру расширений.
Конфиг nginx
$ sudo nano  /etc/nginx/sites-available/yoursite.org.conf
Код
...
# Максимальный размер загружаемого файла
client_max_body_size 200m;
...
Тестирование конфига nginx на ошибки
$ sudo nginx -t

Перезапуск сервера nginx
$ sudo systemctl restart nginx
или
$ sudo service nginx restart

Перезапуск php-fpm
$ sudo service php7.2-fpm restart

Для PHP в конфиге php.ini необходимо также установить директивы- для максимального размера загружаемого файла [200мб].
$ sudo nano /etc/php/7.2/fpm/php.ini
Код
upload_max_filesize = 200M
post_max_size = 200M
« Последнее редактирование: 04.03.2019, 22:45:46 от Avalon »
*

sivers

  • Живу я здесь
  • 2597
  • 360 / 0
Тестирование конфига nginx на ошибки
$ sudo nginx -t

Перезапуск сервера nginx
$ sudo systemctl restart nginx

После изменения конфигов и успешного тестирования ($ sudo nginx -t) рекомендуют делать не перезапуск сервиса, а принятие новых правил без перезапуска:
Код
$ sudo nginx -s reload
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

mgnhost

  • Захожу иногда
  • 183
  • 14 / 0
Стало понятнее. Работаю с 4 хостерами (обстоятельства) и ни у одного из них, по дефолту, не встречал такой связки. Подскажите пару-тройку хостеров которые в свои тарифы включают Nginx+PHP-FPM, разумеется не покупая для администрирования VPS-сервер.

На шареде такое возможно, только в условиях стандартных правил, при отклонении в сторону уже требуется ручные правки со стороны админа сервера, а к этому ещё и панель может перезатирать правила прописанные вручную! Поэтому шаред в этой связке не вариант.
А чем Вас не устраивает lsphp, который работает намного быстрее указанной связки, при этом ещё и все правила из .htaccess подтягиваются?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
А чем Вас не устраивает lsphp, который работает намного быстрее указанной связки, при этом ещё и все правила из .htaccess подтягиваются?
чем не устраивает, дайте подумать... а, может быть тем, что он дырявый, как решето? или тем, что разграничить юзеров нельзя даже теоретически, и чтобы это сделать надо костылей налепить таких, что там просто подпорочка на подпорочке, и весь этот карточный домик ломается при малейшгем дуновении ветра? или может быть тем, что php имеет доступ ко всему серверу, включая конфиги и прочее? но он действительно быстрый, это правда
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

polezniy

  • Захожу иногда
  • 442
  • 1 / 0

Здравствуйте, решил попробовать ваш конфиг, но почему-то после перезагрузки nginx отдало ошибку.
Подскажите, этот путь нужно исправлять?:
   # Алиас для phpMyAdmin[/size]      location /phpmyadmin {           root /usr/share/; - вот этот



server {     # Слушаем порт 80     listen 80;     # Поддержка IPv6     # listen [::]:80;         # Название домена сервера        server_name yoursite.org;         # Редирект на HTTPS версию сайта.     return 301 https://$server_name$request_uri; } server {    # Поддержка HTTPS ssl http2    listen 443 ssl http2;                 # Поддержка IPv6    # listen [::]:443 ssl http2;             # Название домена сервера         server_name yoursite.org;                 # Максимальный размер загружаемого файла         client_max_body_size 200m;      # Корневая директория сайта    root /home/webmaster/public_html;        # Задаем главную страницу    index index.php index.html index.htm default.html default.htm;    # Кодировка сайта Charset    charset utf-8;      # Включаем логирование    error_log /var/log/nginx/yoursite.org.error.log;    access_log /var/log/nginx/yoursite.org.access.log;     # Использование очищенных URLs для поисковой оптимизации     location / {         try_files $uri $uri/ /index.php?q=$uri&$args;     }     # Отключение лога для некоторых файлов    location = /favicon.ico { access_log off; log_not_found off; }         location = /robots.txt { access_log off; log_not_found off; }         # ссылка 'страница не найдена' при ошибке 404     # error_page 404 /index.php;             # запрет запуска скриптов в директориях         location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {                 return 403;                 error_page 403 /403_error.html;         }    # Кэширование    location ~* \.(jpg|jpeg|gif|png|bmp|ico|js|html|htm|css|swf|flv|txt|rtf|odt|ods|doc|xls|ppt|pdf)$ {    root /home/webmaster/public_html;         expires 1d;         }      # SSL конфиг    ssl on;    ssl_certificate /etc/letsencrypt/live/yoursite.org/fullchain.pem;    ssl_certificate_key /etc/letsencrypt/live/yoursite.org/privkey.pem;    ssl_trusted_certificate /etc/letsencrypt/live/yoursite.org/fullchain.pem;        # Дополнительные заголовки для увеличение безопасности    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";        # Алиас для phpMyAdmin       location /phpmyadmin {            root /usr/share/;            location ~ ^/phpmyadmin/(.+\.php)$ {                root /usr/share/;                include snippets/fastcgi-php.conf;                fastcgi_pass unix:/run/php/php-fpm-phpmyadmin.sock;                include fastcgi_params;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            }            location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {                     root /usr/share/;           access_log off;           log_not_found off;           expires 1M;            }     }    # PHP интерпретатор php-fpm через сокет 'UNIX socks'    location ~ \.php(?:$|/) {    fastcgi_split_path_info ^(.+?\.php)(/.*)?$;    root /home/webmaster/public_html;    include snippets/fastcgi-php.conf;    fastcgi_pass unix:/run/php/php-fpm-webmaster.sock;    include fastcgi_params;    fastcgi_ignore_client_abort off;    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    }            # запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте         location ~ /\.svn {                   deny all;                   }         location ~ /\.git {                   deny all;                   }         location ~ /\.hg {                   deny all;                   }         location ~ /\.(?!well-known).* {                   deny all;                   }            # Сжатие gzip выходных данных         gzip on;         gzip_http_version 1.1;         gzip_comp_level 6;         gzip_min_length 1100;         gzip_buffers 4 8k;         gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript         gzip_proxied any;         gzip_disable "MSIE [1-6]\."; }
*

polezniy

  • Захожу иногда
  • 442
  • 1 / 0
 include snippets/fastcgi-php.conf; - после проверки конфига выдает что не находит, обыскался но такого файла не нашел
*

N/A

  • Новичок
  • 1
  • 0 / 0
  • @notavailable6699
Помогите, не получается. Не ходит по ссылкам внутри сайта, все ведет на главную. Я уже 3 дня  *ОХ-Х-Х* *ОХ-Х-Х* *ОХ-Х-Х*

Код

server {
# Слушаем порт 80
listen 80;

# Поддержка IPv6
# listen [::]:80;
   
# Название домена сервера
server_name site.ru;
   
# Редирект на HTTPS версию сайта.
return 301 https://site.ru:443$request_uri;
}
server {
# Поддержка HTTPS ssl http2
listen 443 ssl http2;
       
# Поддержка IPv6
# listen [::]:443 ssl http2;
   
# Название домена сервера
server_name site.ru;
       
# Максимальный размер загружаемого файла
client_max_body_size 200m;
 
#Корневая директория сайта
root /var/www/site.ru;
   
# Задаем главную страницу
index index.php index.html index.htm default.html default.htm;

# Кодировка сайта Charset
charset utf-8;
 
# Включаем логирование
error_log /var/log/nginx/site.ru.error.log;
access_log /var/log/nginx/site.ru.access.log;

# Использование очищенных URLs для поисковой оптимизации
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ (\.html|/)$ {
try_files $uri /index.php?$args;
}


# Отключение лога для некоторых файлов
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }

# ссылка 'страница не найдена' при ошибке 404
# error_page 404 /index.php;
   
# запрет запуска скриптов в директориях
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

# Кэширование
location ~* \.(jpg|jpeg|gif|png|bmp|ico|js|html|htm|css|swf|flv|txt|rtf|odt|ods|doc|xls|ppt|pdf)$ {
root /var/www/site.ru;
expires 1d;
}
 
# SSL конфиг

###


   
# Дополнительные заголовки для увеличение безопасности
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
   
# Алиас для phpMyAdmin
#location /phpmyadmin {
#root /var/www/site.ru;
#location ~ ^/phpmyadmin/(.+\.php)$ {
#root /usr/share/;
#include snippets/fastcgi-php.conf;
#fastcgi_pass unix:/run/php/php-fpm-phpmyadmin.sock;
#include fastcgi_params;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# }
#location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
#root /usr/share/;
#access_log off;
#log_not_found off;
#expires 1M;
# }
    #}

# PHP интерпретатор php-fpm через сокет 'UNIX socks'
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+?\.php)(/.*)?$;
root /var/www/site.ru;
#/etc/php/7.4/fpm/pool.d/site.ru.conf #snippets/fastcgi-php.conf; =>
include snippets/fastcgi-php.conf;
#php7.4-fpm.sock; =>
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_ignore_client_abort off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
       
# запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте
location ~ /\.svn {
deny all;
}
location ~ /\.git {
deny all;
}
location ~ /\.hg {
deny all;
}
location ~ /\.(?!well-known).* {
deny all;
}   
# Сжатие gzip выходных данных
#gzip on;
#gzip_http_version 1.1;
#gzip_comp_level 6;
#gzip_min_length 1100;
#gzip_buffers 4 8k;
#gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript
#gzip_proxied any;
#gzip_disable "MSIE [1-6]\.";
}


*

Olegio

  • Новичок
  • 1
  • 0 / 0
Рабочий конфиг nginx для Joomla

Код

server {
# Слушаем порт 80
listen 80;

# Поддержка IPv6
# listen [::]:80;
   
# Название домена сервера
server_name site.local www.site.local;
   
# Редирект на HTTPS версию сайта.
return 301 https://site.local:443$request_uri;
}
server {
# С www на без www
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.site.local;
return 301 $scheme://site.local$request_uri;
ssl_certificate /etc/nginx/certs/site.local/fullchain.pem;
ssl_certificate_key /etc/nginx/certs/site.local/key.pem;
ssl_trusted_certificate /etc/nginx/certs/site.local/ca.pem;
}

server {
# Поддержка HTTPS ssl http2
listen 443 ssl http2;
       
# Поддержка IPv6
# listen [::]:443 ssl http2;
   
# Название домена сервера
server_name site.local;

# запрещает использовать в абсолютных перенаправлениях имя сервера
server_name_in_redirect off;

###SSL
ssl_certificate /etc/nginx/certs/site.local/fullchain.pem;
ssl_certificate_key /etc/nginx/certs/site.local/key.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;

ssl_dhparam /etc/nginx/certs/dhparam/ffdhe2048.txt;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GS256-GCM-SHA384;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security "max-age=63072000" always;

ssl_stapling on;
ssl_stapling_verify on;

ssl_trusted_certificate /etc/nginx/certs/site.local/ca.pem;
###
       
# Максимальный размер загружаемого файла
client_max_body_size 200m;
 
#Корневая директория сайта
root /var/www/site.local;
   
# Задаем главную страницу
index listovki-new.html index.php index.html index.htm default.html default.htm;

# Кодировка сайта Charset
charset utf-8;

# Использование очищенных URLs для поисковой оптимизации
location ~ (\.html|/)$ {
try_files $uri $uri/ /index.php?q=$request_uri;
#try_files $uri $uri/ /index.php?q=$uri&$args;
#try_files $uri $uri/ /index.php?$args;
}

# Включаем логирование
#error_log /var/log/nginx/site.local.error.log;
#access_log /var/log/nginx/site.local.access.log;

# Отключение лога для некоторых файлов
#location = /favicon.ico { access_log off; log_not_found off; }
#location = /robots.txt { access_log off; log_not_found off; }

# ссылка 'страница не найдена' при ошибке 404
# error_page 404 /index.php;
   
# запрет запуска скриптов в директориях
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

# Кэширование
location ~* \.(jpg|jpeg|gif|png|bmp|ico|js|html|htm|css|swf|flv|txt|rtf|odt|ods|doc|xls|ppt|pdf)$
{
root /var/www/site.local;
expires 7d;
}

# Дополнительные заголовки для увеличение безопасности
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
   
# PHP интерпретатор php-fpm через сокет 'UNIX socks'
location ~ \.php$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)?$;
root /var/www/site.local;
#/etc/php/7.4/fpm/pool.d/site.local.conf #snippets/fastcgi-php.conf; =>
include snippets/fastcgi-php.conf;
#php7.4-fpm.sock; =>
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_ignore_client_abort off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

# Запрет выполнять произвольный код на стороне сервера с привилегиями PHP-процесса
location ~ \.php$ {
try_files $fastcgi_script_name =404;
}
       
# запретить доступ к файлам репозиториев, если они случайно оказались в публичном месте
location ~ /\.(svn|git|hg) { deny all; }
location ~ /\.(?!well-known).* { deny all; }   

# Сжатие gzip выходных данных
        #gzip on;
        #gzip_vary on;
        #gzip_proxied any;
        #gzip_buffers 16 8k;
        #gzip_http_version 1.1;
        #gzip_comp_level 6;
        #gzip_min_length 20;
        #gzip_types text/plain application/xhtml+xml text/css application/xml application/xml+rss text/javascript application/javascript application/x-javascript text/xml application/json
        #gzip_proxied     any;
        #gzip_disable     "MSIE [1-6]\.";

#Ссылки
#https://docs.joomla.org/Nginx
#https://joomlaforum.ru/index.php/topic,350428.0.html

}


*

ivangord

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
всем привет. попробовал данную инструкцию , мне она не помогла ! у меня на некоторых страницах вылазит 502 ошибка . Уже все перепробовал, ничего не помогает
*

sivers

  • Живу я здесь
  • 2597
  • 360 / 0
502 - Ошибка шлюза - может говорить об упавшем либо перегруженным по ресурсам сервисе php-fpm, либо о наличии ошибок (warning/notice). Второе встречается, если на сервере отключена буферизация вывода, но при этом (в пхп или джумле) включен вывод ошибок и сообщений - в этом случае, если после вывода сообщения об ошибке система попытается отправить http-заголовки (начало сессии, запись куки и т.д.), то вылетает вот эта ошибка. Решать лучше исправлением ошибок, либо отключением их вывода, либо включением буферизации вывода (в конфиах или параметром php_value output_buffering 1).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

ivangord

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
[error] 1203#0: *5 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: IP, server: domain.ru, request: "GET /administrator/index.php?option=com_postinstall&eid=700 HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi-74.sock:", host: "domain.ru"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подойдёт ли для Joomla 4?

Автор alexandr-spb

Ответов: 3
Просмотров: 2881
Последний ответ 17.01.2023, 21:42:57
от wishlight
Fastcomet hosting support Joomla

Автор hostloo

Ответов: 0
Просмотров: 1258
Последний ответ 26.09.2018, 10:44:33
от hostloo
Оптимальная конфигурация сервера (nginx+php-fpm VS nginx+apache+fcgi_proxy)

Автор Филипп Сорокин

Ответов: 42
Просмотров: 9138
Последний ответ 29.01.2017, 11:20:52
от OgloblYa
Сайт созданный на CMS Joomla открывается в браузере только с вкл. VPN!

Автор serg7630

Ответов: 3
Просмотров: 2030
Последний ответ 20.10.2016, 18:44:23
от serg7630
Подбор тарифов хостинга для Joomla

Автор Lexx

Ответов: 9
Просмотров: 7494
Последний ответ 20.10.2016, 12:06:55
от SpaceWeb