it-swarm-ja.com

Ubuntu 14.04開始前に常にApache2ログディレクトリを作成する必要があります

PCの再起動後、Apache2はディレクトリ/var/log/Apache2/が見つからないため、起動できません。また、 '/ var/log/suphp/`フォルダーも見つからないため、phpは機能しません。

したがって、再起動後/var/log/が更新されるか、そのようなものになります。これをどのように解決できますか?

どのパッチ、アップデートiをインストールする必要があり、各PCのリブート後にこのコマンドを回避する方法:

Sudo mkdir /var/log/suphp/
Sudo mkdir /var/log/Apache2/

更新:

Ubuntu Trustyの新規インストールです。

$ ls -l /var/
total 36
drwxr-xr-x  2 root root     4096 лис 14 03:54 backups
drwxr-xr-x 20 root root     4096 лис 13 23:52 cache
drwxrwsrwt  2 root whoopsie 4096 лис 14 17:44 crash
drwxr-xr-x 79 root root     4096 лис 14 18:32 lib
drwxrwsr-x  2 root staff    4096 кві 11  2014 local
lrwxrwxrwx  1 root root        9 лис 13 00:49 lock -> /run/lock
drwxr-xr-x  7 root root      320 лис 17 08:21 log
drwxrwsr-x  2 root mail     4096 лип 23 00:57 mail
drwxrwsrwt  2 root whoopsie 4096 лип 23 01:22 metrics
drwxr-xr-x  2 root root     4096 лип 23 00:57 opt
lrwxrwxrwx  1 root root        4 лис 13 00:49 run -> /run
drwxrwxrwt  4 root root       80 лис 17 08:12 spool
drwxrwxrwt  2 root root       40 лис 17 08:22 tmp
drwxr-xr-x  3 root root     4096 лис 13 23:37 www
$ ls -l /var/log
total 488
-rw-r--r-- 1 root root    216 лис 17 08:11 alternatives.log
-rw-r--r-- 1 root root   5666 лис 17 08:11 boot.log
drwxr-x--- 2 root lp      100 лис 17 08:12 cups
-rw-r--r-- 1 root adm   59843 лис 17 08:11 dmesg
-rw-r--r-- 1 root root      0 лис 17 08:11 dmesg.0
-rw-r--r-- 1 root root    910 лис 17 08:11 dpkg.log
-rw-r--r-- 1 root root   1626 лис 17 08:11 gpu-manager.log
drwx--x--x 2 root root    100 лис 17 08:11 lightdm
-rw-r--r-- 1 root root   2141 лис 17 08:11 pm-powersave.log
drwxr-xr-x 3 root root    160 лис 17 08:11 samba
-rw-r--r-- 1 root root 358058 лис 17 08:11 udev
-rw-r--r-- 1 root root  53242 лис 17 08:15 Xorg.0.log

Apache2再起動の出力

$ Sudo service Apache2 restart
[Sudo] password for cosname: 
 * Restarting web server Apache2                                         [fail] 
 * The Apache2 configtest failed.
Output of config test was:
(2)No such file or directory: AH02291: Cannot access directory '/var/log/Apache2/' for main error log
(2)No such file or directory: AH02291: Cannot access directory '/var/log/Apache2/' for error log of vhost defined at /opt/cosname/conf/Apache2/virtual-hosts.conf:1
(2)No such file or directory: AH02291: Cannot access directory '/var/log/Apache2/' for error log of vhost defined at /etc/Apache2/sites-enabled/000-default.conf:1
AH00014: Configuration check failed
Action 'configtest' failed.
The Apache error log may have more information.

Sudo mkdir /var/log/Apache2/ && Sudo service Apache2 restartの後

$ cat /var/log/Apache2/error.log 
[Mon Nov 17 08:18:41.263776 2014] [mpm_prefork:notice] [pid 4483] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.5 configured -- resuming normal operations
[Mon Nov 17 08:18:41.263845 2014] [core:notice] [pid 4483] AH00094: Command line: '/usr/sbin/Apache2'
[Mon Nov 17 08:18:45.027406 2014] [:error] [pid 4487] [client 127.0.0.1:49086] IOException in API_Linux_Logger.cpp:79: Could not open logfile /var/log/suphp/suphp.log
[Mon Nov 17 08:18:45.027471 2014] [core:error] [pid 4487] [client 127.0.0.1:49086] End of script output before headers: index.php

suPHPが有効になっており、再起動後に再びログディレクトリを所有していません。 Sudo mkdir /var/log/suphp/は、現在のPCセッションで解決します

1
Roman M. Koss

通常、ロガーはこれらのディレクトリを自動的に作成するため、ロギング用のディレクトリを作成する必要はありません。 Apache2をルートとして再インストールしてください。 PHPが文句を言う理由がわかりません。

更新(更新された質問を読んだ後):

私が疑ったように、問題は許可ではありません。ここにあるものと似ています: http://pcduino.com/forum/index.php?topic=3838. 。解決策もあります。

/etc/rc.localファイルにこれらのディレクトリを再作成するエントリを追加します。それがあなたの問題を解決することを願っています。

2
Horizon

rootとしてログインしているときに、/var/log/Apache2の所有者を変更します。

chown -R $USER:$USER /var/log/Apache2

これでうまくいきます。

0
Raymond Moesker