티스토리 뷰

Ruby 설치 및 사용

 

Ruby 스크립트를 CGI로 사용할 수 있도록 설정합니다.



1. Ruby를 설치합니다.


[root@www ~]# yum -y install ruby




2. CGI 실행은 기본적으로 "/ var / www / cgi-bin /"부하에서 허용되어 있습니다. 

따라서, 예를 들면 "/var/www/cgi-bin/index.rb"스크립트를 작성하고 배치하여 "http : // (httpd 서버) /cgi-bin/index.rb"에 접근 할 수 있습니다 . 또한 해당 설정은 "/ var / www / cgi-bin /"부하의 모든 파일을 CGI로 처리 때문에 CGI가 아닌 파일을 볼 수 없습니다.


# 다음 설정은 / var / www / cgi-bin / 부하에서는 CGI 실행이 허용되는

[root@www ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf 

247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"




3. 상기 기본이 아닌 디렉토리에서 CGI 실행을 허용하려면 다음과 같이 설정합니다. 

예를 들어, "/ var / www / html / cgi-enabled"부하에서 CGI 실행을 허용합니다. 또한 CGI로 처리 확장자를 지정하고 있기 때문에, html 등도 배치 가능합니다.


[root@www ~]# vi /etc/httpd/conf.d/cgi-enabled.conf

# 새로 만들기

# 확장자 .rb를 CGI로 처리

<Directory "/var/www/html/cgi-enabled">

    Options +ExecCGI

    AddHandler cgi-script .rb

</Directory>


[root@www ~]# systemctl restart httpd 




4. SELinux를 사용하는 경우 [3]과 같이 기본 이외의 장소에서 CGI를 허용하는 경우 정책의 권한 설정이 필요합니다.


[root@www ~]# chcon -R -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 


[root@www ~]# semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 




5. CGI를 허용 한 디렉토리 아래에 CGI 테스트 페이지를 만들어 테스트를합니다. 모든 클라이언트에서 Web 브라우저를 시작하고 다음과 같이 생성 한 테스트 페이지에 액세스 할 수 있으면 OK입니다.


[root@www ~]# vi /var/www/html/cgi-enabled/index.rb

 #!/usr/bin/ruby


print "Content-type: text/html\n\n"

print "<html>\n<body>\n"

print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"

print "Ruby Script Test Page"

print "\n</div>\n"

print "</body>\n</html>\n" 


[root@www ~]# chmod 705 /var/www/html/cgi-enabled/index.rb 




※ download & Next Menu



저작자 표시 비영리 변경 금지
신고
댓글