conf 파일 없이 apache2가 작동할 수 있나요?

conf 파일 없이 apache2가 작동할 수 있나요?

그래서 apache2 conf 파일에는 비밀번호 및 기타 중요한 데이터가 포함된 환경 변수가 포함되어 있습니다. apache2가 시작된 후 conf 파일을 삭제했습니다. 재부팅하려면 이 파일을 다시 생성해야 한다는 것을 알고 있습니다.

apache2가 예상대로 작동(내 사이트 표시)을 얼마나 오랫동안 계속합니까? apache2는 시작된 후 conf 파일을 읽습니까?

서버를 다시 시작하지 않았지만 Apache 우분투 기본 페이지가 표시되었기 때문에 묻습니다.

ps -aux | 그렙 아파치

www-data 27019  0.0  0.0 424372 12780 ?        S    15:52   0:00 /usr/sbin/apache2 -k start
www-data 27963  0.0  0.0 424372 12800 ?        S    16:46   0:00 /usr/sbin/apache2 -k start
www-data 27964  0.0  0.0 423968 12500 ?        S    16:46   0:00 /usr/sbin/apache2 -k start
www-data 28159  0.0  0.0 423968 12424 ?        S    16:59   0:00 /usr/sbin/apache2 -k start
www-data 28607  0.0  0.0 423968 11044 ?        S    17:19   0:00 /usr/sbin/apache2 -k start
ubuntu   28688  0.0  0.0  12948   956 pts/0    R+   17:23   0:00 grep --color=auto apache
root     28766  0.0  0.2 423888 34928 ?        Ss    2018  06:14 /usr/sbin/apache2 -k start

UPD: 이것이 conf 파일을 삭제하는 나쁜 방법이라는 것을 알고 있습니다.

답변1

@djsmiley2k가 말했듯이 Apache는 시작 시 구성 파일이 존재했다면 구성 파일 없이 계속 작동합니다. 그리고 아니요, 그가 말했듯이 이것은 좋은 해결책이 아니며 여러분도 알고 있습니다.

즉, apache2가일하다아니면... "라고 말하고 싶습니다.아니요".

대부분의 시스템은 다양한 이유로 자동으로 Apache를 다시 시작하거나 Apache 구성을 다시 로드합니다. 예를 들어 일반적으로 Apache는 로그 파일이 순환될 때 다시 시작됩니다. 이러한 자동화된 작업 중 다수는 Apache 기반 웹 서버의 올바른 작동을 위해 필요합니다. 구성 파일의 재생성도 자동화해야 합니다. 즉, 비밀번호를 다른 곳에 저장해야 하며, 이 시점에서 구성 파일을 삭제하려는 목적을 상실하게 됩니다.

또한 Apache2가 충돌하는 경우와 같이 계획되지 않은 다시 시작이 발생합니다. 안정성은 그대로 유지되지만 Apache는 방탄이 아닙니다. SOP는 Apache 프로세스를 관찰하고 중단되거나 충돌하는 경우 자동으로 다시 시작하는 몇 가지 방법을 마련하는 것입니다. 많은 현대 시스템에서는 이를 위해 systemd를 사용합니다. 다시 시작 프로세스에 구성 파일의 자동 재구성을 추가할 수 있지만 그렇게 하면 여전히 구성 파일을 삭제하려는 목적이 무산됩니다.

여기서 실제 솔루션은 민감한 데이터를 보호하는 것입니다.환경 변수는 Apache 프로세스를 관리하는 데 사용하는 도구에 따라 설정되어야 합니다. 시스템화됨(예:)제공한다 도구이를 위해. 다음에 사용되는 비밀번호로컬 인증Apache를 실행하는 사용자(예: root)만이 읽고 쓸 수 있는 파일에 암호화되어 저장되어야 하며, 특히 Apache가 파일을 읽는 사용자(예: www-data)가 아닌 파일에 저장되어야 합니다.

원격 인증(예: 웹 서버에서 데이터베이스와 같은 다른 서버나 서비스로의 인증)에 사용되는 비밀번호가 있는 경우 SSH 인증에 사용되는 것과 같은 사전 공유 공개/개인 키로 교체하는 것을 고려해야 합니다. 원격 서버 간의 암호화(심각하게는 SSH 터널, 좋은 것들)는 말할 것도 없고... Apache를 시작하는 권한이 있는 사용자만 액세스할 수 있는 파일에 저장됩니다. 그리고 솔직히 Apache 자체가 다른 서비스에 대한 인증 작업을 처리해서는 안 됩니다...

답변2

~할 수 있다아파치가 시작되면 파일을 삭제하면 파일을 다시 읽어야 할 때까지(예: 데몬을 다시 시작한 경우) 계속 실행됩니다.

이는 다음과 같은 것으로 보입니다.X->Y문제이고 실제로 문제를 언급한 것이 아니라 해결책이 무엇이라고 생각하는지에 대해 질문했을 뿐입니다. 그러나 이는 권장되는 해결 방법은 아닙니다.

답변3

Apache conf 파일 내부에 중요한 데이터를 직접 저장하지 않는다는 데 동의하지만 여기서는 다른 생각이 있습니다. 확실히 어떤 종류의 비밀번호도 아닙니다.

conf.d 폴더 안에 *.conf 파일을 직접 만들 수 있습니다. Apache는 여전히 이를 로드합니다.

그런 다음 중요한 데이터를 모두 새 .conf 파일로 마이그레이션합니다. 이제 삭제하고 다시 설정할 수 있는 파일은 1개뿐입니다.

따라서 Apache에는 여전히 일부 구성 데이터를 사용할 수 있으며 빈 Apache 설치로 시작되지 않습니다. 분명히 documentRoot 폴더가 가장 중요합니다.

관련 정보