бесплатно с городских телефонов Украины
Киев | 044 392-73-56 |
Харьков | 057 728-49-18 |
Днепр | 056 790-86-00 |
Одесса | 048 734-56-54 |
Львов | 032 229-58-50 |
Николаев | 051 270-12-63 |
Полтава | 053 262-53-74 |
Запорожье | 061 228-69-91 |
Joomla является бесплатной системой управления контентом (CMS) с открытым исходным кодом, который постоянно развивается. При помощи данной CMS возможно создавать сайты, а так же максимально просто управлять ими.
Перед установкой CMS Joomla необходимо предварительно установить веб-сервер Nginx,PHP, а так же установить сервер баз данных MySQL. О том, как это сделать, будет описано ниже. Так же рекомендуется создать не root пользователя с доступом к sudo.
В инструкции используется текстовый редактор nano, для установки которого требуется выполнить команду:
yum install nano
Процедура установки CMS Joomla на веб-сервер Nginx состоит из следующих шагов:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install nginx
sudo systemctl start nginx
Видим ошибку:
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
Данная ошибка возникает т.к порт 80 уже прослушивается.sudo yum install net-tools
И после этого вводим команду:
netstat -ntupl | grep 80
Если 80 порт занят, тогда останавливаем его:
sudo systemctl stop httpd.service
Затем выполняем повторно запуск Nginx:
sudo systemctl start nginx
По умолчанию CentOS 7 использует Firewall-CMD в закрытом режиме, в связи с чем необходимо настроить его для обеспечения доступа по порту 80 (http) или 443 (https), чтобы сделать Apache доступным из Интернета.sudo systemctl start firewalld
И поочередно выполняем следующие команды:
sudo firewall-cmd --permanent --zone=public —add-service=http
sudo firewall-cmd --permanent --zone=public —add-service=https
sudo firewall-cmd --reload
Все три команды при запуске должны выводить сообщение об успешном завершении.
Теперь вводим IP адрес сервера в браузере и проверяем появляется ли стартовая страница nginx.
sudo systemctl enable nginx
Открываем файл /etc/nginx/nginx.conf
sudo nano /etc/nginx/nginx.conf
И после строки:
include /etc/nginx/conf.d/*.conf;
вставляем следующие строки (вместо ip адреса 93.190.42.52 необходимо указать ip адрес собственного сервера):
server {
listen 80;
server_name 93.190.42.52;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
sudo systemctl restart nginx
Устанавливаем репозиторий epel:
sudo yum install epel-release
sudo rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum repolist
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php71
sudo yum install php71
sudo yum install php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap
sudo systemctl start php-fpm
Включаем php-fpm для запуска при загрузке:
sudo systemctl enable php-fpm
открываем файл конфигурации php-fpm www.conf:
sudo nano /etc/php-fpm.d/www.conf
Меняем значение:
listen = 127.0.0.1:9000
на значение:
listen = /var/run/php-fpm/php-fpm.sock
В том же файле меняем значения:
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660
на значения:
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
В том же файле меняем значения:
user = apache
group = apache
на значения
user = nginx
group = nginx
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
sudo systemctl restart php-fpm
Устанавливаем права на запись для папки /var/lib/php/session:
sudo chmod 777 /var/lib/php/session
sudo nano /etc/yum.repos.d/MariaDB.repo
И добавляем в него следующие строки:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3.4/centos7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
sudo nano /etc/yum.repos.d/remi.repo
и меняем в нем строку:
enabled=0
на строку:
enabled=1
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
sudo yum -y install mariadb-server mariadb
sudo systemctl start mariadb.service
Включаем mariadb для запуска при загрузке:
sudo systemctl enable mariadb
Запускаем сценарий безопасности, позволяющий удалить некоторые опасные значения по умолчанию, а так же ограничить доступ к системе баз данных:
sudo mysql_secure_installation
После выполнения запроса появится уведомление с запросом пароля root.mysql -u root -p
CREATE DATABASE joomla DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON joomla.* TO 'juser'@'localhost' IDENTIFIED BY 'D8*Q7!a5F$1x';
Необходимо обратить внимание, что пароль должен состоять как минимум из двенадцати символов, иметь как минимум одну букву в верхнем регистре, одну строчную букву, одно число и один специальный символ.
Обновляем права доступа, для вступления изменений в силу:
FLUSH PRIVILEGES;
EXIT;
wget https://downloads.joomla.org/cms/joomla3/3-8-4/Joomla_3-8-4-Stable-Full_Package.zip
Извлекаем файлы из архива в корневую папку сайта:
sudo unzip Joomla_3-8-4-Stable-Full_Package.zip -d /usr/share/nginx/html
sudo rm Joomla_3-8-4-Stable-Full_Package.zip
sudo chown -R nginx:nginx /usr/share/nginx/html
sudo chmod -R 755 /usr/share/nginx/html
См.также:
Установка CMS Joomla на веб-сервер Nginx