tm

   Инфраструктура такова:

Joomla3 - Apache2(2.4.7) back-end - NGINX(1.12.1) front-end.

Удалось запустить Joomla через https только при такой конфигурации:

NGINX

nano /etc/nginx/sites-available/site.conf
server {
# ssl on;
ssl_certificate /path/cert/file/cert.pem;
ssl_certificate_key /path/to/key/file/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4;
ssl_prefer_server_ciphers on;
if ($scheme != "https") {
return 301 https://$host$request_uri;<br< a=""> />}
listen site.domain:80;
listen site.domain:443 default ssl;
...
}

И файл конфигурации Joomla:

nano /path/to/sitedir/configuration.php
<?php
class JConfig {
....
public $live_site = 'https://site.domain';
public $force_ssl = '2';
....
}
$_SERVER['HTTPS'] = 'on';

   Настройки плагина Jcomments для Joomla находятся в 

/path/to/joomla/components/com_jcomments/libraries/kcaptcha/kcaptcha_config.php

Содержимое примерно такое: 

kcaptcha_config.php

<?php defined('_JEXEC') or die;
$alphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
$allowed_symbols = "23456789abcdeghkmnpqsuvxyz";
$fontsdir = 'fonts';
$length = 4;
$width = 121;
$height = 60;
$fluctuation_amplitude = 5;
$no_spaces = true;
$show_credits = false;
$credits = 'www.joomlatune.ru';
$foreground_color = array(190, 180, 180);
$background_color = array(246, 246, 246);
$jpeg_quality = 50;
?>

$allowed_symbols - доступные для отображения символы

$length - количество символов в капче

$fluctuation_amplitude - на сколко будут разнесены друг от друга символы

$no_spaces - отключение пробелов между символами

$show_credits - отображение текста под капчей

$credits - сам текст

$foreground_color - цвет символов капчи

$background_color - цвет фона капчи

$jpeg_quality - качество генерируемого рисунка капчи

   Joomla при установке запрашивает имя пользователя базы данных. По-умолчанию root. Это не очень хорошо с точки зрения безопастности. Если всё же при установке был задействован пользователь root, то изменить его можно и после инсталляции.

В первую очередь заходим в MySQL под root'ом.

mysql -u root -p

вводим пароль от пользователя root и попадаем в CLI. Для начала можно посмотреть всех имеющихся пользоватей в БД:

SELECT User,Host FROM mysql.user;

Далее необходимо создать пользователя и назначить ему привилегии. Создаём пользователя:

CREATE USER 'karlson'@'localhost' IDENTIFIED BY 'secret';

и назначаем ему права:

GRANT ALL ON one.* TO 'karlson'@'localhost';
GRANT ALL ON two.* TO 'karlson'@'localhost';

т.е. пользователь karlson может делать всё, что угодно с таблицами в БД one и two.

Задаём пароль для нашего карлсона =)

   Сайты на Joomla бывают разные, и случается, что регистрация пользователей не нужна и даже не желательна. В интернетах куча статей на эту тему, но ни одна из них не запрещает регистрацию в системе. Да, пользователь будет не активным, авторизоваться на сайте не может, на почту письма не получит с логином и паролем, НО в админке он будет! Пол беды если это два пользователя в месяц, а если до Вашего сайта прикопается бот? Занятие муторное - выкашивать сотни рандомных записей.

В общем по-порядку. В первую очередь, как предлагают нам ораторы в интернетах, нужно запретить регистрацию пользователей в настройках Менеджера пользователей. Заходим в меню Пользователи - Настройка.