Debian 12에서 apache2 서비스가 중단되었습니다.

Debian 12에서 apache2 서비스가 중단되었습니다.

Debian 12의 apache2 서비스가 나에게 적합하지 않은 것 같습니다. 해당 디렉토리에 존재하지 않는 것 같은 apache2 하위 디렉토리 에
대한 로그에 불만이 있습니다 /var/log/apache2.
/var/log

임시 수정은 sudo mkdir /var/log/apache2아파치 서비스를 다시 시작하는 것이었습니다. 하지만 시스템을 다시 시작한 후 apache2 하위 디렉터리가 유지되지 않으므로 apache2 하위 디렉터리를 다시 생성하려면 다시 실행 /var/log해야 합니다 .mkdir

이 /var/log/apache2 디렉토리를 만들면 내가 직면한 문제가 해결되었습니다. NET에서는 제공되지 않는 이 문제에 대한 보다 영구적인 솔루션을 원합니다 /var/log.

systemctl start apache2는 sudo 권한으로 실행되는데 아무 영향도 없는 것 같고 /var/log/apache2존재하지도 않고 로그도 생성할 수 없다고 불평해서 지정된 디렉터리가 생성될 때까지 서비스가 전혀 실행되지 않습니다.

답변1

원인이 무엇인지 알 것 같습니다. Stacer는 응용 프로그램 로그 파일을 삭제하므로 재부팅 시 디렉터리 누락으로 인해 서비스가 시작되지 않습니다. 그래서 처음에는 이것이 재부팅이라고 생각했습니다. 도움을 주셔서 감사합니다.

답변2

디렉터리를 삭제해서는 안 됩니다 /var/log/apache2/. 이 작업을 수행하고 디렉터리를 삭제하는 내용을 찾아 보고해야 하는 경우:

mkdir -p /var/log/apache2
chown root:adm /var/log/apache2
chmod 750 /var/log/apache2
touch /var/log/apache2/.write-protect
chattr +i /var/log/apache2/.write-protect

이렇게 하면 디렉터리가 반복적으로 또는 강제로 삭제되는 것을 방지할 수 있습니다. 모든 시도는 다음과 같은 결과를 낳습니다. 파일이 변경 불가능하게 되어 삭제할 수 없기 rm: cannot remove 'apache2/.write-protect': Operation not permitted때문입니다 . 참고: 디렉터리가 비어 있지 않으면 삭제할 수 없기 때문에 .write-protect디렉터리에 있는 다른 파일의 삭제가 방지되지는 않지만 파일 자체와 상위 디렉터리만 삭제됩니다 . .write-protect무엇이 로그 디렉터리를 삭제하는지 상상할 수 없지만 무엇이든 수정해야 합니다.

내가 생각할 수 있는 유일한 다른 설명은 귀하의 /var/log또는 /var/log/apache2디렉토리가 tmpfs에서 마운트된다는 것입니다(상상할 수 없는 것처럼 보이지는 않지만 확실히 사용자 정의임). 이 경우 모든 것이 항상 일시적이므로 apache2 서비스 단위를 수정해야 합니다. 디렉터리가 생성되었는지 확인하려면 다음을 수행하세요.

systemctl stop apache2
systemctl disable apache2
cp /usr/lib/systemd/system/apache2.service /etc/systemd/system/my-apache2.service
  • /etc/systemd/system/my-apache2.service아래에서 다음 줄을 편집 하고 추가합니다 [Service].

ExecStartPre=mkdir /var/log/apache2 && chown -R root:adm /var/log/apache2 && chmod 750 /var/log/apache2

콘텐츠를 저장하고 종료한 다음 입력 하고 systemctl daemon-reload 입력하여 systemctl start my-apache2제대로 시작되는지 확인하고, systemctl status my-apache2정상적으로 시작되면 systemctl enable my-apache2매번 시작됩니다.

관련 정보