Установка CS-Cart на UBUNTU 18.04 server (Apache 2.4.29, PHP 7.2)

При установке CS-Cart 4.8 на UBUNTU 18.04 столкнулся с проблемой - установщик сообщает о том, что не работает mod rewrite.
При абсолютно таких же конфигурационных файлах Apache и PHP установка на UBUNTU 16.04 (PHP 7.0) происходит без проблем. Поиск в Интернете не дал результатов - все сводится к проверке работы mod rewrite через консольные команды - проверял - все работает…

Это надо на месте смотреть. Вообще Ubuntu считается более лояльной а ее собрат debian более консервативным и потому рекомендуется Ubuntu для серверов в локалке, а для серверов, смотрящих во внешний мир - debian

Убедиться, что mod_rewrite действительно работает, можно за пару минут.
http://old.webasyst.net/support/help/general-modrewrite-test.html

Действительно может не работать мод реврайт, попробуйте установить другую версию данного модуля выкачав ее с репозитория. Есть более радикальный вариант - найти в себе силы и переехать уже с Apache на nginx.

а чем заменяете инструкции из .htaccess, который не воспринимается в nginx, для того же seo модуля?

Настройками nginx, разве есть какие-то непереносимые инструкции? Напишите мне инструкцию такую я ее изучу

а чем заменяете инструкции из .htaccess, который не воспринимается в nginx, для того же seo модуля?

Если стандартных правил из .htaccess хватает, а желания изучать nginx прямо сейчас нет, можно воспользоваться инструкцией из доки CS-Cart:

Поставьте магазин и проверьте. Бывает, что сообщения от магазина в итоге не соответствуют действительности

Магазин ставил - не работает. Модуль SEO не включается и ругается на конфигурацию сервера. Ставил JOOMLA - все в порядке. ЧПУ работают…

app/addons/seo/schemas/settings/actions.functions.post.php

попробуйте в двух местах убрать

if (strpos($headers, '200 OK') === false) {
        $new_value = 'D';
        fn_set_notification('W', __('warning'), __('warning_seo_urls_disabled'));
    }

Иногда помогает )

Если нет, то сервер ковырять

Проблему решил! Все, как всегда , оказалось достаточно просто - пара ночных посиделок ради экспериментов на виртуальных машинах :slightly_smiling_face:
Итак! В мануале на сайте CS-Cart.ru
https://www.cs-cart.ru/docs/4.4.x/install/apache/install_apache.html
из раздела помощи по настройке сервера указана следующая процедура:

<<Включим AllowOverride для возможности использования .htaccess в директориях

Две команды по очереди:

sudo sed -i ‘s/AllowOverride None/AllowOverride All/g’ /etc/apache2/sites-enabled/000-default.conf

sudo sed -i ‘s/AllowOverride None/AllowOverride All/g’ /etc/apache2/apache2.conf >>

Так вот! Последнюю команду надо исключить! То есть файл apache2.conf трогать не надо!

Можно только добавить директивы для стороннего каталога, если (как у меня) файлы сайта располагаются в другой директории, например /home/user/www

<Directory /home/user/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory закрывающая скобка

А директивы в файле mysite.conf (000-default.conf) должны выглядеть так:

<Directory “/home/user/www”>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory закрывающая скобка

Вуаля!

Всем спасибо!

Есть еще более простой вариант подготовки сервера для CS-Cart.
Вот он, мы разрабатывали это окружение специально для таких случаев, и свои установки тоже на нем поднимаем.

Если установка от Ubuntu 16 не пойдет, будем дорабатывать.

1 лайк

Установил на CentOS. Есть несколько вопросов.

  1. Можно ли использовать в работе. В плане безопасности все норм.
  2. Как настроить автоматическое обновление сертификатов ssl. https://docs.ansible.com/ansible/2.5/modules/letsencrypt_module.html Может кто инструкцию написать.
    Получил сертификат этим скриптом GitHub - acmesh-official/acme.sh: A pure Unix shell script implementing ACME client protocol но не получается на сайте включить ssl не видит его.

ПредупреждениеНе удалось проверить защищенное соединение. Пожалуйста, убедитесь, что на вашем сервере установлен сертификат SSL. Подробная информация доступна в соответствующей статье документации.
Ошибка в библиотеке CURL 7
Чтобы узнать, что вызвало ошибку в библиотеке CURL, найдите номер ошибки в этой статье.

Куда его положить чтоб скрипт увидел сертификаты ? В конфигах то я их прописал. Работа с базой закрыта после установки cscart/server-ansible-playbooks? а то бы включил в базе прямо. PhpmyAdmin нужно ставить или разбираться с консолью как поменять в settings_objects secure_admin на ‘Y’

Бы ло бы здорово получить пошаговую инструкцию, если конечно playbooks вообще стоит использовать для работы.

Вообщем включил через консоль и заработало.

mysql> UPDATE settings_objects SET value=‘Y’ WHERE name = ‘secure_admin’;

Получается проверку не проходит, не видит что он получен. Вопрос куда его класть чтоб магаз его видел ?
И по прежнему интересно можно ли этим пользоваться в работе.

Небольшой оффтоп, советую вам установить BranyCP раз уж у вас сентос. Выкинуть апач юзать nginx. Одной лишь командой устанавливается и настраивается вся инфраструктура сервера почтовики файерфолы, redis , автопродление летскрипт сертификатов и тд. Нажал Enter получил полнонастроенный сервер под cs cart. единственное что надо сделать это скопипастить с сайта cs cart настройки nginx для корректной работы seo

Знаю про этот проект. Пробовал как то положить конфиг из пункта 8. Конфигурация Nginx в настройки nginx BranyCP Но что то не заработало. Вот кстати и ответ BranyCP CS-CART конфиг Nginx + PHP-FPM ? появился.В июле спрашивал, но так и не дождавшись снес панель. Попробую еще раз. Было бы здорово если бы этот конфиг проверил кто нить из разработчиков CS-CART.

час скину раб настройки

.nginx

gzip on;
gzip_comp_level 6;
gzip_min_length  1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types text/plain application/xml
application/javascript
text/css
text/js
text/xml
application/x-javascript
text/javascript
application/json
application/xml+rss;

location.nginx

location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}

location ~ ^/(\w+/)?(\w+/)?var/database/ {
    return 404;
}

location ~ ^/(\w+/)?(\w+/)?var/backups/ {
    return 404;
}

location ~ ^/(\w+/)?(\w+/)?var/restore/ {
    return 404;
}

location ~ ^/(\w+/)?(\w+/)?var/themes_repository/ {
    allow all;
    location ~* \.(tpl|php.?)$ {
        return 404;
    }
}

location ~ ^/(\w+/)?(\w+/)?var/ {
    return 404;
    location ~* /(\w+/)?(\w+/)?(.+\.(js|css|png|jpe?g|gz|yml|xml))$ {
        try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
        allow all;
        access_log off;
        expires 1M;
        add_header Cache-Control public;
        add_header Access-Control-Allow-Origin *;
    }
}

location ~ ^/(\w+/)?(\w+/)?api/ {
    rewrite ^/(\w+/)?(\w+/)?api/(.*)$ /api.php?_d=$3&ajax_custom=1&$args last;
    rewrite_log off;
}

location ~* /(\w+/)?(\w+/)?(.+.(jpe?g|jpg|ico|gif|png|css|js|pdf|txt|tar|woff|svg|ttf|eot|csv|zip|xml|yml))$ {
access_log off;
try_files $uri $uri/ /$2$3 /$3 /index.php?$args;
expires max;
add_header Access-Control-Allow-Origin *;
add_header Cache-Control public;
}

location ~ ^/(\w+/)?(\w+/)?design/ {
    allow all;
    location ~* \.(tpl|php.?)$ {
        return 404;
    }
}



location ~ ^/(\w+/)?(\w+/)?images/ {
    allow all;
    location ~* \.(php.?)$ {
        return 404;
    }
}


    allow all;
    location ~* \.(php.?)$ {
        return 404;
    }
}

location ~ ^/(\w+/)?(\w+/)?init.php {
    return 404;
}

location ~* \.(tpl.?)$ {
    return 404;
}

location ~ /\.(ht|git) {
    return 404;
}

Уважаемый Илья, если возникнут какие то вопросы по брэйни пишите сразу мне, думаю я могу решить любой вопрос по его настройке. Там просто все как велосипед. Эсссвенно бесплатно помогу, платных услуг не оказываю.

1 лайк

интересная штука, судя по демке очень дружелюбная. надо будет потестить. спасибо за наводку.