OpenBSD에서 WERC 설정을 자동화하십시오.
최신 사용 가능한 버전 (v2.1)의 setup.sh 및 unsetup.sh 스크립트는 최신 OpenBSD 안정 릴리스 (7.6)에서 성공적으로 테스트되었습니다. OpenBSD의 이전 또는 이후 버전은 작동하지 않을 수 있습니다.
OpenBSD 릴리스 업그레이드 (예 : Sysupgrade (8)를 사용하여)를 수행하면 현재 WERC 설치가 중단 될 수 있습니다. 시스템 업그레이드, WERC 업데이트 또는 Plan9port 업데이트를 수행 한 후에는 항상 WERC 설치를 테스트하는 것이 좋습니다. 작동이 중지되면 문제 해결으로 이동하십시오.
현재 setup.sh 로 인한 설치는 GET 요청으로 만 테스트되었으며 확실히 지원합니다. 다른 유형의 HTTP 요청은 작동하거나 작동하지 않을 수 있습니다 (예 : "사용자 로그인"기능). /etc/httpd.conf ( location ... )의 URL 기반 규칙은 GET 이외의 HTTP 요청을 지원하기 위해 다른 구성이 필요할 수 있습니다.
vN.M 양식의 태그 이름을 가진 태그 커밋 (여기서 N 과 M 정수입니다)은 작업 트리가 다음 특성을 가진 커밋입니다.
setup.sh 및 unsetup.sh 의 두 스크립트가 있습니다.이 시점에서 최신 OpenBSD 안정 버전 (해당 시점에서 사용할 수 있음)에 대해 긍정적 인 결과와 시스템에 대한 부작용이 알려지지 않았습니다.테스트 프로세스는 매뉴얼이므로 때로는 의도적으로 일부 에지 케이스를 간과 할 수 있습니다. 나는 내 소프트웨어의 품질에 관심이 있지만 가능한 모든 엣지 케이스에 대해 모든 단일 라인을 테스트하는 것은 실제로 시간이 많이 걸리고 지속 불가능합니다.
(Rat.Md.로 이동)
참고 : 수정 될 원래 구성 파일을 보존하기 위해 설정 스크립트는 이름 끝에 .bk 추가하여 백업합니다. 예를 들어, /etc/httpd.conf 의 원래 컨텐츠는 /etc/httpd.conf.bk 에 복사됩니다. 원본 파일을 복원하기 위해 UnSetup 스크립트는 백업 파일을 원래 이름으로 변경하여 변경된 버전을 대체합니다.
다음 목록에서 $webdir 및 $p9pdir 각각 기본적으로 /var/www 및 $webdir 를 기본적으로 /plan9 로 httpd 의 웹 컨텐츠 디렉토리와 plan9port의 설치 디렉토리를 참조하십시오.
/etc/httpd.conf.bk 및 /etc/fstab.bk 파일이 이미 컴퓨터 파일 시스템에 존재합니까? 그렇다면 setup.sh 아마도 그것들을 덮어 쓸 것입니다.$webdir 의 파일을 추가하거나 변경 했습니까? 설정 스크립트는 $webdir 에 새 파일을 생성하여 기존 파일을 덮어 쓸 수 있으며 UnSetup 스크립트는 해당 파일을 삭제할 수있는 일부 디렉토리를 제거합니다. 중요한 파일을 $webdir 에서 옮기는 것을 고려하십시오.setup.sh unsetup.sh 실행하지 않습니다. (그렇다면 운이 좋으면 운이 좋다.) 어떤 명령이 실패했는지와 오류 유형에 따라 직접 설치를 수동으로 수리 할 수있다. 그러나 이것이 항상 그런 것은 아니며 오류가 발생하기 쉬운 절차이므로 전혀 권장되지는 않습니다. 다음 절차는 최신 릴리스 태그를 사용하여 스크립트를 다운로드합니다. 아래 URL에 표시된 최신 태그는 수동으로 업데이트됩니다. 진행하기 전에 실제 최신 릴리스와 일치하는지 확인하십시오. main 브랜치에서 스크립트를 실행하는 것이 권장되지 않습니다.
다음 절차는 설정 스크립트 ( setup.sh )를 나타냅니다. UNETUP 스크립트 ( unsetup.sh )의 경우 스크립트 이름을 제외하고 프로 시저가 동일합니다.
절차는 다음과 같습니다.
domain 변수 (및 필요한 경우 webdir )를 마음대로 변경하십시오.ftp https://raw.githubusercontent.com/EdoardoLaGreca/werc-on-openbsd/v2.1/setup.sh
sha256 -q setup.sh
vi setup.sh # change domain and webdir
chmod 744 setup.sh
doas ./setup.sh 설정 스크립트는 자동으로 httpd 및 slowcgi 시작하지 않습니다. 그것은 두 가지 이유로 그렇게 행동합니다. 첫째, 웹 사이트를 공개적으로 표시하기 전에 웹 사이트를 최종 변경하고 싶을 수도 있습니다. 둘째, 스크립트에 의해 /etc/fstab 변경 한 경우 웹 서버를 시작하기 전에 시스템을 재부팅해야합니다. 재부팅 해야하는 경우 스크립트에 로그 메시지가 표시되어야합니다 (및/또는 /etc/fstab 이 변경됨). 로그에 그러한 메시지가 없으면 재부팅이 필요하지 않음을 의미합니다. 이 모든 것이 unsetup.sh 에는 적용되지 않습니다.
전체 스크립트를 실행하는 대신 스크립트를 디버깅하거나 성공적으로 종료 할 수없는 부품을 다시 실행하기 위해 하나 또는 일부 부품 만 실행할 수 있습니다. 그렇게하는 것은 부품 이름을 스크립트에 인수로 전달하는 것만 큼 간단합니다. 예는 다음과 같습니다.
./setup.sh preinst inst 위의 줄은 setup.sh 사용하지만 unsetup.sh 도 이런 식으로 동작합니다.
새로운 기능을 받고 기존 취약점을 패치하는 데 소프트웨어를 최신 상태로 유지하는 것이 좋습니다.
WERC를 사용하는 경우 4 가지 소프트웨어를 최신 상태로 유지해야합니다.
httpd 및 slowcgi ) OpenBsd의 -current 브랜치를 사용하지 않는 한, httpd 및 slowcgi 일반적으로 모든 시스템 업그레이드마다 업데이트됩니다. 그들은 매우 안전하고 미니멀리즘이므로 최신 상태로 유지하는 것이 필수적이지 않습니다. 이 프로그램은 커널, 필수 라이브러리 및 모든 미리 설치된 유틸리티를 포함하여 전체 운영 체제를 포함하는 OpenBSD의 소스 트리의 일부입니다. 해당 소스 트리의 모든 소프트웨어는 심각한 보안 감사를 받기 때문에 그렇게 안전합니다.
반면에 WERC와 Plan9Port를 최신 상태로 유지하는 것이 중요합니다. 그렇게하려면 쉘에서 다음 줄을 실행하십시오. 기존 WERC 및 Plan9port 설치를 제거하고 업데이트 된 버전을 다운로드 한 후 다시 설치합니다.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9env개발에 기여하지 않으면이 섹션을 건너 뛰십시오.
테스트 스크립트, 즉 test.sh 는 설정 및 Unsetup 스크립트 테스트를 자동화합니다. 테스트 스크립트에는 세 가지 주요 기능이 포함되어 있습니다.
initsetupunsetup , setup 과 동일하지만 Unsetup 스크립트로테스트 스크립트의 동작은 설정 및 Unsetup 스크립트의 동작과 유사합니다. 기능은 명령 줄 인수로 지정하여 호출 할 수 있습니다. 그러나 인수없이 스크립트를 실행하는 것은 스크립트를 전혀 실행하지 않는 것과 다르지 않다는 것입니다. 이 행동은 이론적으로 부주의 한 테스트를 줄여야하는 선택입니다.
OpenBSD를 업그레이드 한 후 웹 사이트가 작동을 멈추고 "500 내부 서버 오류"만 표시 할 수 있습니다.
이 동작의 정확한 이유는 신중하게 분석하고 이해되어야하지만 WERC 및 Plan9port를 제거하고 다시 설치하려고 시도 할 수 있습니다. 절차는 업데이트하는 것과 동일합니다.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9env이 체크섬은 최신 릴리스의 작업 트리에서 계산됩니다.
setup.sh:
7a08ee3a8e824f9a54b9a471ef0ebc6fb7ee2a848f13a33264b42a3e9d8817da
unsetup.sh:
18f74da2537dc4dcc97c3fc6d4439faf6340f068309d9110a5dc098b899c3e50
v2.0부터 프로젝트는 이제 Creative Commons 0 대신 ISC 라이센스에 따라 라이센스가 부여되었습니다. 사용자와 기고자에게 더 많은 권리를 부여하는 것을 제외하고는 대부분의 것들이 변하지 않습니다.