在Windows下本身下载应用过Apache,在Linux下也用到了服务器,就选择了Apache。Apache的安装在Ubuntu下异常简单。html
1. 上网下载自动包安装web
sudo apt-get install apache2
2. 访问网址尝试安装是否成功apache
www.127.0.0.1 or http://localhost
成功的话将会出现Apache的欢迎页面vim
3. 启动Apache浏览器
/etc/init.d/apache2 start
4. 重启Apache服务器
/etc/init.d/apache2 restart
5. 中止Apacheide
/etc/init.d/apache2 stop
好了,服务器搭好了接下来就能够跑程序了~测试
6. Web文档的根目录ui
在/etc/apache2/sites-available/000-default.conf有说明spa
ServerAdmin webmaster@localhost DocumentRoot /var/www/html
/var/www
7. 配置CGI
在Web文档的根目录下新建cgi-bin目录,即/var/www/cgi-bin/。cgi代码均放置于该目录下。
固然该目录也能够本身定义,不得不说的是,CGI的配置参考了不少资料确实坑道了本身,因为如今Ubuntu的版本和Apache的版本,变化是有点的。
apache2.conf conf-enabled magic mods-enabled sites-available
conf-available envvars mods-available ports.conf sites-enabled
这是/etc/apache2目录下的全部文件和文件夹。其中较为关注的主要有available和enabled,其中咱们配置的CGI并无被包含在enabled内,并且enabled中的
文件均为avaliable中的连接。
1 ls -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load 2 ls -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load
打开这两个文件实际上是导入了
1 LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so 2 LoadModule cgid_module /usr/lib/apache2/modules/mod_cgid.so
一样地,在/etc/apache2/sites-enabled中打开的连接也是available中的sites-available的000-defalut.conf。
主要的配置都在/etc/apache2/conf-enabled中,该目录以下所示。
charset.conf other-vhosts-access-log.conf serve-cgi-bin.conf
localized-error-pages.conf security.conf
能够看到CGI的配置就在serve-cgi-bin.conf这个文件中。
打开该文件,即可以看到
1 <IfModule mod_alias.c> 2 <IfModule mod_cgi.c> 3 Define ENABLE_USR_LIB_CGI_BIN 4 </IfModule> 5 6 <IfModule mod_cgid.c> 7 Define ENABLE_USR_LIB_CGI_BIN 8 </IfModule> 9 10 <IfDefine ENABLE_USR_LIB_CGI_BIN> 11 ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 12 <Directory "/var/www/cgi-bin"> 13 AllowOverride None 14 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 15 Require all granted 16 AddHandler cgi-script .cgi .pl 17 </Directory> 18 </IfDefine> 19 </IfModule> 20 21 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
其中/var/www/cgi-bin能够改成本身的cgi-bin路径名,其中Module mod_cgid.c和Module mod_cgi.c正是咱们以前导入cgi.load和cgid.load的缘由。
其实避免错误的话,能够将全部的available文件导入至enabled文件夹中~~~。
8. 配置这个完了,就该尝试一下了吧>.<
8.1 在/var/www/cgi-bin中新建文件HelloWorld.c
键入以下代码:
1 /** 2 * CGI测试程序 3 */ 4 5 #include "stdio.h" 6 7 int main(int argc, char* argv[]) 8 { 9 printf("Context-Type:text/html\n\n"); //这个必须得有 10 printf("Hello,World!\n"); 11 return 0; 12 }
8.2 编译源文件
1 sudo gcc -o HelloWorld.cgi HelloWorld.c
8.3 打开浏览器测试输出
http://localhost/cgi-bin/HelloWorld.cgi
终于出现了!!!
Hello,World!
结束了,写在博客上,防止之后忘记。