Введіть ім'я домену:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показати всі домени

Встановлення CMS Joomla на веб-сервер Nginx

Відповіді на запитання від компанії "Український хостинг".

Як встановити CMS Joomla на веб-сервер Nginx

Joomla є безкоштовною системою керування контентом (CMS) з відкритим вихідним кодом, що постійно розвивається. За допомогою цієї CMS можна створювати сайти, а також максимально легко керувати ними.

Перед встановленням CMS Joomla необхідно попередньо встановити веб-сервер Nginx, PHP, а також встановити сервер баз даних MySQL. Про те, як це зробити, буде описано нижче. Також рекомендується створити не root користувача з доступом до sudo.

В інструкції використовується текстовий редактор nano, для якого потрібно виконати команду:

yum install nano

Процедура встановлення CMS Joomla на веб-сервер Nginx складається з наступних кроків:

  1. Підключимо рідний репозиторій nginx:
    sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  2. Встановлюємо nginx:
    sudo yum install nginx
  3. Запускаємо 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 вже прослуховується.
    Щоб у цьому переконатися встановлюємо net-tools
    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 доступним з Інтернету.
    Включаємо firewalld:
    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.
  4. Включаємо 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.
  5. Перезавантажуємо Nginx, щоб внести необхідні зміни:
    sudo systemctl restart nginx
    Встановлюємо репозиторій epel:
    sudo yum install epel-release
  6. Підключаємо ремі репозиторій:
    sudo rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  7. Перевіримо список підключених репозиторіїв:
    sudo yum repolist
  8. Встановлюємо пакет yum-utils:
    sudo yum install yum-utils
  9. Активуємо remi-php71:
    sudo yum-config-manager --enable remi-php71
  10. Встановлюємо php7.1:
    sudo yum install php71
  11. Встановимо php-fpm та найбільш популярні модулі:
    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
  12. Запускаємо php-fpm:
    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.
  13. Перезапускаємо php-fpm:
    sudo systemctl restart php-fpm
    Встановлюємо права на запис для папки /var/lib/php/session:
    sudo chmod 777 /var/lib/php/session
  14. Створюємо репозиторій MariaDB:
    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.
  15. Відкриваємо репозиторій REMI:
    sudo nano /etc/yum.repos.d/remi.repo
    і змінюємо в ньому рядок:
    enabled=0
    на рядок:
    enabled=1
    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
  16. Встановлюємо пакет MariaDB:
    sudo yum -y install mariadb-server mariadb
  17. Запускаємо демон:
    sudo systemctl start mariadb.service
    Включаємо mariadb для запуску при завантаженні:
    sudo systemctl enable mariadb
    Запускаємо сценарій безпеки, що дозволяє видалити деякі небезпечні значення за умовчанням, а також обмежити доступ до системи баз даних:
    sudo mysql_secure_installation
    Після виконання запиту з'явиться повідомлення із запитом пароля root.
    Оскільки MySQL був тільки що встановлений і пароля root немає, необхідно просто натиснути enter.
    Після цього необхідно натиснути 'y', щоб задати пароль для користувача root.
    Після призначення пароля та підтвердження пароля з'явиться повідомлення:
    Для інших питань необхідно просто натиснути клавішу enter у кожному питанні, щоб прийняти значення за замовчуванням:
    Входимо до основного облікового запису адміністратора MySQL
    mysql -u root -p
  18. Створюємо нову базу даних (у прикладі використовується назва бази даних joomla, замість якої необхідно задати власну назву бази даних), яка буде використовуватися для веб-сайту Joomla:
    CREATE DATABASE joomla DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  19. Створюємо нового користувача з доступом до бази даних joomla (У прикладі використовується ім'я користувача juser та пароль D8*Q7!a5F$1x , замість яких необхідно задати власну назву користувача та пароль):
    GRANT ALL ON joomla.* TO 'juser'@'localhost' IDENTIFIED BY 'D8*Q7!a5F$1x';
    Необхідно звернути увагу, що пароль повинен складатися як мінімум з дванадцяти символів, мати як мінімум одну літеру у верхньому регістрі, одну малу літеру, одне число та один спеціальний символ.
    Оновлюємо права доступу, для набрання змін:
    FLUSH PRIVILEGES;
  20. Виходимо з MySQL:
    EXIT;
  21. Завантажуємо CMS Joomla:
    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
  22. Видаляємо архів:
    sudo rm Joomla_3-8-4-Stable-Full_Package.zip
  23. Встановлюємо користувача та групу для папки /usr/share/nginx/html та вкладені файли:
    sudo chown -R nginx:nginx /usr/share/nginx/html
  24. Встановлюємо права 755 на папку /usr/share/nginx/html та вкладені файли:
    sudo chmod -R 755 /usr/share/nginx/html
  25. Відкриваємо у браузері сайт та приступаємо до встановлення CMS Joomla.
    Заповнюємо інформацію про сайт, а також інформацію про поштову скриньку та доступи до адміністративної панелі сайту, після чого натискаємо на кнопку «Далі»:
    Заповнюємо інформацію про раніше створену базу даних та натискаємо на кнопку «Далі»:
    Залишаємо все за замовчуванням та натискаємо на кнопку «Далі»:
    Вибираємо необхідні демо-дані та натискаємо на кнопку «Установка»:
    Після завершення встановлення натискаємо кнопку «Видалити директорію 'installation'»
    На цьому налаштування CMS Joomla завершено.

Див. також:

Будь ласка, виберіть мову сайту за промовчанням: