web-dev-qa-db-ja.com

Centos7でのApache2.4.xのログファイルディレクトリの変更

現在、私のログファイルは `/ var/log/httpd /で利用できます。ルートパーティションの量が限られているため、ログが制限を超えており、システムがスタックしています。

Apacheログディレクトリを別のマウントされたボリュームに変更したい。

設定ファイルのログファイルディレクトリについて何も変更していないので、/var/log/http/*ディレクトリを/someRandomVolume/httpLogFolder/*に変更する最も簡単な方法は何でしょうか。

これは、設定ファイルへのログオンについて私が持っているものです。

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual Host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that Host's errors will be logged there and not here.
#
ErrorLog "logs/error_log"

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    #CustomLog "logs/access_log" common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    CustomLog "logs/access_log" combined
</IfModule>
1
Lunatic Fnatic

RHEL/CentOSでは、ログファイルのデフォルトの場所は ServerRoot ベースディレクトリ/etc/httpd/からの相対位置であり、通常は/etc/httpd/logsから/var/log/httpdへのシンボリックリンクです。 。

別のディレクトリを使用する場合は、/var/log/httpdを移動してそのシンボリックリンクを更新するだけです。

または、@ TomTomTomが提案したように、CustomLogおよびErrorLogディレクティブで絶対パスを使用します。

SELinuxを有効にしている場合は、その新しいディレクトリに対して正しいコンテキストが設定/保持されていることを確認してください。

3
HBruijn