CGI动态网站技术

2020-03-13 14:00:28
安装Apache ``` $ sudo apt install -y apache2 $ sudo service apache2 start $ curl http://127.0.0.1/ $ sudo service apache2 stop ``` 用浏览器访问 http://127.0.0.1/ 可以看到apache的欢迎页面,在这个页面可以得到很多有用的信息 首先告诉我们,当前看到的这个页面,文件在 `/var/www/html/index.html` 然后告诉我们,Ubuntu的Apache2默认配置与默认配置不同,分为多个文件 > apache2.conf 主配置文件 > *-available 一些可用的配置文件片段 如果需要启用什么功能,就创建一个软链接 启用Apache的cgi支持 ``` $ cd /etc/apache2/mods-enabled/ $ ls # 创建软链接 (注意不要使用相对路径) $ sudo ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/ $ sudo ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/ ``` ``` $ sudo vi /etc/apache2/sites-enabled/000-default.conf # 启用cgi配置,将下面这行配置前的#号删除 Include conf-available/serve-cgi-bin.conf $ sudo vi /etc/apache2/conf-available/serve-cgi-bin.conf # 可以看到 cgi程序默认目录在 /usr/lib/cgi-bin/ $ cd /usr/lib/cgi-bin/ $ sudo vi hello.c ``` hello.c内容如下 ```c #include <stdio.h> int main(){ printf("Content-Type: text/html\n\n"); printf("Hello World!"); return 0; } ``` ```shell # 编译 $ sudo gcc hello.c -o hello.cgi # 重启Apache $ sudo service apache2 restart ``` 浏览器访问 http://127.0.0.1/cgi-bin/hello.cgi