В этой статье мы покажем вам, как установить Joomla 3 на CentOS 7, с MariaDB 10.2, PHP-FPM 7.1 и Nginx. Joomla является система управления контентом (CMS) для публикации веб-контента и интернет-приложений. Joomla является одной из самых популярных CMS и используются во всем мире для питания миллионов веб – сайтов и приложений всех форм и размеров. Joomla является системой CMS на основе PHP с широким спектром возможностей для публикации контента со свободным и открытым исходным кодом. Это руководство должно работать на других системах RedHat, так же хорошо, но было проверено и написано для CentOS 7 VPS. Процесс установки Joomla 3 на CentOS 7 несложен, и не должно занять более 10 минут.
sudo yum update sudo yum install yum-utils unzip wget
Если у вас уже есть установленная MySQL или MariaDB, вы можете пропустить этот шаг и перейти к следующему разделу.
Чтобы добавить репозиторий MariaDB и установить последнюю версию сервера MariaDB, создайте новый файл в папке /etc/yum.repos.d/
:
sudo nano /etc/yum.repos.d/MariaDB.repo
и добавьте следующие строки:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
После того как файл repo создан, вы можете установить MariaDB с помощью следующей команды:
sudo yum install MariaDB-server MariaDB-client
Во время установки yum предложит вам установить ключ подписи MariaDB GPG.
Когда установка будет завершена, запустите следующую команду, чтобы обеспечить установку:
mysql_secure_installation
Чтобы создать новую базу данных и пользователя для установки Joomla, используйте следующие команды:
mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE joomla; MariaDB [(none)]> GRANT ALL PRIVILEGES ON joomla.* TO 'joomla'@'localhost' IDENTIFIED BY 'strongpassword'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Если у вас не установлен Nginx на сервере, вы можете установить последнюю стабильную версию из официальных репозиториев Nginx:
Во- первых, создать новый файл под /etc/yum.repos.d/
:
sudo nano/etc/yum.repos.d/nginx.repo
и добавьте следующую конфигурацию:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
После того, как вы включите репозиторий Nginx, вы можете продолжить и установить Nginx с помощью следующей команды:
sudo yum install nginx
Затем создайте новый блок сервера Nginx:
sudo nano /etc/nginx/conf.d/my.joomla.site
server { listen 80; server_name my.joomla.site; root /var/www/my.joomla.site; index index.html index.htm index.php; charset utf-8; access_log /var/log/nginx/my.joomla.site.access.log; error_log /var/log/nginx/my.joomla.site.error.log info; location / { try_files $uri $uri/ /index.php?$args; } location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ /\.(?!well-known).* { deny all; } }
Проверка конфигурации Nginx и перезапуска Nginx:
sudo nginx -t sudo systemctl restart nginx.service
PHP версии 7.1 не доступна в репозитории CentOS 7 по умолчанию, поэтому мы будем использовать репозиторий Remi.
Для того, чтобы установить и включить хранилище Epel и Remi, выполните следующую команду:
sudo yum install epel-release sudo rpm -Uhv https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-php71
Теперь можно продолжить и установить PHP 7.1 и все необходимые PHP модули, используя следующие команды:
sudo yum install php-fpm php-cli php-gd php-opcache php-mysqlnd php-json php-mcrypt php-xml php-curl
Во время установки, yum предложит вам установить ключ подписи Remi GPG.
После установки вам необходимо открыть файл конфигурации PHP FPM и изменить пользователя c apache на nginx:
sudo nano /etc/php-fpm.d/www.conf
user = nginx group = nginx
и исправить разрешения сессии и кэш каталогов:
chown -R root:nginx /var/lib/php/*
Наконец, перезапустите службу FPM PHP:
sudo systemctl restart php-fpm.service
Установка Joomla довольно легка и проста, сначала загрузите zip архив Joomla со страницы загрузки Joomla:
wget https://downloads.joomla.org/us/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip
После завершения загрузки, распакуйте архив и переместить извлеченные файлы в каталог /var/www/my.joomla.site
, который будет корневым каталогом вашего нового сайта Joomla:
sudo mkdir -p /var/www/my.joomla.site sudo unzip Joomla_3-8-5-Stable-Full_Package.zip -d /var/www/my.joomla.site
Наконец изменить владение каталога /var/www/my.joomla.site
на пользователя nginx
:
sudo chown -R nginx: /var/www/my.joomla.site
Откройте http://my.joomla.site/
в вашем любимом веб – браузере и следуйте инструкциям на экране для завершения установки Joomla.
Вот и все. Вы успешно установили Joomla на CentOS 7. Дополнительные сведения о том, как управлять установкой Joomla, пожалуйста, обратитесь к официальной документации Joomla.