회원등록 비번분실

CGICommon Gateway Interface의 약자입니다.
웹브라우저에서 HTML로 여러가지 정보를 처리하는데 그 기능만으로 모든 정보처리를 다 할 수
없기 때문에 외부 프로그램과 웹서버(HTTP Server)간의 연결 역할을 하기 위해 CGI를 사용합니다.
즉, 웹의 변형이나 어떠한 특정 변경을 원할 때, 프로그램과의 인터페이스를 말하며
게시판의 생성 및 변경, 기타 특정그래픽에 넓게 사용됩니다.
현재 x-y.net에서 사용되는 CGI란 대부분 생성된 게시판을 의미하며, 그 게시판의 설치 및
구동방법, 그리고 사용 및 설치에서의 주의사항을 알려드리겠습니다.

먼저 x-y.net서버내의 CGI구동방법은 SEMI CGI-WRAP방식입니다.
쉽게는 절대경로 및 상대경로를 자동적으로 인식하는 반면에 반드시 설정해줘야 할 부분도 있습니다.
 
x-y.net의 서버는 기본적으로 suexec이라는 모듈을 사용합니다. 이 모듈의 의미는 웹은 보통 사용자의 권한이
nobody로 되어 있습니다.
그러나 cgi같은 경우는 자칫 잘못하면 보안에 치명적일 수 있으므로 이러한 보안 권한을 줌으로써 서버내의 안전한
환경을 위한 것입니다.
suexec의 동작은 기본적으로 cgi-bin폴더의 퍼미션이 755, 그리고 cgi-bin 하위폴더의 퍼미션이 755로 설정이
되어야만 실행이 가능합니다.

아래는 퍼미션 설정 예입니다.




※ 기본적으로 퍼미션은 755로 되어있어야 함에 주의하시길 바랍니다.
※ 반드시 755로 설정을 하시면 됩니다.
 
절대경로는 서버내의 cgi인터페이스가 wrap인 경우 그 경로대로 파일의 내용을 찾아 갑니다.
즉 절대경로로 설정된 곳에서 파일이 실행되는 것을 의미합니다.
절대경로를 알려면, 일단 자신의 계정으로 텔넷을 접속하여야 절대경로를 알 수 있습니다.
기본적으로 pwd명령어를 사용하게 되며, 이 명령어를 사용하게 되면 하단에 자신이 현재 있는 위치를 알려줍니다.


명령어 사용법은 아래와 같습니다.




pwd아래에 뜨는 경로가 현재 콘솔에 위치한 경로명입니다.
즉, 지금은 yourid계정의 cgi-bin안에 자신이 있다는 것을 의미합니다.
그리고 cgi-bin안에 어떠한 폴더, 즉 test라는 폴더가 있다면(cgi프로그램으로 가정한다면) 위의 경로명 바로뒤에 test를 추가하시면 그것이 설치하고자 하는 cgi의 절대경로입니다.
상대경로는 웹에서 보이는경로 그대로를 의미합니다.
한 예로, 절대경로가 /home/01/yourid/www/cgi-bin/test 인 cgi프로그램을 보시게 된다면 웹에서 http://www.자신의도메인/cgi-bin/test까지 적어주시면 됩니다.
 
대체로 cgi같은 경우는 perl로 짜여져 있기 때문에 대부분 ascii모드로 올리는 것이 정석입니다. 그렇지 않고 binary모드로 올릴 경우 파일이 올바르게 동작하지 않을 수 있습니다.
물론 크레이지보드나 기타 c로 짜여진 cgi라면 binary모드가 정석이지만 기타 대부분의 cgi인터페이스는 ascii모드로 올리는 것이 보통입니다.
ftp프로그램에서 ascii모드로 업로드를 설정하고, 권장하는 모드는 auto(자동)입니다.

또한 파일이 깨지거나 손상이 되어서 제대로 작동하지 않을 수 있습니다.
이런경우는 대부분 internal server error (500에러)가 발생하기도 합니다. 대부분의 500에러는 이러한 파일의 손상여부가 대부분이며, 500에러가 날 경우 파일의 손상유무를 검사해보는 것이 좋습니다.
만약 파일이 손상되었을 경우는 지우고 다시 업로드하여 설치하는 방법 이외에는 없습니다.

아래는 파일이 손상되지 않고 올바르게 작동하는 경우입니다.




텔넷에서 ./파일명을 치게되면 위처럼 나올 것입니다.
이런 경우는 파일이 올바르게 동작하는 경우이므로 만약 이렇게 동작이 되는데 500에러가 난다면 퍼미션 문제 및 절대경로, 상대경로를 고려해 보면 될 것입니다.

아래는 파일이 손상된 경우입니다.




이런 경우는 대부분 파일이 손상된 경우입니다. 지우고 다시 설치하는 방법 이외에는 없습니다.
이외에도 no such file or directory라는 메시지가 뜰 경우가 있는데, 이런 경우 역시 파일이 손상된
경우입니다.