Установка 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:
https://www.cs-cart.ru/docs/4.8.x/install/nginx.html#id8

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

Магазин ставил - не работает. Модуль 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 Может кто инструкцию написать.
    Получил сертификат этим скриптом https://github.com/Neilpang/acme.sh но не получается на сайте включить 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 лайк

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