- Where are the Apache and PHP log files?
- 5 Answers 5
- Как смотреть логи в Apache?
- Просмотр журналов доступа Apache
- Использование cPanel для загрузки необработанных файлов регистрации доступа
- Использование команд терминала для отображения журналов локального доступа
- Шаг 1: Отображение последних 100 записей журнала доступа
- Шаг 2: отображение записей определенного типа из журнала доступа
- Просмотр журнала ошибок Apache
- Как читать логи в Apache
- Как использовать данные в лог-файлах Apache
- Заключение
Where are the Apache and PHP log files?
I’ve installed Apache, PHP, and MySQL on Ubuntu 10.10 desktop edition, and it’s working fine.
Except I have no clue where to look for Apache or PHP log files.
5 Answers 5
By default, /var/log/apache2/error.log .
This can be configured in /etc/php5/apache2/php.ini .
Check these settings in php.ini :
- error_reporting = E_ALL | E_STRICT (as recommended for development in php.ini)
- error_log = /var/log/php_errors.log
- Then create log file manually
touch /var/log/php_errors.log chown www-data: /var/log/php_errors.log chmod +rw /var/log/php_errors.log
Now you can view PHP errors by this way
This is an agreeable solution to this issue for me.
You can also define a specific error log file for each VirtualHost in Apache. If you have any VirtualHost defined in /etc/apache2/sites-available/ and enabled in /etc/apache2/sites-enabled (enable with sudo a2ensite [your-virtualhost-definition-file] ), you can change the error log by adding the following line inside your VirtualHost config:
ErrorLog $/[your-vhost]-error.log
That might be useful if you have a lot of vhosts and want to split where they report the errors.
Also, you can watch your error log live by issuing the following command (adapt to your own log file if different from the default):
sudo tail -f /var/log/apache2/error.log
This is particularly useful when doing live debugging.
Как смотреть логи в Apache?
Apache – это часть стека LAMP программного обеспечения для Linux (Linux, Apache, MySQL, PHP). Apache позволяет открывать веб-страницы людям, просматривающим ваш сайт.
Сервер предоставляет доступ для посещения вашего веб-сайта и ведет журнал доступа. Эти записи, лог-файлы, могут оказаться ценным источником информации о вашем веб-сайте, его использовании и его аудитории.
В данной статье вы узнаете, как просматривать лог-файлы журнала доступа Apache.
Просмотр журналов доступа Apache
Использование cPanel для загрузки необработанных файлов регистрации доступа
Если вы вошли на веб-сервер с помощью cPanel, то вы можете загрузить журналы доступа Apache через графический интерфейс.
- Найдите раздел с надписью «Metrics».
- Нажмите «Raw Access». Если включено архивирование, то необработанные файлы журналов Apache можно загрузить внизу страницы. Они будут выглядеть как стандартные гиперссылки, промаркированные с учетом конструкции веб-сайта, которым вы управляете.
При нажатии на гиперссылку вам будет предложено сохранить или открыть файл. Эти лог-файлы сжаты при помощи gzip, поэтому, если ваша систему отлична от Linux, то вам могут понадобиться дополнительные инструменты для распаковки. Сохранить файл вы можете в любую папку.
- Найдите файл в своей ОС, затем щелкните на него правой кнопкой мыши и выберите extract(извлечь). После этого должен появиться новый файл без расширения .gz .
- Щелкните правой кнопкой мыши и выберите edit (изменить), чтобы открыть файл в любом текстовом редакторе и просмотреть его содержимое.
Использование команд терминала для отображения журналов локального доступа
Если вы работаете на компьютере, на котором установлен Apache, или если вы вошли в систему удаленно, то вы можете использовать терминал для отображения и фильтрации содержимого журналов доступа.
По умолчанию вы можете найти лог-файл по следующим путям:
Чтобы перемещаться по вашей системе в поисках журналов, используйте графический интерфейс или терминал с командой cd .
Шаг 1: Отображение последних 100 записей журнала доступа
Введите в окно терминала следующую команду:
sudo tail -100 /var/log/apache2/access.log
Команда tail указывает на то, что необходимо прочитать последнюю часть файла, а команда -100 – что нужно отобразить 100 записей.
Последняя часть команды, /var/log/apache2/access.log , указывает, где искать лог-файл. Если ваш лог-файл имеет другое расположение, то обязательно укажите верный путь.
Шаг 2: отображение записей определенного типа из журнала доступа
Иногда может потребоваться отобразить в журнале только записи определенного типа. Вы можете воспользоваться командой grep для фильтрации отчета по ключевым словам.
Например, введите в терминал следующую команду:
sudo grep GET /var/log/apache2/access.log
Как и предыдущая команда, она обращается к файлу /var/log/apache2/access.log , чтобы отобразить содержимое журнала доступа. Команда grep указывает на то, что отобразить нужно только записи с запросом GET .
Эту команду можно заменить на любые другие команды Apache. Например, если вы хотите отследить доступ к изображениям в формате .jpg , то вы можете заменить GET на .jpg . Как и в предыдущей команде, следите за тем, чтобы был указан фактический путь к лог-файлу вашего сервера.
Просмотр журнала ошибок Apache
Помимо журнала доступа вы можете просматривать журнал ошибок, используя ранее упомянутые команды терминала.
Введите в терминал следующую команду:
sudo tail -100 /var/log/apache2/error.log
Если ваш лог-файл доступа был расположен в другой папке, то и лог-файл ошибок будет в той же папке. Проверьте, что вы верно указали путь до файла.
Как читать логи в Apache
Когда вы открываете лог-файл доступа впервые, то внутренний вид вас может потрясти.
Там находится множество информации о HTTP-запросах, а некоторые текстовые редакторы (и терминал) еще могут переносить часть текста на следующую строку, что может затруднять чтение файла. Однако, несмотря на это, каждая информация отображается в определенном порядке.
Традиционный формат отображения лог-файла доступа:
Это код для наиболее общих параметров в каждой строке лог-файла.
Каждый знак % соответствует определенному фрагменту информации в журнале:
- %h – IP-адрес клиента (источника запроса на доступ).
- %l – следующая запись может быть просто дефисом – это означает, что информация не была получена. Это результат проверки identd на стороне клиента.
- %u – идентификатор пользователя клиентской стороны, если для запроса доступа требуется HTTP-аутентификация.
- %t – временная метка входящего запроса.
- %r – использованная строка запроса. Здесь речь идет о методе http (GET, POST, HEAD и т.д.), пути к тому, что было запрошено, и используемом протоколе http.
- %>s – код состояния, возвращенный сервером клиенту.
- %b – размер запрошенного ресурса.
- «%i» — указывает на то, как был получен доступ, путем перехода по ссылке на другом веб-сайте или другими способами, с помощью которых клиент был направлен на вашу страницу.
- «%i» — сообщает вам информацию об объекте, совершающем запрос, например, о веб-браузере, операционной системе, источнике веб-сайта (если это робот) и т.д.
При прочтении строки в вашем лог-файле каждая запись может быть расшифрована по схеме выше. Если той или иной информации нет, то на ее месте будет стоят дефис. Если вы работаете на предварительно сконфигурированном сервере, то в лог-файле может быть больше или меньше информации. Вы также можете создать свой собственный формат журнала с помощью пользовательского программного модуля.
Дополнительную информацию о форматах журналов декодирования можно найти тут
Как использовать данные в лог-файлах Apache
Анализ журнала Apache дает возможность наблюдать за способами взаимодействия клиентов с вашим сайтом.
Например, вы можете посмотреть временную метку, чтобы выяснить, сколько поступает запросов на доступ в час, чтобы определить шаблоны трафика. Вы можете посмотреть на user-agent, чтобы узнать, входят ли определенные пользователи на веб-сайт с целью доступа к базе данных или создания контента. Вы также можете отлеживать неудачные попытки аутентификации, чтобы выявлять различные виды кибератак на вашу систему.
Журнал ошибок Apache можно использовать аналогичным образом. Часто его просто используют для того, что посмотреть сколько генерируется ошибок 404. Ошибка 404 возникает, когда клиент запрашивает отсутствующий ресурс, и это может помочь вам распознать неработающие ссылки или другие ошибки на странице. Помимо этого, его также можно использовать для поиска ошибок конфигурации или даже предупреждений о потенциальных проблемах с сервером.
Заключение
В данной статье были представлены методы извлечения данных для просмотра лог-файлов доступа Apache.
Файл access.log – отличный вариант для того, чтобы проанализировать то, как клиенты взаимодействуют с вашим сервером. А файл error.log может помочь вам устранить проблемы с вашим веб-сайтом.