는 방법을 설치하는 아파치 웹서버에 CentOS7

소개

Apache HTTP server 은 가장 널리 사용되는 웹 서버에서 세계입니다. 제공하는 많은 강력한 기능을 포함하여 동적으로 링크 모듈,강력한 미디어를 지원,그리고 광범위한 통합과 함께 다른 인기 있는 소프트웨어입니다.

이 가이드에서는 Centos7 서버에 가상 호스트가있는 Apache 웹 서버를 설치합니다.

전제 조건

이 가이드를 완료하려면 다음이 필요합니다:

  • 서버에 구성된 sudo 권한을 가진 비 루트 사용자로 CentOS7 의 초기 서버 설정 가이드에 따라 설정합니다.
  • 새로운 CentOS7 서버 가이드에 대한 추가 권장 단계에 따라 구성된 기본 방화벽입니다.

1 단계—설치하는 아파치

아파치가 내에서 사용 가능한 CentOS 의 기본 소프트웨어 저장소를 의미하는,당신은 그것을 설치할 수 있으로yum패키지 관리자입니다.

으로 루트가 아닌 sudo 사용자 구성된 전제 조건에서,업데이트 로컬 아파치httpd패키지 색인을 반영하는 최신 업스트림 변화:

  • sudo yum update httpd

면 패키지를 업데이트를 설치하는 아파치 패키지.

  • sudo yum install httpd

을 확인한 후 설치 yum것이 아파치를 설치하고 모든 필요한 종속성입니다.

를 완료한 경우 추가적인 권장 단계에 대한 새로운 7 가이드 서버 전제 조건에서 설명 섹션에서,당신은 당신이 설치되어 있는firewalld80firewalld‘shttp서비스는 다음과 같은 명령:

  • sudo firewall-cmd --permanent --add-service=http

할 계획이라면 아파치를 구성하는 콘텐츠를 제공하는 HTTPS 를 통해,당신은 또한 열려 포트443https서비스:

  • sudo firewall-cmd --permanent --add-service=https

다음,다시 방화벽에서 이러한 새로운 규칙으로 효과:

  • sudo firewall-cmd --reload

후 방화벽에 다시 로드할 준비가 된 서비스를 시작하고 확인하는 웹 서버에 있습니다.

2 단계-웹 서버 확인

Apache 는 설치가 완료되면 centos 에서 자동으로 시작되지 않습니다. 당신이 필요합니다면 아파치를 시작 프로세스를 수동으로.

  • sudo systemctl start httpd

는지 확인 서비스를 실행하는 다음과 같은 명령:

  • sudo systemctl status httpd

당신이 볼 수 있는active상태를 나타 서비스 실행:

Output
Redirecting to /bin/systemctl status httpd.service● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2019-02-20 01:29:08 UTC; 5s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 1290 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─1290 /usr/sbin/httpd -DFOREGROUND ├─1291 /usr/sbin/httpd -DFOREGROUND ├─1292 /usr/sbin/httpd -DFOREGROUND ├─1293 /usr/sbin/httpd -DFOREGROUND ├─1294 /usr/sbin/httpd -DFOREGROUND └─1295 /usr/sbin/httpd -DFOREGROUND...

에서 볼 수 있듯이 산출,서비스를 시작했습니다. 그러나이를 테스트하는 가장 좋은 방법은 아파치에서 페이지를 요청하는 것입니다.

기본 Apache 방문 페이지에 액세스하여 IP 주소를 통해 소프트웨어가 제대로 실행되고 있는지 확인할 수 있습니다. 서버의 IP 주소를 모르는 경우 명령 줄에서 몇 가지 다른 방법으로 얻을 수 있습니다.

유형이 서버에서의 명령 프롬프트

  • hostname -I

이 명령을 표시하는 옵션을 제공합니다.의 호스트 네트워크 주소입니다,그래서 당신은 다시 얻을 몇 IP 주소로 공백으로 구분됩니다. 당신은 그들이 작동하는지 확인하기 위해 웹 브라우저에서 각을 시도 할 수 있습니다.

사용할 수 있습니다,또는curl을 요청의 IP 에서icanhazip.com줄 것이다,당신은 귀하의 공 IPv4 주소 보이는 다른 위치에서 인터넷에:

  • curl -4 icanhazip.com

때 당신은 당신의 서버의 IP 주소를 입력,그것은 당신의 브라우저의 주소 표시줄

http://your_server_ip

당신이 볼 수는 기본 CentOS7 아파치 웹 페이지:

기본 아파치에 대해 페이지 7

이 페이지를 나타내는 아파치가 제대로 작동하는지 확인합니다. 또한 중요한 아파치 파일 및 디렉토리 위치에 대한 몇 가지 기본 정보가 포함되어 있습니다. 지금 하는 서비스가 설치 및 실행,당신은 지금 사용할 수 있습니다 다른systemctl명령을 관리 서비스입니다.

3 단계—을 관리하고 아파치 프로세스

이제는 당신이 당신의 웹 서버를 실행자의 몇 가지 기본적인 관리는 명령입니다.

를 중지 웹 서버의 종류:

  • sudo systemctl stop httpd

를 웹 서버를 시작할 때 중지,종류:

  • sudo systemctl start httpd

정지하고 다음 시작하”서비스”의 이용을 재개합니다,유형:

  • sudo systemctl restart httpd

경우에 당신은 단순히 구성을 변경,아파치는 종종 다시 삭제하지 않고 연결이 있습니다. 이렇게하려면이 명령을 사용하십시오:

  • sudo systemctl reload httpd

기본적으로 Apache 는 서버가 부팅 될 때 자동으로 시작되도록 구성됩니다. 되지 않은 경우,당신이 원하는 것 이 동작을 사용하여 입력:

  • sudo systemctl disable httpd

을 다시 사용하려면 서비스를 시작한 부팅을 입력:

  • sudo systemctl enable httpd

아파치는 이제 시작할 때 자동으로 서버에 부츠 다시합니다.

아파치의 기본 구성은 서버가 단일 웹 사이트를 호스팅 할 수있게합니다. 서버에서 여러 도메인을 호스팅 할 계획이라면 아파치 웹 서버에서 가상 호스트를 구성해야합니다.

4 단계—설정하는 가상호스트(권장)

사용하는 경우 아파치 웹서버 사용할 수 있는 가상호스트(비슷한 서버에서 블록 Nginx)을 캡슐화하는 구성 정보와 호스트 이상 하나의 도메인에서 단일 서버입니다. 이 단계에서는example.com라는 도메인을 설정하지만이를 자신의 도메인 이름으로 대체해야합니다. DigitalOcean 으로 도메인 이름을 설정하는 방법에 대한 자세한 내용은 DIGITALOCEAN DNS 에 대한 소개를 참조하십시오.

아파치에 CentOS7 는 하나의 서버 블록을 기본적으로 사용하도록 구성된 봉사의 문서는/var/www/html/var/www/html/var/wwwexample.com/var/www/html에서는 장소를 기본값으로 디렉토리를 제공하는 경우 클라이언트 요청이 일치하지 않은 어떤 다른 사이트로 이동합니다.

만들기htmlexample.com-p플래그를 만들 필요한 모든 상위 디렉토리:

  • sudo mkdir -p /var/www/example.com/html

추가로 만들 디렉토리를 저장하는 로그 파일에 대해 웹 사이트:

  • sudo mkdir -p /var/www/example.com/log

다음에 할당 소유권의html$USER환경 변수를

  • sudo chown -R $USER:$USER /var/www/example.com/html

있는지 확인하는 귀하의 웹 뿌리는 기본 설정한 권한:

  • sudo chmod -R 755 /var/www

Next, create a sample index.html page using vi or your favorite editor:

  • sudo vi /var/www/example.com/html/index.html

Press i to switch to INSERT mode and add the following sample HTML to the file:

/var/www/example.com/html/index.html
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The example.com virtual host is working!</h1> </body></html>

Save and close the file by pressing ESC, typing :wq, and pressing ENTER.

사이트 디렉토리와 샘플 인덱스 파일을 제자리에 사용하면 가상 호스트 파일을 만들 준비가 거의 완료됩니다. 가상 호스트 파일은 별도의 사이트의 구성을 지정하고 아파치 웹 서버에 다양한 도메인 요청에 응답하는 방법을 알려줍니다.

가상 호스트를 만들기 전에 저장할sites-available디렉토리를 만들어야합니다. 또한 Apache 에 가상 호스트가 방문자에게 제공 할 준비가되었음을 알리는sites-enabledsites-enabled디렉토리는 게시하려는 가상 호스트에 대한 심볼릭 링크를 보유합니다. 모두를 만들 디렉토리에 다음과 같은 명령:

  • sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

다음에,당신은 당신을 말할 것이다 아파치를 찾는 가상호스트에서sites-enabled디렉토리에 있습니다. 이를 위해,편집,아파치의 주요 구성 파일에 추가하고 줄을 선언하는 선택 사항 디렉토리에 대한 추가 구성 파일:

  • sudo vi /etc/httpd/conf/httpd.conf

추가 이 라인의 끝에서 파일:

IncludeOptional sites-enabled/*.conf

해당 줄 추가가 완료되면 파일을 저장하고 닫습니다. 이제 가상 호스트 디렉토리가 제자리에 있으므로 가상 호스트 파일을 만들 것입니다.

시작하여 새로운 파일을 만들는sites-available디렉토리:

  • sudo vi /etc/httpd/sites-available/example.com.conf

추가한 다음과 같은 구성에서 블록,변경하고example.com도메인을 도메인 이름:

/etc/httpd/사이트를 사용할 수 있/예입니다.com.conf
<VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/example.com/html ErrorLog /var/www/example.com/log/error.log CustomLog /var/www/example.com/log/requests.log combined</VirtualHost>

이 아파치는 곳을 찾기 위해 루트로 직접 보유하고 있는 공개적으로 액세스 할 수있는 웹 문서입니다. 또한 아파치에게이 특정 사이트에 대한 오류 및 요청 로그를 저장할 위치를 알려줍니다.작업이 끝나면 파일을 저장하고 닫습니다.

이제 가상 호스트 파일을 만들었으므로 Apache 가 방문자에게 제공 할 수 있도록 활성화 할 것입니다. 이렇게하려면sites-enabled디렉토리의 각 가상 호스트에 대한 심볼릭 링크를 만듭니다:

  • sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf

이제 가상 호스트가 구성되어 콘텐츠를 제공 할 준비가되었습니다. 아파치 서비스를 다시 시작하기 전에,의 SELinux 가 가상 호스트에 대한 장소에 올바른 정책을 가지고 있는지 확인하자.

5 단계—가상 호스트에 대한 SELinux 권한 조정(권장)

selinux 는 기본 Apache 구성에서 작동하도록 구성됩니다. 이후를 설정 사용자 지정 로그 디렉토리에서 가상호스트 설정 파일을 받게됩니다,오류가 시작하려는 경우 아파치 서비스입니다. 이 문제를 해결하려면 Selinux 정책을 업데이트하여 Apache 가 필요한 파일에 쓸 수 있도록해야합니다. SELinux 는 CentOS7 환경에 향상된 보안을 제공하므로 커널 모듈을 완전히 비활성화하지 않는 것이 좋습니다.

SELinux 를 사용하면 보안 수준을 사용자 정의 할 수 있으므로 환경의 요구에 따라 정책을 설정하는 다양한 방법이 있습니다. 이 단계는 두 가지 방법을 조정하는 아파치 정책:적으로 그리고 특정 디렉토리에 있습니다. 디렉토리에 대한 정책을 조정하는 것이 더 안전하므로 권장되는 방법입니다.

조정 Apache 정책 보편적으로

설정하면 아파치는 정책적으로 말할 것이다 SELinux 을 치료하는 모든 아파치 프로세스를 동일하게 사용하여httpd_unifiedboolean. 이 방법은 더 편리하고,그것을 제공하지 않습니다 당신은 같은 수준의 제어로는 접근 방식에 초점을 맞추고 파일 또는 디렉토리 정책이 있습니다.

다음 명령을 실행하여 설정하는 보편적인 아파치 정책:

  • sudo setsebool -P httpd_unified 1

setsebool명령어 변경 SELinux 부울 값입니다. -Phttpd_unified는 부울 값을 알려주는 SELinux 을 치료하는 모든 아파치 프로세스 동일한 유형으로,그래서 당신이 사용하는 그것의 값으로1.

조정 Apache 정책에 Directory

개별적으로 설정 SELinux 를 사용 권한을/var/www/example.com/log디렉토리에 있는 것을 더 효율적으로 제어할 수 있도 당신의 아파치는 정책이지만,필요할 수 있습니다 더 유지 보수입니다. 이 옵션은 보편적으로 설정 정책을 수동으로 설정의 컨텍스트 유형에 대한 모든 새로운 로그 디렉토리에서 지정한 가상호스트 구성이 있습니다.

먼저 확인 컨텍스트 유형는 SELinux 준/var/www/example.com/log디렉토리:

  • sudo ls -dZ /var/www/example.com/log/

이 명령 목록 및 인쇄 SELinux 컨텍스트의 디렉토리에 있습니다. 다음과 유사한 출력이 표시됩니다:

Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/example.com/log/

현재 상황은httpd_sys_content_t알려주는 SELinux 는 아파치 프로세스만 읽을 수 있습에서 작성한 파일이 디렉토리에 있습니다. 이 자습서에서는/var/www/example.com/loghttpd_log_t로 변경합니다. 이 유형이 허용 아파치를 생성하고 추가하여 웹 응용 프로그램 로그 파일:

  • sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"

다음 사용하십restorecon명령어를 이러한 변경 사항을 적용하고 있는 그들을 지속서 재부팅:

  • sudo restorecon -R -v /var/www/example.com/log

-R-v플래그는 명령이 수행 한 컨텍스트 변경을 인쇄합니다. 다음과 같은 출력을 확인하는 변화.

Output
restorecon reset /var/www/example.com/log context unconfined_u:object_r:httpd_sys_content_t:s0->unconfined_u:object_r:httpd_log_t:s0

할 수 있는 목록은 맥락에 한 번 더 많은 변화를 보

  • sudo ls -dZ /var/www/example.com/log/

출력을 반영한 업데이트 컨텍스트 유형:

Output
drwxr-xr-x. root root unconfined_u:object_r:httpd_log_t:s0 /var/www/example.com/log

이제는/var/www/example.com/loghttpd_log_t유형,당신은 테스트를 준비하는 귀하의 가상호스트 구성이 있습니다.

6 단계—테스트하는 가상호스트(권장)

한 번 SELinux 컨텍스트를 업데이트되었습니다 두 가지 방법 중 한 가지 방법을 사용하면 아파치는 것이 쓸 수 있는/var/www/example.com/log디렉토리에 있습니다. 당신은 이제 성공적으로 아파치 서비스를 다시 시작:

  • sudo systemctl restart httpd

목록의 내용을/var/www/example.com/log디렉토리를 참조하는 경우 아파치 로그를 만든 파일:

  • ls -lZ /var/www/example.com/log

당신이 볼 수 있는 아파치를 만들 수 있었error.logrequests.log에서 지정한 파일 가상호스트 구성:

Output
-rw-r--r--. 1 root root 0 Feb 26 22:54 error.log-rw-r--r--. 1 root root 0 Feb 26 22:54 requests.log

이제는 당신이 당신의 가상호스트 설정 및 SELinux 를 사용 권한 업데이트 아파치는 이제 봉사하는 귀하의 도메인 이름입니다. 테스트할 수 있습니다 이 이동하여http://example.com,어디에 다음과 같은 내용이 있어야 합니다:

성공! 는 example.com 가상 호스트가 작동 중입니다!

이것은 가상 호스트가 성공적으로 구성되고 콘텐츠를 제공하는지 확인합니다. 4 단계와 5 단계를 반복하여 추가 도메인에 대한 SELinux 권한을 가진 새 가상 호스트를 만듭니다.

결론

이 튜토리얼에서는 아파치 웹 서버를 설치하고 관리했습니다. 이제는 당신이 당신의 웹 서버가 설치되어 있는 많은 옵션을 위한 유형의 콘텐츠를 제공할 수 있습과 기술을 만드는 데 사용할 수 있 풍부한 경험입니다.

하고 싶은 경우를 구축 더 완벽한 응용 프로그램 스택에서 볼 수 있는 방법에 대한 이 문서를 구성하 램프 스택에서 7.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다