МЕСТО ПОД РЕКЛАМУ
13 Ноябрь 2020

Linux CentOS 7 — как очистить все разделы диска — создание и удаление

Ранее в систему под управлением CentOS 7 был добавлен жестский диск, ранее использовавшийся в другом компьютере так же под управлением Linux CentOS.
Основной раздел был добавлен в систему просто посмотреть что там было (может что-то пригодиться).
Идея — выделить всё свободное место на этом жестком диске под сайт размещающийся на этом сервере http://dekorimage.ru/

Реализация плана будет такова:
1. Сбор информации — как называется диск, какие на нём разделы, что уже замаплено
2. Размапливаем что есть, удаляем разделы
3. Создаём новые

Для сбора информации можно использовать следующие команды

#ls -l /dev/ | grep sd
смотрим все девайсы, отбираем по вхождению sd

lsblk
так же смотрим девайсы, созданные разделы

df –h
информация по разделам

mount
смотрим что уже замонтировано

В моём случае имеем жестский диск
/dev/sdd
и разделы
/dev/sdd1
/dev/sdd2
/dev/sdd3

Третий раздел у меня был замонтирован в /etc/fstab — эту строчку пока закомментируем
больше никаких точек монтирования я не нашел.

Приступаем к удалению имеющихся разделов и созданию нового

parted -a optimal /dev/sdd (параметр -a optimal я добавил т.к. без него чего то там система ругалась на оптимальность распределения места, с ним не ругается)
Вводим команду mklabel
вводим метку диска — msdos или gpt (gpt поновее — я выбрал её)
далее создаём один раздел выделяя под него всё свободное пространство диска
(parted) mkpart primary 0% 100%
для проверки
(parted) align-check opt 1
(parted) align-check min 1
Если выравнивание в порядке, в ответ каждая команда вернет сообщение: «1 aligned».

Создаю файловую систему ext4
mkfs -t ext4 /dev/sdd1

монтирую новый диск
mount /dev/sdd1 /disk3

в папке /disk3 появился папка /lost+found — значит диск замонтировался

так же можно проверить наличие раздела вышеуказанными утилитами (lsblk, df -h)

размонтирую обратно
umount /disk3

Далее — вношу правки в /etc/fstab для монтируемого диска /dev/sdd1
Перезагружаюсь shutdown –r now

Всё!

рубрики: NIX, Администрирование | Комментарии (0)

6 Ноябрь 2020

Bitriv VM — Unable to load dynamic library ‘pdo_sqlite’

Для одного из проектов на виртуальной машине 1С Битрик понадобилось включить расширение pdo_sqlite
Как обычно — залез в /etc/php.d/ нашел нужный мне файл 30-pdo_sqlite.ini и переименовал 30-pdo_sqlite.ini.disabled в 30-pdo_sqlite.ini

Расширение не включилось — посмотрел phpinfo() — сам файл 30-pdo_sqlite.ini подцепляется, но сама информация по pdo_sqlite не подключилась
php —ini так же подтвердило подключение модуля

далее решил глянуть инфу с консоли
php -i | grep mysql

тут то в самом начале и обнаружилась проблема

PHP Warning: PHP Startup: Unable to load dynamic library ‘pdo_sqlite’ (tried: /usr/lib64/php/modules/pdo_sqlite (/usr/lib64/php/modules/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/pdo_sqlite.so (/usr/lib64/php/modules/pdo_sqlite.so: undefined symbol: php_pdo_unregister_driver)) in Unknown on line 0

посмотрел — всё Ок, файл /usr/lib64/php/modules/pdo_sqlite присутствует!

В общем не буду томить, решение оказалось очень простым — включение модуля 30-pdo.ini необходимого уже для дальнейшей работы других pdo_*** модулей

рубрики: Bitrix, NIX, PHP, Администрирование | Комментарии (0)

3 Ноябрь 2020

Битрикс — запуск агентов и большой размер таблицы b_stat_path_cache

Разбирался с проблемой на одном сайте клиента — при резервном копировании, обнаружили что размер файла базы данных просто ужасно огромен.
Как выяснилось, размер некоторых таблиц (например b_stat_path_cache) переваливал за гигабайт.

Вообще, именно за размер этой таблицы отвечают настройки времени хранения в модуле ВЕБ аналитики, конкретно тут:
Админка — Настройки — Настройки продукта — Настройки модулей — Веб-аналитика — закладки «Настройка данных» и «Время хранения».

Но проблема в данном случае оказалась не в этом.
В Битриксе подчищение всего лишнего (и не только!) занимаются так называемые АГЕНТЫ, список которых и статистику из запуска можно посмотреть тут
Админка — Настройки — Настройки продукта — Агенты

Оказалось, на сайте агенты не запускались уже несколько лет, соответственно статистику просто некому было чистить!

ОБЯЗАТЕЛЬНО проверяйте выполнение агентов на сайте под управлением Битрикс CMS

В данном случае, выполнение агентов было настроено на CRON, а сама задача по крону не была настроена
(тут для проверки нужно смотреть логи выполнения crontab в системе, или для начала просто скрипты поставленные на крон)
посмотреть как настроен запуск агентов в Битриксе можно в файле /bitrix/php_interface/dbconn.php
Если перевести выполнение агентов на хиты — нужно убрать константы define(‘BX_CRONTAB_SUPPORT’, true);

Собственно, я так и сделал, после чего обновил главную страницу сайта, после чего обновил страницу с Агентами в админке, и вуаля — в колонке последнего запуска агентов увидел текущую дату.
После чего заглянул в PHPMyAdmin — таблицы почистились!

Задача решена!

рубрики: Bitrix | Комментарии (0)

26 Октябрь 2020

PHP регурярное выражение — проверка на кириллицу

Повадились иностранные боты заполнять форму заказа на одном из сайтов всякими нерусскими данными.
Антикапчю пока вешать не стал — решил сделать простенькую проверку введённых данных на кириллицу (имя должно быть введено кириллицей)

Собственно, рабочий код в студию

рубрики: PHP | Комментарии (0)

13 Октябрь 2020

Битрикс меню — структура файла и дополнительные параметры


То ли я читать не умею, что ли что — но в официальной документации я не увидел той информации, которую всё таки нашел в сети и решил оставить себе в блоге в виде справочного поста.
Итак, три статьи, которые мне «зашли» — первая, собственно вводная — тоже что в документации, только более понятно — структура файла меню
Вторая и третья статьи уже собственно затрагивают дополнительные параметры четвёртого параметра

Таким образом, приведу пример файла из второй статьи со структурой меню, которой в структуре может вообще не быть — то есть подпункты, можно добавить.

Я воспользовался этим приёмом для того, чтобы сделать верхний пункт меню некликабельным («Аэропорты Москвы»), а пункты подменю остались кликабельными.
Пример на сайте reklamy.ru — главное меню, раздел Реклама в аэропортах.
Так же мне нужно было, чтобы подпункты не были по структуре внутри верхнего пункта (т.к. он вообще не имеет своего адреса).

Свой файл выкладывать не буду — смысла нет, там всё по аналогии с файлом из первой статьи, который я себе сохраню
Читать полностью »

рубрики: Bitrix | Комментарии (0)

13 Октябрь 2020

Установка и настройка Сбербанк Эквайринг на 1С Битрикс

Поставили задачу — прикрутить к сайту на 1С Битрикс приём оплаты через Сбербанк Эквайринг.
Собственно, особо никаких проблем не возникло, просто по одноименному запросу в Яше ничего подобного не нашел, вот и решил накарябать пару строк 🙂

Итак, после регистрации приходит письмо, где указаны ссылки на сам модуль к Битриксу, данные доступа в личный кабинет https://3dsec.sberbank.ru/mportal3/, а так же необходимые настройки.

Ставим модуль, вводим в настройке логин, пароль а так же не забываем поставить галку «тестовый режим».
Может понадобится информация о кодах ошибок — её смотрим в ЛК раздел Справка — Способы подключения — Коды ответа операций
Далее для тестирования обязательно подадобятся тестовые карты, их берём тоже в ЛК в разделе Справка — Способы подключения — Тестовые карты

На этом всё 🙂 по крайней мере тестовый платёж у меня корректно обработался — в системе заказ получил статус «Оплачено», в личном кабинете Сбербанк Эквайринга эту транзакцию я увидел — клиентские данные и сумма были правильные.

Ну и напоследок — в техподдержке адекватные ребята! Набрал разок — всё доходчиво объяснили, доволен.

PS
Как в боевой режим перейдём — отпишу как полёт проходит.

рубрики: Bitrix | Комментарии (0)

5 Октябрь 2020

Почтовый спам — поиск и устранение уязвимости на примере Joomla

Сегодня с дата центра пришло сообщение, с жалобой на спам-абузы поступающие от spam-cop.net — соответственно, жалоба на почтовый спам с сайта одного из моих клиентов.
Сайт висит на выделенном виртуальном сервере, с выделенным IP адресом на котором хостится один единственный сайт — интернет-магазин под управлением Joomla CMS + virtuemart.
Механизм поиска уязвимости описанный ниже можно применять независимо от системы управления — главное понять, что за скрипт рассылает, а далее уже пофиксить это дело.

Первое, что я сделал — это в php.ini
добавил 2 строчки:

и перезапустил веб-сервер (не забываем вернуть назад, после разбора полётов)

Далее, через некоторое время в /var/log/php.mail.log я увидел, что рассылка ведётся из скрипта /libraries/phpmailer/phpmailer.php
Проанализировав время логов из этого файла и логов самого веб-сервера, вижу частые обращения по адресу /index.php?options=com_contact&id=1

Для того, чтобы понять откуда именно вызывается отправка сообщений в phpmailer.php я встроил в него собственное логирование

Анализ этих логов уже на 100% подтвердил, что проблема именно в компоненте com_contact, в который я встроил проверку — чтобы только авторизованные пользователи могли работать с этим компонентом (тут ключевой момент — вызов debug_backtrace() который показывает всю вложенность на уровне функций и самих скриптов

после чего спам прекратился

PS
Данное решение я применил, по аналогии с решением для компоненты com_mailto (которое тоже внедрил, на всякий случай)

которое я чуток переделал (см.выше), т.к. у меня ругался на метод JFactory::getUser()->authorise() который видимо с 3й версии в джумле …

Так же попутно, я пофиксил дыру в com_virtuemart так же позволяющую организовать спам рассылку с Вашего сайта — источник

Проверить можно по ссылке
http://ваш-сайт/index.php?page=shop.recommend&product_id=1&pop=1&tmpl=component&option=com_virtuemart&Itemid=1&vmcchk=1&Itemid=1

Фиксится добавлением редиректа на морду в начале файла /administrator/components/com_virtuemart/html/shop.recommend.php

рубрики: Joomla | Комментарии (0)

8 Сентябрь 2020

Отправка почты с Битрикс CMS через Яндекс

Итак, на новом проекте — интернет магазин по продаже фотообоев даже после всех настроек почты, опубликованных ранее (пост 1, пост 2) почта на GMail, полученная с сайта всё равно улетала в спам 🙁

Я попробовал отправить с этого же сайта почту скриптом через Яндекс (домен уже был привязан через pdd.yandex.ru к Яндексу, MX запись так же была настроена) — и о чудо, сообщение без проблем пришло во входящее!

Далее стандартную функцию по отправке почты Битрикса я подменил на новую (путём объявления функции custom_mail в /bitrix/php_interfaces/init.php) и вуаля — теперь вся почта отправленная с Битрикса теперь отправляется через Яндекс Почту и не падает в спам!

Ссылочка на готовое решение — функция по отправке почты Битрикс через Яндекс
Готовое решение не моё — вот исходник, но сразу скажу, что там допущены две ошибки которые я пофиксил в своём варианте.

Отдельно о моментах, которые пришлось решать попутно

* Пришлось ставить composer, в связи с чем потребовалось включить php расширение phar — решение mv /etc/php.d/20-phar.ini.disabled /etc/php.d/20-phar.ini и рестарт браузера

wget https://getcomposer.org/composer.phar
chmod +x composer.phar
Далее, что бы Composer был доступен не только из папки, но и глобально в системе перемещаем его в папку /usr/local/bin/ командой mv
mv composer.phar /usr/local/bin/composer

* Для работы скрипта использовал скрипт PHPMailer + хорошая статья по данному скрипту
* Для работы imap_mime_header_decode используемой в скрипте потребовалось установить (именно установить а не включить) расширение php_imap (на centos команда yum install php_imap отработала корректно)

рубрики: Bitrix, PHP, Программирование | Комментарии (0)

4 Сентябрь 2020

Вставляем видео с ютуба на сайт адаптивно

На авторство не претендую, просто оставлю себе готовое решение, чтоб не искать потом по просторам сети

Код фрейма оборачиваем блоком с классом video, размеры фрейма можно не указывать

рубрики: Вёрстка | Комментарии (0)

28 Август 2020

windows 10 — после обновления драйверов пропал звук

Собственно, после обновления какого именно драйвера пропал звук я так и не понял, т.к. прошел все, которые могут отвечать за звук — нигде не было варианта откатить драйвер.

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

Причём в драйверах никаких ошибок, служба windows audio работает на ура, и вообще никаких видимых проблем и конфликтов — но звука просто нет!

Откат всех обновлений с помощью майкрософтовкой утилиты так же не дал никаких результатов 🙁

Собственно, помогло только одно решение — с помощью групповых политик, запрет использования Центра обновлений Windows при поиске драйверов.

Запускаем gpedit.msc

Административные шаблоны / Система / Управление связью через Интернет / Параметры связи через Интернет / Отключить использование Центра обновлений Windows при поиске драйверов

Мне помогло, там рядом ещё параметр что-то связанное с запросом — его тоже врубил.

Так же, если точно знать драйвера какого оборудования приводят к проблеме — можно ещё один параметр задействовать

Административные шаблоны / Система / Установка устройств / Ограничения на установку устройств / Запретить установку устройств с указанными кодами устройств

 

рубрики: Администрирование | Комментарии (0)

Яндекс.Метрика