많은 기능이있는 정적 스파르타 서버 :
SPSRV를 실행하는 알려진 서버 :
질문 / 지원
목차
go install 와 함께세 가지 옵션이 있습니다.
Darwin 및 Linux Architectures ARM/AMD-64의 미리 빌드 바이너리는 V0.5.4 이후 제공됩니다. git.sr.ht의 태그 페이지로 이동하고 원하는 태그를 클릭하고 아키텍처의 바이너리를 다운로드하십시오.
go install 와 함께 먼저, 당신은 설치해야하고 폴더 ~/go $GOPATH 와 함께 가야합니다.
go install git.sr.ht/~hedy/spsrv@latest
~/go/bin/ at ~/go/src/ 에 이진이 있습니다.
/usr/sbin/ 와 같은 다른 곳으로 바이너리를 자유롭게 움직이십시오.
최신 커밋이 아닌 최신 버전 @v0.0.0 을 고정하는 것이 좋습니다.
모든 디렉토리 및 cd spsrv 에서 git clone https://git.sr.ht/~hedy/spsrv 실행
설치하고 작동하는지 확인하십시오.
git checkout v0.0.0 # recommended to pin a specific tag
make build
마감되면 이진은 ./bin 에 있습니다.
제작이 없다면 go build 수 있습니다 (해당 버전 만 및 빌드 정보는 spsrv --version 에서 사용할 수 없습니다).
GO 또는 CLONE REPO를 설치하지 않으려면 미리 빌드 바이너리에서 아키텍처가 지원되지 않으면 공개받은 편지함에 이메일을 보내거나 (개인적으로 연락) 아키텍처를 위해 바이너리를 컴파일 할 수 있습니다.
기본 구성 파일 위치는 /etc/spsrv.conf 입니다.
spsrv -c /path/to/file.conf
SPSRV를 실행하려면 구성 파일이 필요하지 않으므로 기본값 만 사용합니다.
옵션은 대체의 둔감합니다.
다음은 구성 옵션과 기본값입니다
일반적인
port=300 : 들어 볼 포트hostname="localhost" : 이것이 설정된 경우이 값 이외의 호스트 이름에 대한 요청이 거부됩니다.rootdir="/var/spartan" : 파일을 가져 오기위한 폴더디렉토리 목록
dirlistEnable=true : index.gmi 가없는 폴더의 디렉토리 목록 활성화dirlistReverse=false : 나열된 파일의 순서를 뒤집습니다.dirlistSort="name" : 파일 정렬 방법, "이름", "크기"및 "시간"만 허용됩니다. 알 수없는 옵션이 발생하면 기본값 "이름"으로 표시됩니다dirlistTitles=true : true 인 경우 디렉토리 목록은 파일 이름 대신 *.gmi 파일에서 첫 번째 최상층 헤더를 사용합니다.~ 사용자/ 디렉토리
userdirEnable=true : 서빙 /~user/* 요청을 활성화합니다userdir="public_spartan" : 사용자 용 루트 디렉토리. 이것은 후행 슬래시가 없어야하며, /home/user/ 와 관련이 있습니다.userSubdomains=false : user vhosts. user.host.name/foo.txt 허용 여부는 host.name/~user/foo.txt 와 동일합니다 ( hostname="host.name" ). 참고 : hostname 옵션이 설정된 경우에만 작동합니다.CGI
CGIPaths=["cgi/"] : CGI 프로세스로서 세계에서 실행 가능한 파일이 실행되는 경로 목록. 이 경로는 요청 된 경로를 접두사하는지 확인합니다. 기본값의 경우 /cgi/hi.sh (예 : ./public/cgi/hi.sh 에 요청)의 요청은 세계 실행 파일 인 경우 hi.sh 스크립트를 실행합니다.usercgiEnable=false : 사용자의 CGI 스크립트를 실행할 수 있습니다. SPSRV가 CGI 프로세스의 UID를 아직 변경하지 않기 때문에 위험합니다. 따라서 프로세스는 서버를 실행하는 동일한 사용자가 프로세스를 실행하여 구성 파일에 대한 쓰기 액세스 등을 의미 할 수 있습니다.이 옵션은 userdirEnable false 로 설정되면 false 가정됩니다. 즉, 사용자 디렉토리가 활성화되지 않은 경우 사용자 당 CGI가 없음을 의미합니다.예제/ 디렉토리에서 configuraton 예제를 확인하십시오.
명령 행에서 제공하면 구성 파일의 값을 재정의 할 수 있습니다.
Usage: spsrv [ [ -c <path> -h <hostname> -p <port> -d <path> ] | --help | --version ]
-c, --config string Path to config file
-d, --dir string Root content directory
-h, --hostname string Hostname
-p, --port int Port to listen to
SPSRV가 옵션을 제공했는지 확인하기 위해이를 사용하기 때문에 호스트 이름이나 DIR 경로를 설정할 수 없습니다 , 포트를 0 으로 설정할 수는 없습니다. 죄송합니다.이 제한은 명령 줄에서 구성 값을 무시할 수 있다는 이점이 있습니다.
SPSRV를 실행할 때 원하는 주장은 없으며 위에 나열된 옵션 만 있습니다 :)
CGI 스크립트에 대해 다음 환경 값이 설정됩니다.
GATEWAY_INTERFACE # CGI/1.1
REMOTE_ADDR # Remote address
SCRIPT_PATH # (Relative) path of the CGI script
SERVER_SOFTWARE # SPSRV
SERVER_PROTOCOL # SPARTAN
REQUEST_METHOD # Set to nothing
SERVER_PORT # Port
SERVER_NAME # Hostname
DATA_LENGTH # Input data length
데이터 블록은 CGI 프로세스에 대한 stdin으로 배관됩니다.
CGI 스크립트 (현재 현재)는 서버 프로세스와 동일한 사용자가 실행하므로 일반적으로 사용자가 자신의 CGI 스크립트를 가질 수 있도록 위험합니다. 자세한 내용은 구성 섹션을 참조하십시오.
예/ 디렉토리에서 CGI 스크립트 예제를 확인하십시오.
예제 Systemd 서비스 구성도 나열됩니다. 다른 OS에 자유롭게 기여하십시오 :)
tilde.chat irc 또는 공개받은 편지함의 #spartan 채널을 사용하십시오.
둘 다이 문서의 맨 위에 나열되어 있습니다.
패치 -> 공개받은 편지함
/폴더 /폴더 /리디렉션
디렉토리 목록
파일에 로깅
~ 사용자 디렉토리
refactor 작업 딥 부분
구성
CGI
SCGI
각각의 콘크리트가있는 여러 서버
readme :