понедельник, 23 ноября 2015 г.

Установка Joomla на Nginx CentOS 7



Установка и подготовка операционной системы:

Устанавливаем CentOS в редакции Minimal:
Во время установки обязательно настроить сеть (IP, Gateway):

Размечаем диск вручную, указав использование LVM:
    (кто не хочет заморачиваться может пропустить)



     Отключаем SElinux:
     $ setenforce 0
     $ vi /etc/sysconfig/selinux
          SELINUX=disabled

     Установить Net-Tools:
     yum -y install net-tools
(чтобы можно было выполнить ifconfig и прочие команды по сети)

Установить VMware Tools (опционально, для виртуальной машины):

 $ yum -y install open-vm-tools

     Отключаем FirewallD:
     systemctl stop firewalld
     systemctl disable firewalld

     Устанавливаем и настраиваем IPtables:
     yum -y install iptables-services

     Добавляем IPtables в автозагрузку и запускаем:
     systemctl enable iptables
     systemctl start iptables

     Прописываем нужные правила в IPtables:

    $ vi /etc/sysconfig/iptables

# SSH
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# HTTP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# HTTPs
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

    $ service iptables restart

Установка и настройка NGINX

     Подключаем нужные репозитории:
yum -y install epel-release wget

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

rpm -Uvh remi-release-7.rpm

    Устанавливаем, запускаем и добавляем в автозагрузку nginx:
yum install nginx php-fpm php-mysql php-cli

systemctl start nginx.service
systemctl enable nginx.service

systemctl start php-fpm
systemctl enable php-fpm

     Создаём 2 рабочие директории для конфигураций
$ mkdir /off     (для всего конфигураций)
$ mkdir /sites  (для включенных конфигураций)

     Указываем nginx откуда подгружать конфиги
$ vi /etc/nginx/nginx.conf
 вставляем в конце include /etc/nginx/sites/*.conf;
 должно выйглядеть так:
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites/*.conf;
}


     Создаём VirtualHost
$ vi /off/river.ru

 server {
        listen 80;
        server_name  river.ru;
        server_name_in_redirect off;
        root   /var/www/river.ru;

        index index.php index.html index.htm default.html default.htm;

        access_log  /var/www/river/logs/access.log  main;
        error_log  /var/www/river/logs/error.log;

        # Support Clean (aka Search Engine Friendly) URLs
        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        # deny running scripts inside writable directories
        location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
                return 403;
                error_page 403 /403_error.html;
        }

        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;
            include /etc/nginx/fastcgi.conf;
        }

        # caching of files
        location ~* \.(ico|pdf|flv)$ {
                expires 1y;
        }

        location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
                expires 14d;
        }

}

     Включаем конфиг river.conf:
$ ln -s /off/river.conf /sites/river.conf

Установка и настройка SQL-сервера

$ yum -y install mariadb-server
$ systemctl start mariadb.service
$ systemctl enable mariadb.service

     Настраиваем:
$ mysql_secure_installation
               Enter current password for root (enter for none):  PRESS ENTER

               Set root password? [Y/n] Y
               New password:  ENTER YOUR NEW PASSWORD
               Re-enter new password:    RE-ENTER YOUR NEW PASSWORD
               Password updated successfully!

               Remove anonymous users? [Y/n] Y
                ... Success!

               Disallow root login remotely? [Y/n] Y
               ... Success!

               Remove test database and access to it? [Y/n] Y
                - Dropping test database...
                ... Success!
                - Removing privileges on test database...
                ... Success!

               Reload privilege tables now? [Y/n] Y
                ... Success!

               Thanks for using MariaDB!

     Создаём базу данных:
$ mysql -u root -p
               CREATE DATABASE river;
               GRANT ALL PRIVILEGES ON river .* TO root@localhost IDENTIFIED BY 'ROOT PASSWORD';
               FLUSH PRIVILEGES;
               exit;




1 комментарий:

  1. Здравствуйте, спасибо за инструкцию. Установил NGINX следуя инструкции, также установил VirtualHost. После попытался установить выгрузить готовый рабочий шаблон joomla. При попытках выгрузить контент на сайте все символы становились зашифрованными. Подскажите как решить данные проблемы, у меня небольшой опыт в использовании джумла, поэтому надеюсь на развернутый ответ

    ОтветитьУдалить