Просмотр заблокированных строк в 1С
Ввиду своей деятельности, мне часто приходится рассказывать про различные аспекты оптимизации и в том числе про блокировки.
Очень часто слушатели задают следующие вопросы:
Как посмотреть в реальном времени, какие именно данные сейчас заблокированы?
Как понять, что сейчас заблокировано в терминах 1С?
Если гранулярность блокировки страница, как увидеть, какие данные в ней находятся?
Раньше приходилось отвечать, что инструмента, который показывает все вышеописанное, сейчас просто нет. Но потом мне это надоело, и я решил сделать собственный инструмент, который позволяет ответить на все вышеописанные вопросы.
1 стартмани
Скринкаст: Обзор конфигурации Apache в Ubuntu
В скринкасте представлен последовательный обзор конфигурации web сервера Apache в Ubuntu при стандартной установке LAMP в Ubuntu server 16.04. Описана стартовая страница web сервера, структура домашней директории Apache, назначение каталогов и конфигурационных файлов. Приведены команды для управления и настройки конфигурации веб сервера. Описаны логика, структура, особенности и подход в конфигурации Apache. Дано понятие контекста действия директив Apache. Приведены ссылки на необходимую документацию. Скринкаст поможет вам разобраться в настройке web сервера Apache2 в операционной системе Ubuntu для своего разработческого или продуктивного веб сервера, как на виртуальной машине, так и на выделенном VDS или на своем Ubuntu Desktop персональном компьютере.
Смотреть на YouTube скринкаст: Обзор конфигурации Apache в Ubuntu
Содержание скринкаста:
- Задачи и план скринкаста………………………….00:05
- Среда LAMP Ubuntu в данном обзоре конфигурации Apache..00:59
- Обзор стартовой страницы Apache в Ubuntu……………01:29
- Обзор домашней директории Apache в Ubuntu…………..05:57
- Контекст действия директив Apache………………….09:50
- Логика загрузки конфигурации Apache………………..11:19
- Описание назначения директорий и конфигов Apache…….11:35
- Команды конфигурации и управления Apache в Ubuntu……17:44
- Резюме по скринкасту……………………………..25:33
Часто встречающиеся ошибки 1С и общие способы их решения Промо
Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.
Управление службой Apache
Для управления запуском и остановкой сервиса Apache можно использовать «ApacheMonitor». Откройте директорию веб-сервера bin («C:\Apache24\bin») и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache.
А также, так как сервис Apache устанавливается как служба, после его установки, управлять его запуском/остановкой можно в окне списка служб («Пуск» → пункт «Панель управления» → «Администрирование» → «Службы»)
При установки Apache, служба, по умолчанию получает имя «Apache» или «Apache24». Если, в силу каких либо причин, имя службы нас не устраивает, есть возможность задать собственное имя, используя в командной строке параметр «-n» c указанием имени службы через пробел. (Если в имени службы содержится пробел необходимо обернуть его в кавычки, т. е. «name service»). Рассмотрим дополнительно команды для управления сервисом Apache:
устанавливаем службу
C:\Apache24\bin\httpd.exe -k install или C:\Apache24\bin\httpd.exe -k install -n name_service C:\Apache24\bin\httpd.exe -k install -n "name service"
запускаем службу
C:\Apache24\bin\httpd.exe -k start или C:\Apache24\bin\httpd.exe -k start -n name_service C:\Apache24\bin\httpd.exe -k start -n "name service"
останавливаем службу
C:\Apache24\bin\httpd.exe -k stop или C:\Apache24\bin\httpd.exe -k stop -n name_service C:\Apache24\bin\httpd.exe -k stop -n "name service"
удаляем службу
C:\Apache24\bin\httpd.exe -k uninstall или C:\Apache24\bin\httpd.exe -k uninstall -n name_service C:\Apache24\bin\httpd.exe -k uninstall -n "name service"
получаем информации о версии службы
C:\Apache24\bin\httpd.exe -V
получаем конфигурацию службы
C:\Apache24\bin\httpd.exe -k config или C:\Apache24\bin\httpd.exe -k config -n name_service C:\Apache24\bin\httpd.exe -k config -n "name service"
Данная команда тестирует конфигурационный файл httpd.conf и отображает ошибки
Управлять службами также можно, используя в командной строке команду «net». Рассмотрим несколько примеров.
получаем список служб
C:\Windows\system32>net start
запускаем службу
C:\Windows\system32>net start Apache2.4 или C:\Windows\system32>net start "name service"
останавливаем службу
C:\Windows\system32>net stop Apache2.4 или C:\Windows\system32>net stop "name service"
Пример 1: переход на другой домен
Предположим, у вас есть сайт, который пользуется популярностью, но в какой-то момент у вас возникла необходимость сменить его домен. Конечно, вы не можете просто переместить контент на новый домен, а старый забросить: так вы потеряете своих посетителей. Кроме того, ссылки на ваш сайт, расположенные на других сайтах, перестанут работать, если вы просто перенесёте контент на новый домен и не оставите никакой информации о его новом местонахождении. Все это приведёт к снижению трафика. Как переместить контент сайта на новый домен и не потерять аудиторию?
В таком случае нужно настроить редирект со старого домена (например, domain1.com) на новый (domain2.com). Чтобы навсегда сменить доменное имя сайта, используйте постоянный редирект. Благодаря этому браузер сможет перенаправлять поступающий трафик на новый домен.
Итак, предположим, что на данный момент сайт обслуживается по домену domain1.com, а его виртуальный хост находится в /etc/apache2/sites-available/domain1.com.conf:
Виртуальный хост для нового домена сайта, /etc/apache2/sites-available/domain2.com.conf, должен выглядеть так:
Теперь измените настройки виртуального хоста domain1.com и добавьте в них постоянный редирект на domain2.com:
В данном случае используется директива RedirectMatch, а не Redirect, поскольку сайт состоит из нескольких страниц. Регулярное выражение ^/(.*)$ совпадает с любым текстом, идущим в URL-адресе после /. Таким образом, http://domain1.com/index.html будет перенаправляться на http://domain2.com/index.html.
Чтобы настроить постоянный редирект, нужно просто добавить опцию permanent в директиву RedirectMatch.
Примечание: После изменения виртуального хоста нужно перезапустить Apache, чтобы обновить настройки:
Clients, Servers, and URLs
Addresses on the Web are expressed with URLs — Uniform Resource Locators
— which specify a protocol (e.g. ), a servername (e.g.
), a URL-path (e.g.
), and possibly a query
string (e.g. ) used to pass additional
arguments to the server.
A client (e.g., a web browser) connects to a server (e.g., your Apache HTTP Server),
with the specified protocol, and makes a request for a resource using the
URL-path.
The URL-path may represent any number of things on the server. It may
be a file (like ) a handler (like server-status) or some kind of program
file (like ). We’ll discuss this more below in
the section.
The server will send a response consisting of a status
code and, optionally, a response body.
The status code indicates whether the request was successful, and, if not, what
kind of error condition there was. This tells the client what it should
do with the response. You can read about the possible response codes in
HTTP Server
wiki.
Уровни логирования
Apache делит все уведомляющие сообщения на категории в зависимости от важности соощения. Для этого существуют уровни логирования
К примеру, наиболее важные сообщения, уведомляющие о критических ошибках и сбоях, существует уровень emerg. А сообщения уровня info просто предоставляют полезные подсказки
Для этого существуют уровни логирования. К примеру, наиболее важные сообщения, уведомляющие о критических ошибках и сбоях, существует уровень emerg. А сообщения уровня info просто предоставляют полезные подсказки.
Существуют следующие уровни логирования:
emerg: критическая ситуация, аварийный сбой, система находится в нерабочем состоянии.
alert: сложная предаварийная ситуация, необходимо срочно принять меры.
crit: критические проблемы, которые необходимо решить.
error: произошла ошибка.
warn: предупреждение; в системе что-то произошло, но причин для беспокойства нет.
notice: система в норме, но стоит обратить внимание на её состояние.
info: важная информация, которую следует принять к сведению.
Debug: информация для отладки, которая может помочь определить проблему.
trace: Трассировка информации различных уровней детализации.
При настройке логирования задаётся наименее важный уровень, который нужно вносить в лог. Что это значит? Логи фиксируют указанный уровень логирования, а также все уровни с более высоким приоритетом. К примеру, если выбрать уровень error, логи будут фиксировать уровни error, crit, alert и emerg.
Для настройки уровня логирования существует директива LogLevel. Уровень логирования по умолчанию задан в стандартном конфигурационном файле:
Как видите, по умолчанию Apache вносит в лог сообщения уровня warn (и более приоритетных уровней).
Где находятся логи Apache?
Apache может разместить свои логи, используя общесерверные настройки ведения логов. Также можно настроить индивидуальное логирование для каждого отдельного виртуального хоста.
Более подробно о функции error_reporting ()
Функция сообщения об ошибках — это встроенная функция PHP, которая позволяет разработчикам контролировать, какие ошибки будут отображаться. Помните, что в PHP ini есть директива error_reporting, которая будет задана этой функцией во время выполнения.
Для удаления всех ошибок, предупреждений, сообщений и уведомлений передайте в функцию error_reporting ноль. Можно сразу отключить сообщения отчетов в ini-файле PHP или в .htaccess:
PHP позволяет использовать переменные, даже если они не объявлены. Это не стандартная практика, поскольку необъявленные переменные будут вызывать проблемы для приложения, если они используются в циклах и условиях.
Иногда это также происходит потому, что объявленная переменная имеет другое написание, чем переменная, используемая для условий или циклов. Когда ENOTICE передается в функцию errorreporting, эти необъявленные переменные будут отображаться.
Функция сообщения об ошибках позволяет вам фильтровать, какие ошибки могут отображаться. Символ «~» означает «нет», поэтому параметр ~ E_NOTICE означает не показывать уведомления
Обратите внимание на символы «&» и «|» между возможными параметрами. Символ «&» означает «верно для всех», в то время как символ «|» представляет любой из них, если он истинен
Эти два символа имеют одинаковое значение в условиях PHP OR и AND.
Эти три строки кода делают одно и то же, они будут отображать все ошибки PHP. Errorreporting(EALL) наиболее широко используется разработчиками для отображения ошибок, потому что он более читабелен и понятен.
Публикуем нашу базу на веб сервере.
Открываем конфигуратор нашей базы (Запуск 1С обязательно от имени администратора)
Переходим в Администрирование — «Публикация на веб-сервере»
Заполняем имя ЛАТИНСКИМИ БУКВАМИ БЕЗ ПРОБЕЛОВ (можно использовать подчеркивание)
Веб сервер Apache
Каталог — по сути произвольный каталог с файлами веб сервера для текущей базы. Желательно название каталога, что бы совпадало с названием базы (для простоты). Остальные флажки оставляем как на картинке. Смысл и необходимость каждого флажка можно будет разобрать позже.
Нажимаем «Опубликовать». Если при нажатии опубликовать вы видите сообщение
Невозможно записать c:\Program Files (x86)\Apache …. значит вы запустили 1С не от имени администратора. Закройте 1С и заново запустите (теперь «от имени администратора»)
Вы должны увидеть сообщение «Публикация выполнена»
На вопрос «Перезапустить ли веб-сервер» — всегда соглашаемся.
Пробуем открыть в броузере нашу базу. С текущего компьютера (где установлен веб-сервер)
И если все удачно — то с других компьютеров — http://192.168.0.189/UNF_InternetMagazin/
Удаление службы используя командную строку
На моей практике был случай, когда я удалил файлы веб-сервера, забыв перед этим остановить службу и удалить ее. Соответственно служба не работала, так как файлы были удалены, но висела в списках. При развертывании нового веб-сервера, а именно при попытки установить службу, консоль ругалась, что данная служба уже установлена.
Для решения данной проблемы пришлось удалить службу, выполнив в командной строке следующую команду:
C:\Windows\system32>sc delete ServiceName или C:\Windows\system32>sc delete "Service Name"
где ServiceName или «Service Name» имя удаляемой службы
По итогам изучения данного материала мы рассмотрели процесс установки локального веб-сервера, познакомились с главным конфигурационным файлом httpd.conf и его основными директивами. Так же мы рассмотрели механизмы управления службой Apache, такие как: запуск, остановка, удаление, просмотр версии.
На следующем шаге мы подключим модуль интерпретатора языка программирование PHP к установленному веб-серверу, и тем самым укажем веб-серверу, что он должен исполнять php скрипты.
Настройка виртуальных хостов Apache
Было бы не совсем удобно, если на одной физической машине можно было размещать только один сайт. Apache может поддерживать сотни сайтов на одном компьютере и выдавать для каждого из них правильное содержимое. Для этого используются виртуальные хосты. Сервер определяет к какому домену приходит запрос и отдает нужное содержимое из папки этого домена.
Настройки хостов Apache расположены в папке /etc/apache2/sites-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:
- ServerName — основное имя домена
- ServerAlias — дополнительное имя, по которому будет доступен сайт
- ServerAdmin — электронная почта администратора
- DocumentRoot — папка с документами для этого домена
Например:
Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:
Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:
Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:
Вот, ну теперь будет работать, открывайте браузер, проверяйте.
1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо
Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».
Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.
1 стартмани
Сжатие баз данных 1С:Предприятие в MS SQL Server Промо
Тема сжатия баз данных 1С в настоящий момент довольно часто обсуждается. Достоинства сжатия известны – уменьшение размера базы данных, уменьшение нагрузки на дисковую подсистему и некоторое ускорение выполнения тяжелых операций чтения/записи. Из недостатков – небольшое увеличение нагрузки на процессоры сервера СУБД за счет расхода ресурсов на компрессию/декомпрессию данных. Но при использовании в качестве MSSQL и DB2 (за Oracle и PostgreSQL не скажу, т.к. не знаю) есть один «подводный камень» — при выполнении реструктуризации происходит декомпрессия новых таблиц и индексов. Происходить это может как при выполнении обновления конфигурации с изменением структуры метаданных, так и при выполнении тестирования и исправления ИБ (реиндексация пересоздает только индексы, а реструктуризация – и таблицы, и индексы). «Проблема» кроется в том, что признак сжатия устанавливается индивидуально для каждой таблицы и индекса.
Почему не запускается Apache?
Вы можете столкнуться с такой проблемой по разным причинам, давайте сначала рассмотрим основные из них, чтобы вы знали что дальше делать:
- Ошибка в конфигурационном файле — вы меняли конфигурацию и настроили что-то неправильно из-за этого программа не может запустится;
- Права доступа — у программы нет прав доступа к каким-то важным для нее файлам, например, файлам логов, модулей или конфигурационным файлам;
- Не запускается служба apache при загрузке, но при запуске из консоли все работает — проблема в том, что на момент запуска загружены еще не все необходимые службы;
- Неверно указанно доменное имя — такая ошибка довольно часто встречается на локальных компьютерах;
А теперь рассмотрим более подробно почему так происходит и как решить проблему.
Ректальное администрирование: Основы для практикующих системных АДминистраторов
Одной из самых популярных и зарекомендовавших себя методологий системного администрирования является так называемое ректальное. Редкий случай сопровождения и обслуживания информационных систем, инфраструктуры организации обходится без его использования. Зачастую без знания данной методологии сисадминам даже бывает сложно найти работу в сфере ИТ, потому что работодатели, особенно всякие аутсорсинговые ИТ фирмы, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям: практикам ITIL, нормальным ITSM и прочей ерунде.
ШАГ 1 развертывание дистрибутива Apache
Сборка Apache 2.4.23 x64 от Apache Haus поставляется в zip архиве и не имеет инсталлятора Windows, поэтому считается портативным (portable) вариантом дистрибутива Apache. Portable версия имеет ряд удобств и позволяет разместить дистрибутив в любом каталоге файловой системы и самостоятельно настроить запуск Apache так как вам нужно.
Рекомендую для разрешения дистрибутива Apache выбрать каталог, путь к которому будет содержать только EN символы и не будет иметь пробелов, т.к. этот путь станет для Apache значением ServerRoot директивы, в которой задается домашняя директория WEB сервера.
В примерах этой статьи и скринкаста дистрибутив Apache будет развернут в директорию «Z:\WebDevelopment\Apache24» и, соответственно, ServerRoot директива будет определена как «Z:/WebDevelopment/Apache24».
Формат значения пути в директиве ServerRoot следующий:
- слеши прямые и одинарные;
- завершающего слеша нет;
- если есть пробелы, то путь должен быть в кавычках («path_to»),
- на Linux значение чувствительно к регистру символов.
Структура дистрибутива Apache
Сборка Apache 2.4.23 x64 от Apache Haus имеет следующую структуру каталогов:
|Apache24....................Домашняя директория Apache - ServerRoot |-- bin..................Директория с бинарниками Apache | `-- ... | `-- ApacheMonitor.exe...Программа монитор для управления Apache как Windows службой | `-- httpd.exe...........Главный исполняемый файл web сервера Apache | `-- ... |-- cgi-bin.......Директория обработчика для CGI program |-- conf..........Директория с конфигурационными файлами Apache | `-- extra....Директория с дополнительными конфигами Apache, которые подключаются в httpd.conf | | `-- httpd-ahssl.conf | | `-- httpd-autoindex.conf | | `-- httpd-dav.conf | | `-- httpd-default.conf | | `-- httpd-deflate.conf | | `-- httpd-info.conf | | `-- httpd-languages.conf | | `-- httpd-manual.conf | | `-- httpd-mpm.conf | | `-- httpd-multilang-errordoc.conf | | `-- httpd-proxy-html.conf | | `-- httpd-ssl.conf | | `-- httpd-userdir.conf | | `-- httpd-vhosts.conf | `-- original........Директория исходных конфигов от Apache, добавлена в сборку для справки | `-- ssl.............Директория для SSL сертификатов | `-- charset.conv....Конфиг установки кодировки, подключаются в httpd.conf | `-- httpd.conf......Главный конфиг Apache в данной сборке от Apache Haus | `-- magic...........Конфиг скриптов для модуля mime_magic | `-- mime.types......Конфиг установки MIME типов | `-- openssl.cnf.....Конфиг OpenSSL |-- error................Директория с конфигами страниц ошибок для Apache |-- htdocs...............Директория и хост по умолчанию с документацией от Apache Haus |-- icons................Директория с иконками |-- include..............Директория служебных скриптов Apache |-- lib..................Директория вспомогательных библиотек |-- logs.................Директория файлов журналов Apache |-- modules..............Директория модулей Apache |-- ABOUT_APACHE.txt |-- CHANGES.txt |-- INSTALL.txt |-- LICENSE.txt |-- NOTICE.txt |-- OPENSSL-NEWS.txt |-- OPENSSL-README.txt |-- README.txt |-- readme_first.html......Краткий help от Apache Haus, лежит в корне zip архива
Данная сборка Apache 2.4.23 x64 от Apache Haus для Windows является полным дистрибутивом WEB сервера и содержит все необходимые исполняемые и конфигурационные файлы для полноценной работы Apache как веб сервера, включая и использование https соединения. Соответственно, установил эту сборку и настроив ее, вы получаете полный, со всеми модулями, web сервер Apache, который можете использовать не только для разработки и тестирования, но и для продуктивного хостинга сайтов на Windows.
В zip архиве данной сборки так же вложен файл readme_first.html, который содержит краткое описание компонентов данной сборки и их версий. Так же, в этом файле приведены краткие инструкции от Apache Haus по установке Apache, VC14, инсталляции Apache как системной службы и даны необходимые ссылки.
Проверяем запустился ли веб сервер
Для этого открываем любой броузер и указываем адрес страницы http://localhost
Мы должны увидеть страничку с надписью It Works !
Выясним IP адрес нашего компьютера в локальной сети. Для этого в нижнем правом углу (рядом с часами) находим иконку локальной сети, кликаем на ней правой кнопкой и открываем «Центр управления сетями и общим доступом»
Выбираем нашу сеть
И нажимаем кнопку «Сведения»
В моем случае адрес компьютера в локальной сети 192.168.0.189
Теперь возвращаемся в броузер и проверяем доступность страницы It Works по IP адресу http://192.168.0.189 (в вашем случае цифры будут отличаться)
Если снова увидели знакомую страницу It Works — все хорошо,
Минусы и недостатки
Когда посетителей на сервере много, Апач работает медленно. А всё потому, что в 1995 году высокой нагрузкой считалось, условно, 1000 посетителей в минуту, а сейчас — миллион. И когда обращений к сайту становится слишком много (а Апач обрабатывает каждое соединение по очереди) — сервер не справляется и тормозит.
Второй недостаток — уязвимость подключаемых модулей. Сам Апач проверен на надёжность и безопасность много раз, а вот в модулях могут быть проблемы. Если подключить модуль, в котором есть дыры в безопасности, то через них можно получить доступ и к серверу, и к файлам, которые на нём хранятся.