Инфраструктура такова:
Joomla3 - Apache2(2.4.7) back-end - NGINX(1.12.1) front-end.
Удалось запустить Joomla через https только при такой конфигурации:
NGINX
# 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:
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
Содержимое примерно такое:
<?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 бывают разные, и случается, что регистрация пользователей не нужна и даже не желательна. В интернетах куча статей на эту тему, но ни одна из них не запрещает регистрацию в системе. Да, пользователь будет не активным, авторизоваться на сайте не может, на почту письма не получит с логином и паролем, НО в админке он будет! Пол беды если это два пользователя в месяц, а если до Вашего сайта прикопается бот? Занятие муторное - выкашивать сотни рандомных записей.
В общем по-порядку. В первую очередь, как предлагают нам ораторы в интернетах, нужно запретить регистрацию пользователей в настройках Менеджера пользователей. Заходим в меню Пользователи - Настройка.