웹 서버 boa 이식

1. 공식 홈 페이지 다운로드
http://www.boa.org/
저 는 0.94.13 버 전 을 다운 받 았 습 니 다.
2. 스트레스 해소
tar -zxvf boa-0.94.13.tar.gz
3. src 디 렉 터 리 에 들 어가 기
./configure
Makefile 파일 생 성 설정
4. makefile 수정
CC = gcc  CPP = gcc -E
... 로 바꾸다
CC = arm-none-linux-gnueabi-gcc CPP = arm-none-linux-gnueabi-gcc -E
5. src / compat. h 수정 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff  ->#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff  오류 수정 util. c: 100: 1: error: "t" 와 "- >" 붙 여 넣 기 는 올 바른 전처리 토 큰 을 제공 하지 않 습 니 다.
6. src / boa. c 수정   DIE("icky Linux kernel bug!"); -> ;//DIE("icky Linux kernel bug!");  boa.c:226 - icky Linux kernel bug!: Success (이 오 류 는 뒤에 error log 파일 이 언급 된 것 을 봐 야 발견 할 수 있 습 니 다)
7.make
컴 파일 생 성 boa 파일
8. boa 파일 을 대상 파일 시스템 의 / bin 디 렉 터 리 에 복사 합 니 다.
9. 대상 파일 시스템 에 들 어가 서 / etc / boa 디 렉 터 리 만 들 기
10. 압축 패키지 압축 해제 디 렉 터 리 에 있 는 boa. conf 파일 을 / etc / boa 디 렉 터 리 에 복사 합 니 다.
11. boa. conf 파일 수정 User nobody -> User root  Group nogroup -> Group 0  MimeTypes /etc/mime.types -> MimeTypes /etc/boa/mime.types  ErrorLog /var/log/boa/error_log -> ErrorLog /etc/boa/error_log  AccessLog /var/log/boa/access_log -> AccessLog /etc/boa/access_log  DocumentRoot /var/www -> DocumentRoot /etc/boa/html  #ServerName www.your.org.here -> ServerNamewww.your.org.here   오류: gethostby name:: 리 소스 를 일시 적 으로 사용 할 수 없 음 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ->ScriptAlias /cgi-bin/ /etc/boa/cgi-bin/
12. 대상 파일 시스템 에서 생 성 / etc / boa / html 디 렉 터 리 수정 속성 777
13. index. html 홈 페이지 를 / etc / boa / html 디 렉 터 리 에 chmod a - x *. html 로 복사 하여 속성 을 수정 합 니 다. 오류: 403 Forbidden 요청 한 URL '/' 은 실행 파일 로 표시 되 지만 CGI 파일 이 아 닌 파일 로 해 결 됩 니 다.retrieving it is forbidden.
14. 시작 스 크 립 트 수정 boa 추가 &
15. 대상 파일 시스템 / etc / boa 디 렉 터 리 에 access 생 성log error_로그 파일 속성 777
16. 대상 파일 시스템 / etc / boa 디 렉 터 리 에 cgi - bin 디 렉 터 리 만 들 기
17. ubuntu / etc / time. type 파일 을 대상 판 / etc / boa 아래 에 복사 합 니 다. 오류: 읽 기 위해 mime. types 파일 "/ etc / time. types" 를 열 수 없습니다.
18. Port 80 - > Port 8080 그러면 테스트 주소 xxx. xxx. xxx. xxx: 8080 오류: bind 할 수 없 음: Address already in use (이 오 류 는 error log 파일 을 봐 야 발견 할 수 있 습 니 다)
오류 가 없 으 면 port 80 이 가능 합 니 다. 테스트 주 소 는 ip 주소 xxx. xxx. xxx. xxx 입 니 다.
19. cgi 관련.
만약 당신 의 웹 페이지 가 서버 와 더 많은 상호작용 을 한다 면, 예 를 들 어 IP 주 소 를 가 져 오 거나, cgi 를 사용 하 는 것 을 권장 합 니 다
테스트 cgi 용 xxx. xxx. xxx: 8080 / cgi - bin / xxx. cgi
cgi 에 대한 이해, cgi 를 c 로 쓰 는 것 은 웹 페이지 를 printf 로 인쇄 하 는 것 과 같 습 니 다. 다음 과 같 습 니 다.
#include <stdio.h>

int main(int argc,char *argv){
	printf("Content-Type:text/html

"); printf("<HTML>
"); printf("<HEAD>
"); printf("<TITLE>title</TITLE>
"); printf("<BODY>
"); printf("hello world!"); printf("</BODY>
"); printf("</HEAD>
"); printf("</HTML>
"); return 0; }

홈 페이지
<HTML>
<HEAD>
<TITLE>title</TITLE>
<BODY>
hello world!
</BODY>
</HEAD>
</HTML>

주의 첫 번 째 는
printf("Content-Type:text/html");
코드 를 잘 쓰 고 gcc 로 컴 파일 해서 웹 페이지 가 맞 는 지 인쇄 해 보 세 요.
이어서 arm - none - linux - gnueabi - gcc - o *. cgi *. c 로 컴 파일 하여 *. cgi 파일 생 성

좋은 웹페이지 즐겨찾기