Apache와 관련된 사용자 및 그룹을 삭제했습니다(Apache는 RPM에서 사전 설치되어 있었습니다).
바이너리 소스 "tar.gz"에서 Apache HTTPD를 설치하고 있습니다.
- httpd-2.4.12.tar.gz 다운로드
- tar zxvf /.../httpd-2.4.12.tar.gz -C /usr/local/ 추출
- 링크 만들기
ln -s /usr/local/httpd-2.4.12 /usr/local/httpd
- 설치됨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
답변: 예, 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를 실행하는 것은 좋은 보안 관행으로 간주됩니다.
답변 사용자는 apache(새로 생성된 사용자)여야 하며 그룹은 루트입니다.
답변권한 모드는755화또는750Linux 가상 호스트의 경우 유휴 상태로 간주됩니다.