Ubuntu下配置Apache以及搭载CGI
在Windows下自己下载应用过Apache,在Linux下也用到了服务器,就选择了Apache。Apache的安装在Ubuntu下异常简单。
1. 上网下载自动包安装
sudo apt-get install apache2
2. 访问网址尝试安装是否成功
www.127.0.0.1 or http://localhost
成功的话将会出现Apache的欢迎页面
3. 启动Apache
/etc/init.d/apache2 start
4. 重启Apache
/etc/init.d/apache2 restart
5. 停止Apache
/etc/init.d/apache2 stop
好了,服务器搭好了接下来就可以跑程序了~
6. Web文档的根目录
在/etc/apache2/sites-available/000-default.conf有说明
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中的链接。
ls -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
ls -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load
打开这两个文件其实是导入了
LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
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这个文件中。
打开该文件,便可以看到
<IfModule mod_alias.c>
<IfModule mod_cgi.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule> <IfModule mod_cgid.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule> <IfDefine ENABLE_USR_LIB_CGI_BIN>
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
AddHandler cgi-script .cgi .pl
</Directory>
</IfDefine>
</IfModule> # vim: syntax=apache ts= sw= sts= 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
键入如下代码:
/**
* CGI测试程序
*/ #include "stdio.h" int main(int argc, char* argv[])
{
printf("Context-Type:text/html\n\n"); //这个必须得有
printf("Hello,World!\n");
return ;
}
8.2 编译源文件
sudo gcc -o HelloWorld.cgi HelloWorld.c
8.3 打开浏览器测试输出
http://localhost/cgi-bin/HelloWorld.cgi
终于出现了!!!
Hello,World!
结束了,写在博客上,防止以后忘记。
Ubuntu下配置Apache以及搭载CGI的更多相关文章
- ubuntu下配置Apache
ubuntu下配置Apache Apache的默认文档根目录是在Ubuntu上的/var/www目录 配置文件是/ etc/apache2/apache2.conf配置存储在的子目录在/etc/apa ...
- Ubuntu下配置Apache的Worker模式
其实Apache本身的并发能力是足够强大的,但是Ubuntu默认安装的是Prefork模式下的Apache.所以导致很多人后面盲目的去 安装lighttpd或者nginx一类替代软件.但是这类软件有一 ...
- 在ubuntu下配置apache运行python脚本
2008-12-05 常用的简单命令 sudo apt-get remove --purge apache apache2 (彻底删除) sudo /etc/init.d/apache2 r ...
- Ubuntu下配置apache开启https
一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...
- Ubuntu 下配置apache和APR
软件环境:ubuntu14.04 虚拟机Vmware 软件:http://httpd.apache.org/ httpd-2.2.29.tar.gz 不需要单独下载APR. 1.解压apach ...
- ubuntu下配置Apache+mod_wsgi+Django项目(个人测试)
经过了一个星期的摸索,查找资料以及实验,我搭建的环境基本能用(还有就是Django后台的静态文件加载的问题) 这里面只是介绍一下我的过程,因为对应Apache还不是很熟练,特别是配置文件.只能供大家参 ...
- 在Ubuntu下配置Apache多域名服务器
1. 目标: 在本机 实现访问不同域名 可以访问不同的目录. 即:访问a.com 进入 /var/www/a 目录下的程序,访问b.com 进入/var/www/b目录下的程序. 2.遇到的问题: / ...
- Ubuntu下配置Nginx HTTPS
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入S ...
- [Apache手册]Linux环境下配置Apache运行cgi
CGI动态页面 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口)定义了web服务器与外部内容生成程序之间交互 ...
随机推荐
- 【u033】地震逃生
Time Limit: 1 second Memory Limit: 64 MB [问题描述] 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一 ...
- Servlet 会话
在网络的七层模型中,会话层位于传输层之上,它定义如何开始.控制和结束一个会话.七层模式目前仅仅处于理论阶段,但是Web中借鉴了其中的一些思路.在Web中浏览器第一次发送请求到服务器开始直到一方断开为止 ...
- Python6_模块、包、import、from import的解释
先说一下模块和包是什么? 模块(module):简单来说一个模块(module)就是一个py文件.在python中是这么约定. 模块里面有函数.类,就是一组代码的集合. 模块显然要有一个名字,这个 ...
- 第四阶段:1.从零打造一款社区web产品
---恢复内容开始--- 熟人关系:微信 陌生人关系:微博 1.把各种竞品罗列起来形成一个分析池.分析其目标用户是哪些.这些产品满足了用户什么需求.可以从时间角度分析趋势.针对每一类竞品画一个商业模式 ...
- java面试-泛型
1.什么是泛型?泛型有什么作用? 泛型就是参数化类型,也就是所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. 在泛型出现之前, ...
- 007 Ceph手动部署单节点
前面已经介绍了Ceph的自动部署,本次介绍一下关于手动部署Ceph节点操作 一.环境准备 一台虚拟机部署单节点Ceph集群 IP:172.25.250.14 内核: Red Hat Enterpris ...
- VS Code配置C/C++环境
VS Code配置C/C++环境 一.下载和安装VS Code 1.访问VS Code官网下载安装包 2.安装VS Code 3. 安装后, 打开VS Code是英文,按住Ctrl+shift+x进入 ...
- tantivy&lucene功能,写入性能对比
硬件概述:cpu:24,内存:20g,磁盘:10*2.7T. 写入性能:(不对ip进行添加geo信息). 写入性能对比 速度 Commit耗时(秒) 500*1000条 Bulk耗时(秒) 1000条 ...
- 浏览器从输入url 到页面展示完成响应过程
用户从输入 url 到浏览器响应,呈现给用户的具体过程 1.用户在输入栏输入地址 (1) 如果有 beforeunload 事件会先执行判断继续还是跳出操作 (2) 浏览器进程识别是 地址还是关键字检 ...
- AWS、阿里云、Azure、Google Cloud、华为云、腾讯云 各种云服务器价格收费对比(上)
他来了,他来了~ 他带着六家公有云厂商的资源价格走来了~ 不久前,我们上线了一款小工具——[多云成本计算器]1.0版,公众号菜单栏可以直接体验.详细介绍可以戳这里<3秒即得最低价,速石上线「多云 ...