아파치 스크립트 시작

아파치 스크립트 시작

프로그래밍 테스트를 위해 로컬 Linux(sabayon) 운영 체제에 Apache를 설치했습니다.

내가 원하는 것은 필요할 때 서버가 즉시 시작되도록 하는 스크립트입니다.

코드는 다음과 같습니다.

#!/bin/bash
# een script dat de apache server start
/etc/init.d/apache2 start

유일한 문제는 Apache에 루트 권한이 필요하다는 것인데 저는 일반 사용자입니다. 이제 를 사용하여 명령줄에서 이 스크립트를 실행할 수 있지만 sudo ./apache_start.sh그렇게 하고 싶지는 않습니다. 그냥 두 번 클릭하고 Apache 서버를 시작하고 싶습니다.

그러면 일반 사용자 대신 루트로 스크립트를 실행하려면 어떻게 해야 합니까?

비밀번호를 묻는 메시지가 표시되어도 상관 없으며 콘솔을 열거나 파일로 이동하는 등의 작업을 원하지 않습니다.

답변1

현재 수행 중인 작업을 수행하려면 기본 init 스크립트를 사용할 수 없습니다. 또한 포트 80에서 실행하려는 경우 루트 권한 없이는 시작할 수 없습니다. 루트만 포트 80에서 리스너를 시작할 수 있기 때문입니다.

두 가지 옵션이 있는 것 같습니다. 1024보다 높은 포트에서 실행한 다음 명령줄에서 수동으로 Apache를 실행합니다. 또는 sudo를 사용하십시오:

visudo

사용자 이름이 포함된 줄을 추가하세요.

username ALL=NOPASSWD: /etc/init.d/apache2 start, /etc/init.d/apache2 stop

바탕 화면 바로 가기에 수행하라는 메시지가 표시됩니다.

sudo /etc/init.d/apache2 start

답변2

gksudo직관적인 방법으로 루트 액세스를 얻을 수 있다는 점이 좋습니다.

아파치-start.sh

#!/bin/bash

if [ "$EUID" = "0" ]; then
    # we're root, so just run it
    service apache2 start
    exit 0
fi

# otherwise, try running it with a visual prompt for superuser
gksudo service apache2 start

관련 정보