Ведение.
Тема блога, CMS Joomla — система управления содержимым (CMS), является проектом с открытым исходным кодом под лицензией GNU GPL. Слово «Joomla» — производное от слова «Jumla» из африканского языка суахили и означает «все вместе». Практически весь интернет так или иначе работает на движках CMS, к которым принадлежит Joomla. Язык написания, PHP и JavaScript, в качестве БД используется MySQL или PostgreSQL.
Пользователям линейки дистрибутивов ALT Linux, вероятно будет интересно воспользоваться широкими возможностями представляемыми этой CMS. Проекты CMS Joomla и WordPres могут использоваться для развёртывания сайтов в учебных, медицинских, государственных учреждениях в качестве информационных досок. CMS Joomla развёрнут на сервере Apache2, если оборудование «слабое » можно использовать Nginx, как это сделать читайте здесь.
- Стенд:
- ALT Linux сервер, имя lin-jml; ip-10.0.2.10;
Подготовка.
- Базовую установку веб сервера Apache2 смотри здесь.
- Выполнить установку пакетов X обозначает версию php.
# apt-get update
# apt-get install apache2
# apt-get install apache2-mod_phpX
# apt-get install phpX-mysqli
# apt-get install phpX-pgsql
# apt-get install phpX-mbstring
# apt-get install phpX-zip
# apt-get install phpX-xmlreader
# mkdir /var/www/html/joomla
# chown -R apache2:apache2 /var/www/html/joomla
# systemctl start httpd2
# systemctl enable httpd2
Выбор БД для CMS Joomla.
В зависимости от ваших предпочтений и корпоративных требований выберите БД для работы сайта.
- БД
Первый этап установки CMS Joomla.
Развёртывание каталогов Joomla.
Все действия проводятся с каталогами сервера Apache. Необходимо скачать свежую версию пакета joomla с сайта Joomla.ru [1] и распаковать в корневой каталог вэб сервера.
# mkdir /var/www/html/joomla
# cd /var/www/html/joomla/
# unzip Joomla_x.x.x-Stable-Full_Package-jino-ru.zip
- установить права на файлы и каталоги joomla
# chown -R apache2:apache2 /var/www/html/joomla
# systemctl start httpd2
# systemctl enable httpd2
# find /var/www/html/joomla/ -type f -exec chmod 644 {} \;
# find /var/www/html/joomla/ -type d -exec chmod 755 {} \;
- уроверить порты программ, обеспечивающих работу joomla
# nmap localhost
Starting Nmap 5.51 ( http://nmap.org ) at 20xx-xx-xx xx:xx MSK
Nmap scan report for localhost (127.0.0.1)
...
80/tcp open http
...
3306/tcp open mysql
...
5432/tcp open postgresql
...
- отключить буферизацию в файле php.ini настроек Apache2.
# /etc/php/X.X/apache2-mod_php/php.ini
output_buffering = off
...
# systemctl restart httpd2
Второй этап установки CMS Joomla.
Мастер графической установки CMS Joomla.
Шаг №1. В браузере ввести адрес, после чего, мастер пошаговой настройки проведёт вас по установочным страницам.





Шаг №2. Конфигурация БД, здесь нам предлагается создать базу данных для Joomla, по условию темы блога, мы находимся в среде движков двух БД: MySQL и PostgreSQL. Не будем отдавать предпочтения ни одному из них, просто распишем технологический процесс, но для PostgreSQL необходимо будет предварительно создать чистую БД для Joomla. Когда подготовительные действия с БД произведены, возвращаемся к шагу 2, мастера установки Joomla и выбираем одну из баз MySQL или PostgreSQL.
Пример создания чистой БД для PostgreSQL
$ psql -U postgres
Пароль пользователя postgres:
CREATE DATABASE jml; //условное название
CREATE DATABASE
\l
Список баз данных
Имя | Владелец | Кодировка | LC_COLLATE | LC_CTYPE | Права доступа
-----+----------+-----------+------------+----------+---------------
jml | postgres | UTF8 |ru_RU.UTF-8 |ru_RU.UTF-8 |
...
(5 строк)
\q
Оптимизация производительности Joomla после установки.
Система кеширования данных,memcached, позволяет значительно ускорить открытие страниц сайта при обращение к ним
# apt-get install memcached
# vim /etc/sysconfig/memcached
RUNAS="memcached"
LISTEN="127.0.0.1"
MAXCONN="1024"
CACHESIZE="64"
EXTRAOPTIONS=""
PORT="11211"
...
# systemctl restart httpd2
# systemctl start memcached
# systemctl enable memcached
//проверка службы
# netstat -tap | grep memcached
tcp 0 0 localhost.localdomain:11211 *:* LISTEN 26227/memcached
//пробуем подключится
# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats //выводит статистику
...
END
quit //выход из telnet
В настройки Joomla вносим изменения шаги, для переключения в режим кеширования.






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




Защита Joomla.
Случаи взламывания сайтов на основе CMS Joomla широко известны, существуют разные методики и средства защиты от несанкционированного доступа, одним из которых является использование файла .htaccess, ограничивающий доступ к панели управления Joomla.
Защитить учётную запись пользователя, от злодея, можно настроив политику сложностей паролей для пользователей, включением двух факторной авторизацией, активацией сaptcha и установкой SSL сертификата, обеспечив защиту соединения от злоумышленника. Особо мнительные администраторы могут удалить модуль пользовательского входа из области папок, расположенного в дереве каталогов Joomla, не забудьте после перегрузить Apache.
Все эти меры в комплексе или выборочно позволят уберечь ваш сайт от неприятностей. Не забывайте о регулярном обновлении Joomla, не старайтесь ставить большое количество плагинов и модулей. Изучите то, что включено в ядро Joomla, а если решили добавить расширение, то загляните сюда и почитайте отзывы о модуле/плагине.
Рекомендации.
- Права доступа на каталоги и папки должны быть установлены соответственно 755 и 644.
- Для мониторинга изменений в каталогах и файлах Joomla, которые могли произойти без вашего участия или обнаружения подозрительной активности, можно воспользоваться инструкцией control, позволяющей собирать и сравнивать изменение размера файлов и каталогов Joomla за отчётный период.
- Порядок создания control.
- создать файл скрипта control
- поместить в /usr/local/bin
- создать cron задачу, отправки отчёта на e-mail
- поместить в /usr/local/bin
- создать файл скрипта control
#!/bin/bash
# инструкция control
find /var/www/html/joomla/ -type f -ctime -1 -exec ls -ls {} \;
- Создание .htaccess.
- что бы включить поддержку .htaccess, добавьте в /etc/httpd2/sites-available/default.conf сервера Apache следующею строку.
- в текстовом редакторе создайте файл .htaccess и поместите его в каталог администратора. Доступ к панели станет возможен только с доверенного IP адреса.
# cd /var/www/html/administrator
# cat> .htaccess
order deny,allow
deny from all
allow from 10.0.2.18
Ctrl+D
# chmod 644 .htacces
Если произошли критические изменения с сайтом и вы не знаете, как поступить. Воспользуйтесь инструкцией создания отчёта аварийной работы сайта и отправьте его на форум или администратору. Файл отчёта называется fpa-en.php, скачать можно отсюда, после распаковки читайте инструкцию, как оформить fpa-en.php, поместить файл в корень сайта. Когда все действия будут выполнены, в командной строке вашего браузера введите адрес http://joomla/fpa-en.php, сформируется отчёт о всех событиях Joomla.
Скрипт fpa—en.php содержит важную информацию о сайте, после ознакомления необходимо файл fpa-en.php удалить из корневого каталога, помните об этом!!!
Постоянно меняйте пароли, используйте политику сложности паролей, пользователей и админов. Отключите учётную запись пользователя admin, замените его другой учётной записью с правами суперпользователя. Регулярно обновляйте свой сайт с официального сайта сообщества Joomla.
Обслуживание Joomla.
В качестве резервного копирование и восстановление сайта на движке joomla воспользуемся, для архивации, компонентом Akeeba Backup for Joomla, для восстановления Akeeba Kickstart скачать можно здесь. При этом надо учитывать возможность коммерческой, с оформлением подписки Pro версии, в отличие от её «укороченного» аналога free версии.
Рассмотрим практические действия по восстановлению типового сайта joomla. Прежде чем приступить к восстановлению, мы должны иметь архив одной резервной копии сайта, делается это с помощью Akeeba Backup установленной на вашем сайте, сам архив лучше забрать отсюда.
Дальнейшие действия могут развиваться в зависимости от ситуации, например, появилось новое оборудование на которое надо перенести сервер с joomla. Когда новый сервер будет установлен и подготовлен к работе необходимо в корень каталога веб-сервера, выложить следующие файлы. После настройки прав на каталог вэб-сервера, можно приступить к восстановлению из резервной копии сайт с Joomla, используя Akeeba Kickstart.












Заключение.
Проект Joomla хорошо документированный CMS движок, имеет мощную поддержку сообщества, огромное количество расширяющих его модулей, шаблонов и плагинов, как на платной основе так и свободных, free версий. Ещё один популярный CMS WordPress, может заинтересовать пользователей, подробности смотри здесь. Ниже приводится список ресурсов — может быть полезен для администраторов и всех желающих познакомиться с особенностями Joomla. В заключение хотелось бы отметить ещё один популярный CMS который можно успешно установить на ALT Linux, подробности читай здесь.