Установка CMS Joomla 3.x на CentOs 7.x
Установка практически идентична версии CentOs 6.5, но есть некоторые нюансы
Для начало необходимо поправить политику SeLinux для веб сервера (httpd)
setsebool -P httpd_unified on # если не разрешить эту политику, Joomla будет работать с ошибками
если намереваетесь использовать файл .htaccess, так-же необходимо отредактировать политику SeLinux
setsebool -P httpd_read_user_content on
переименуем файл htaccess в .htaccess командой
mv /var/www/html/htaccess /var/www/html/.htaccess
отредактируем файл httpd.conf командой
vi /etc/httpd/conf/httpd.conf
после этого нажмите клавишу i что-бы перейти в режим редактирования
в файле найдите раздел <Directory "/var/www/html"> и змените строку
AllowOverride None
на
AllowOverride All
сохраните файл нажав клавишу Esc потом введите :wq и нажмите Enter
перезагрузите вэб сервер командой
systemctl restart httpd
Для большей надёжности можно заблокировать папку administrator, для этого создадим файл .htaccess в паке administrator командой
vi /var/www/html/administrator/.htaccess
нажмите клавишу i для переходя в режим редактирования и введите следующий текст
order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX
нажмите Esc далее введите :wq нажмите Enter
XXX.XXX.XXX.XXX - здесь введите ip адрес которому будет разрешено заходить в раздел administrator
Для полного счастья отключим index.php, в административной панеле наведите указатель мыши на пункт меню "Система" далее "Панель управления" далее перейдите в пункт меню "Общие настройки" и установите значение "Да" напротив пункта меню "Перенаправление URL", нажмите кнопку "Сохранить"(Внимание: это сработает если все выше указанные действия были проделанны, кроме возможности блокировки папки administrator)
Теперь необходимо отключить службу firewalld и установить iptables
systemctl stop firewalld # остановить firewalld
systemctl disable firewalld # убрать firewalld из автозапуска
yum install iptables-services #установка iptables
systemctl start iptables # запустить iptables
systemctl enable iptables # поместить iptables в автозапуск
Теперь перейдем непосредственно к установке Joomla
Для этого нам понадобится установить следующие службы
Apache
MariaDB-Server
PHP
PHP-Mysql
MC
Установка
yum install httpd # установка Apache
yum install mariadb-server # Установка MariaDB(в CentOs 7 заместо Mysql теперь используется maridb, хотя синтаксис один и тот-же)
yum install php #установка PHP
yum install php-mysql #установка PHP-MySql
yum install mc #Установка Midnight Commander
Теперь поместим эти службы в автозапуск
systemctl enable httpd
systemctl enable mariadb
Теперь запустим эти службы
systemctl start httpd
systemctl start mariadb
Перед использованием Mariadb советую использовать этот скрипт:
mysql_secure_installation
с помощью этого скрипта можно задать пароль на Root доступ к Mysql, удалить анонимных пользователей, запретить подключаться под Root удаленно, удалить тестовую базу!
теперь зайдём в Mariadb командой
mysql -p -r
введите пароль который вы только что создали
Создание базы для Joomla
для того что-бы создать базу для Joomla введите следующую команду
create database joomla;
создадим пользователя(и пароль) у которого будет польный доступ к базе Joomla
GRANT ALL PRIVILEGES ON joomla.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; #имя пользователя может быть любым
Теперь можно приступать непостредственно к установке Joomla
Для этого необходимо "залить" файлы joomla на сервер, корень Web сервера на CentOs находится в папке /var/www/html/
Для удобства файлы можно заливать с помощью программы FileZilla, делается это так:
Скачайте FileZilla и установите, думаю не нужно объяснять как это сделать!
Запустите программу и подключитесь к вашему серверу по протоколу SFTP(SSH), по пользователем root
Это выглядеть будет примерно так
Далее скачайте сам дистрибутив Joomla
распакуйте в папку, например на рабочий стол, joomla и создайте из этой папки архив tar, программой 7zip
"залейте" этот архив на ваш сервер с помощью программы FileZilla, в папку home
теперь запустите midnight commander и идите в папку home, зайдите в архив с joomla
а с другой половине midnight commander откройте папку /var/www/html/ и просто копируйте все папки и файлы из архива, при этом не каких проблем с правами на файлы не возникает
Перезагрузите Httpd
systemctl restart httpd
P.S.
Если не хотите особо вникать в настройки Firewall, то установите текстовую утилиту system-config-firewall-tui
yum install system-config-firewall-tui
system-config-firewall-tui # запустить программу
Либо выполните настройку iptables
откроем 80 порт для вэб сервера
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
если необходим доступ по SSl откроем 443 портв IPTABLES
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
и сохраните настройки iptables
service iptables save