безкоштовно з міських телефонів України
Київ | 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