sudo, 설치, 인터넷이 필요 없는 휴대용 Linux 웹 서버

sudo, 설치, 인터넷이 필요 없는 휴대용 Linux 웹 서버

저는 sudo, 패키지 관리자, 인터넷이 없는 엔터프라이즈 Red Hat 서버를 가지고 있습니다. 웹서버 클라이언트가 필요하고 httpd 및 lighttpd에 대한 설치 프로그램과 바이너리를 시도했지만 여전히 /usr/sbin/httpd에 대한 참조가 필요합니다. 이를 위해서는 sudo가 필요합니다. 어쨌든 내 제한 사항에 따라 웹 서버를 실행할 수 있습니까? 내 포트는 1024 이상입니다.

현재 해결 방법은 다른 Windows 시스템을 httpd 서버로 사용하고 DNS를 이 Red Hat 서버로 리디렉션하는 것입니다.

답변1

python -m http.server
Python version 3: Serve current directory tree at http://$HOSTNAME:8000/

인용하다:mattcurry.com

답변2

이 Red Hat 시스템에서 웹 서버를 실행할 수 있을지 의심스럽습니다. "잠긴" 것으로 보이므로 이미 확인한 문제 외에 다음 문제도 처리해야 합니다.

  • RH 시스템에는 기본적으로 SELinux가 활성화되어 있으며 시스템이 "잠긴" 상태라면 계속 활성화되어 있을 것으로 예상됩니다. SELinux 활성화 모드에서 httpd는 http_port_t(80, 81, 443, 488, 8008, 8009, 8443, 9000)에 지정된 포트에만 연결할 수 있으므로 4 > 1024를 선택할 수 있습니다.

  • RH 시스템의 기본 방화벽은 지정된 포트만 허용하고 다른 모든 포트는 차단합니다. 사용 가능한 4개의 포트 중 하나라도 열려 있을 가능성은 거의 없습니다.

답변3

참고: 방금 댓글에서 컴파일러도 있다는 것을 봤습니다 gcc. 이 경우 제 대답이 쓸모가 없을 것 같지만, 기본적인 개발 도구 없이도 실제 문제는 다른 곳에서 발생한다는 생각을 고려해 볼 수도 있습니다.

웹 서버를 설치하기 위해 루트 액세스가 필요하지 않습니다. 시스템의 제한된 위치에 액세스하지 않고도 홈 디렉토리에 lighttpd를 쉽게 설치할 수 있습니다. 유일한 비결은 수동으로 컴파일해야 한다는 것입니다(그러나 실제로 lighttpd를 컴파일하는 데는 오랜 시간이 걸리지 않습니다).

  1. 다운로드/받기lighttpd의 소스.
  2. 추출하세요.

$ tar -xvf lighttpd-*.tar.gz
  1. 방금 압축을 푼 디렉터리로 이동하고 스크립트를 사용하여 빌드 프로세스를 구성합니다 configure.

여기서 중요한 점은 다른 설치 접두어를 사용하고 가능한 경우(홈 디렉터리) 설치를 수행하는 것입니다.

$ mkdir ~/lighttpd
$ ./configure --prefix=$HOME/lighttpd
  1. 를 사용하여 모든 것을 빌드 make하고 를 사용하여 설치를 수행합니다 make install.

$ make
$ make install

마지막 명령(파일을 설치하기 때문에 일반적으로 루트 권한이 필요함 /sbin)은 여기서 실패하지 않습니다. 이제 lighttpd가 설치되었으므로 다음으로 이동하여 ~/lighttpd서버를 시작할 준비를 하세요.

  1. lighttpd에 대한 기본 구성 파일을 만듭니다.

~/lighttpd/etc/또한 문서 루트 디렉터리에 구성 파일을 만듭니다.

$ cd ~/lighttpd
$ mkdir etc www
$ emacs etc/lighttpd.conf

원하는 편집기를 사용하여 파일에 기본 구성을 작성해 보세요.

server.document-root = "/home/you/lighttpd/www/" 
server.port = 3000

mimetype.assign = (
    ".html" => "text/html", 
    ".txt" => "text/plain",
    ".jpg" => "image/jpeg",
    ".png" => "image/png" 
)
  1. 돌아가서 sbin구성을 확인하세요.

$ cd ~/lighttpd/sbin
$ ./lighttpd -tf ../etc/lighttpd.conf
Syntax OK
  1. 서버를 시작하십시오.

$ ./lighttpd -Df ../etc/lighttpd.conf

우리의 구성에 따르면 서버는 다음을 수행할 수 있어야 합니다.http://localhost:3000/, 해당 문서 루트는 에 있습니다 ~/lighttpd/www. 자세한 내용은 다음을 확인하세요.구성 튜토리얼, 아니면일반 문서. lighttpd는 설정하기가 매우 쉽고 다른 서버에서도 동일한 프로세스( ./configure --prefix, make, make install, 문서 읽기) 를 수행할 수 있다고 확신합니다 (더 많은 시간과 조정이 필요할 수 있음에도 불구하고).

서버 관리에 대한 참고 사항:회사에 IT 부서가 있는 경우 IT 문제를 해당 부서에 맡기십시오. 먼저, 필요한 모든 도구가 있는지 확인해야 하며, 서버를 컴파일하여 포트에서 수신 대기하는 것을 원하지 않는 경우 이에 따라 인프라를 구성해야 합니다. 여기서 설명하는 컴파일 프로세스는 루트 권한이 없으면 실패할 이유가 없으며 높은 포트에서 서버를 실행하는 데 문제가 없어야 합니다. 물론 서버는 로컬 네트워크에 숨겨져 외부에서 액세스할 수 없을 가능성이 높지만 인프라가 너무 의심되어 어떤 컴퓨터도 LAN에서 수신할 포트를 열지 못하게 한다면 서버는 다음과 같은 조치를 취할 수 있습니다. lighttpd를 설치하는 사용자보다 처리해야 할 더 긴급한 문제입니다.

답변4

웹 서버를 가질 수 있지만 루트 액세스 없이는 포트 80에 있을 수 없습니다. 1000 미만이면 루트 액세스가 필요합니다. 8080 또는 1000 이상의 거의 모든 것을 가질 수 있습니다.

소스에서 빌드해야 하는 일반적인 패키지 관리자를 사용할 수 없는 경우 패키지 관리자가 캐시를 다른 위치에 보관할 수 있다는 것을 기억한 것 같습니다. 문제는 일반적인 설정에서는 기본 루트 액세스를 가정하므로 추가 구성을 수동으로 수행해야 한다는 것입니다.

관련 정보