그룹과 사용자에 대해 서로 다른 디렉토리를 사용하여 Apache httpd 설치를 고려하십시오 - CentOS 6.6

그룹과 사용자에 대해 서로 다른 디렉토리를 사용하여 Apache httpd 설치를 고려하십시오 - CentOS 6.6

Apache와 관련된 사용자 및 그룹을 삭제했습니다(Apache는 RPM에서 사전 설치되어 있었습니다).

바이너리 소스 "tar.gz"에서 Apache HTTPD를 설치하고 있습니다.

  1. httpd-2.4.12.tar.gz 다운로드
  2. tar zxvf /.../httpd-2.4.12.tar.gz -C /usr/local/ 추출
  3. 링크 만들기ln -s /usr/local/httpd-2.4.12 /usr/local/httpd
  4. 설치됨4월-1.5.2.tar.gz그리고apr-util-1.5.4.tar.gz(필요 때문에)

나중에, 나중에

#./configure --prefix=/usr/local/httpd --with-included-apr --with-included-apr-util
-with-pcre=/usr/local/pcre --with-z=/usr/local/zlib
# make
# make install

현재까지는 문제가 없습니다...

/usr/local/httpd/conf/httpd.conf나중에 서버를 편집하고 실행한 후에 /usr/local/httpd/bin/apachectl는 정상적으로 작동했습니다.


이제 나는 만들고 싶다 user.group/usr/로컬/httpd

질문 1:

하나 필요해시스템 계정,예를 들어, useradd -r -s /sbin/nologin apache?


내 HTML 파일을 다음 위치에 넣고 싶습니다. ( /usr/local/Html예:) httpd.conf 파일에서 편집문서 루트그리고<디렉터리 "usr/local/Html">

질문 2:

어떤 사용자를 사용해야 하는지,뿌리또는아파치, 내 디렉터리의 경우:?

chown -hvR apache: /usr/local/httpd
chown -hvR apache: /usr/local/Html

질문 3: 소유자에게 어떤 권한을 할당해야 하며 어떻게 해야 합니까 chmod?

chmod -R 750 /usr/local/Html

또는

chmod -R 775 /usr/local/Html/

PS: 읽고 있는 중입니다(엄격히 따르지는 않음). http://www.linuxfromscratch.org/blfs/view/svn/server/apache.html

감사합니다!


질문이 있어요!

# useradd -g root -r -c "Apache User" -s /sbin/nologin apache
# chown -hvR apache:root /usr/local/httpd/

사용(문제없음)

# /usr/local/httpd/bin/apachectl
#

하지만 최근에 생성된 사용자를 사용하려고 하면 apache다음과 같은 결과가 발생합니다.

# /bin/su -p -s /bin/sh apache /usr/local/httpd/bin/apachectl start
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
#

답변1

  1. 답변: 예, rpm으로 가져온 apache 사용자를 삭제하는 경우 apache 또는 www라는 사용자를 생성해야 합니다. 여기서 -s /sbin/nologin apache는 apache 사용자에 대한 쉘을 추가하지 않는다는 의미입니다.

    useradd -r -s /sbin/nologin apache

원하는 곳에 네트워크 파일을 배치할 수 있습니다./srv/www,/var/www/또는/usr/로컬/httpd어디에나 정의되어 있어야 합니다.httpd.conf DocumentRoot 지시어가 있는 파일 및 웹 디렉터리에는 적절한 사용자 소유권이 있어야 합니다.아파치그리고 그룹뿌리또한 ~으로 알려진

chown -R apache:root /srv/www

참고: Centos에서 selinux를 실행 중이고 웹 파일을 /var/www에 저장하려는 경우 selinux 컨텍스트로 디렉터리를 표시해야 하며 다음 명령을 사용하여 수행할 수 있습니다.

semanage fcontext -a -t httpd_sys_content_t '/srv/www(/.*)?'
restorecon -Rv /srv/www

다음을 실행하여 이를 확인할 수 있습니다.세사투스명령 시스템에 selinux가 활성화되어 있는지 여부에 관계없이 selinux를 실행하는 것은 좋은 보안 관행으로 간주됩니다.

  1. 답변 사용자는 apache(새로 생성된 사용자)여야 하며 그룹은 루트입니다.

  2. 답변권한 모드는755화또는750Linux 가상 호스트의 경우 유휴 상태로 간주됩니다.

관련 정보