Search Suggest

Cài đặt Apache - CGI lên raspberry pi




1.Giới thiệu 
CGI (Common Gateway Interface) scrips là một chương trình chạy trên web server, nhờ có cgi mà có thể dùng perl, python... để tương tác với môi trường shell, nhờ đó user có thể thực hiện các shell command để lấy thông tin hệ thống bên dưới hoặc điều khiển một chương trình nào đó.

2.Cài đặt
Trong bài viết này sẽ cài đặt và cấu hình Apache để chạy được CGI script (perl, python)

2.1 Install apache and perl & python module
#apt-get install apache2

#apt-get install libapache2-mod-perl2
#apt-get install libapache2-mod-python

Note:
- thư mục chưa web code mặc định
/var/www
- Apache chạy với user là www-data
cat /etc/apache2/envvars
- Cấp quyền cho Apache chạy với lệnh sudo bằng cách  /etc/sudoers
$sudo visudo
thêm vào cuối
www-data = (root) NOPASSWD: ALL
Có thể xem lại băng lệnh
$sudo cat /etc/sudoers



2.2 Enable cgi module
sudo ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/
sudo systemctl restart apache2


2.3 Change cgi-bin folder
Nếu muốn điều thư mục chứa cgi scripts thì sửa trong file
/etc/apache2/conf-enabled/serve-cgi-bin.conf

Ex: /var/www/cgi-bin



2.4 CGI scripts
Tạo file index.cgi  trong thư mục /var/www/cgi-bin đã chọn ở 2.3


-Nếu dùng python

#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World! Python</h2>
</body>
</html>
"""


-Nếu dùng Perl

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<h1>Hello world! Perl</h1>";





Chạy thử trên trình duyệt:

Note: cgi chỉ chạy được khi để trong thư mục đã cài đặt /var/www/cgi-bin





Đăng nhận xét