ubuntu 安装apache2并配置cgi,搭建mimetex转化公式图片的服务
一.Apache的安装
在终端输入:
sudo apt-get install apache2
二.启动、停止Apache服务
Apache的启动和停止文件是:/etc/init.d/apache2
启动服务
sudo apache2ctl -k start
停止服务
sudo apache2ctl -k stop
重启服务
sudo apache2ctl -k restart 或 sudo /etc/init.d/apache2 restart
三. 配置文件的结构
The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:
/etc/apache2/
|-- apache2.conf
| `-- ports.conf
|-- mods-enabled
| |-- *.load
| `-- *.conf
|-- conf-enabled
| `-- *.conf
|-- sites-enabled
| `-- *.conf
上面这段话是摘自apache2的主页,可以通过http://localhost/访问得到,这里简单翻译一下。
- apache2.conf 是主要的配置文件,当启动web 服务的时候,它通过include的方式引入其它的配置文件来进行配置。
- ports.conf 总是被主配置文件(apache2.conf)include进来,主要用于监听进来的连接的端口。
- 在目录 mods-enabled/, conf-enabled/ and sites-enabled/ 下的配置文件分别负责一些其它的配置,诸如模块的管理,全局变量,虚拟机等的配置,这块的配置我也没碰过,以后碰到再补充。
使用vi apache2.conf查看文件,可以看到如下关键配置,里面的注释和一些其它配置没有贴出来
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory> <Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
IncludeOptional conf-enabled/*.conf # Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
从上面的配置看,它引用了ports.conf, conf-enabled/目录,sites-enabled/目录下面的配置文件。
四、 启动服务
运行前面说的命令启动服务,看是否我们的web服务能否正常访问。
在执行命令后会报错:“Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName”。 不用担心,可以在ports.conf里加下一句 ServerName localhost:80
再次重启服务,这下应该没有问题了。
五.CGI的配置
1.首先在根目录下建一个cgi-bin的目录,即/var/www/cgi-bin/。cgi程序都放在这个cgi-bin的目录中,不能放在其他的目录中。
我是从 http://www.forkosh.com/mimetexmanual.html 下载了一个cgi文件放到该目录下,这个文件的作用就是将latex的文本转化为gif形式的图片公式,主要用于数学等一些理工科领域的公式编辑。
可以参考另一篇文章http://www.cnblogs.com/lovemo1314/p/5614769.html,这篇文章是用android访问的第三方网站http://latex.codecogs.com的api。本文则是采用mimetex.cgi在本地搭建
一个服务,遗憾的是这两种都不支持中文的转换。mimetex文档参看 http://www.sciencechatforum.com/documents/。
2. cgi配置成功后,只要我输入http://localhost/cgi-bin/mimetex.cgi?x^2,后端就会为我返回一个x^2(这里是数学中样子打不出来,只能以计算机中的样子示人,稍后上图看结果)。 mimetex.cgi为
转化图片的程序bin文件。
3.打开/etc/apache2/sites-enabled/000-default,可以看到
DocumentRoot /var/www/ ##默认的是指向/var/www/html,这一句一定要改,我就是在这里被坑了好久,不然会一直提示找不到
Include conf-available/serve-cgi-bin.conf
如果这句被注释掉就打开。
4. 接下来我们再打下配置文件 serve-cgi-bin.conf, 这个文件是cgi的主要配置。
<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 ###添加cgi脚本的处理
</Directory>
</IfDefine>
</IfModule>
5. 编译出来的cgi文件放到/var/www/cgi-bin目录下就可以运行了,但是一定要保证该文件是可执行的,所以最好修改下的权限
sudo chmod a+x xxx.cgi
在配置到这一步了,正常情况下只要重启服务就可以成功的访问了,但是我在访问时,得到的是cgi文件本身,老是提示保存文件,也就是说服务器只是把它当做普通的文件了,而不是cgi脚本。
这有可能没有配置好,但是在第4步中,addhandler cgi-script cgi就已经做好了的。检查了好久,在快要放弃的时候,看到两种命令
sudo a2enmod cgi
sudo service apache2 restart
然后就好了, 好了,好了,,,,,我也不知道原因。
六、结果展示
最后来看结果,浏览器输入一个复杂点的公式吧,就这 http://localhost/cgi-bin/mimetex.cgi?x=\frac{-b\pm\sqrt{b^2-4ac}}%20er,如图

技巧,在不知道环境是否配置好不确定的情况下,又不确定自己编译的cgi文件是否没问题的情况,在出错时,很难排错,我觉得可以写个小小的helloworld程序测试下是很有必要的,比如写个perl
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
将它放到cgi-bin目录下,当然不要忘记了将它的权限修改成777。
ubuntu 安装apache2并配置cgi,搭建mimetex转化公式图片的服务的更多相关文章
- ubuntu 启用apache2 虚拟机配置
Ubuntu 启用apache2 虚拟机配置 http://jingyan.baidu.com/article/5d6edee20b78e999eadeecf7.html
- Ubuntu 安装后的配置及美化(二)
Ubuntu安装后的配置与美化(二) 上篇文章讲了安装ubuntu后的一系列基础的配置,已经可以满足日常的使用了,这篇文章讲一下安装 IDE 及一些其他的配置. 1.安装 SSR 下载 SSR 客户端 ...
- Ubuntu 安装后的配置及美化(一)
Ubuntu 安装后的配置及美化(一) 记录一下 完成后的主界面. 配置 1.更新源为阿里云 找到 软件和更新 选项,更新源为阿里云的源. 在 其他软件 中将 Canonical合作伙伴 打上勾. 然 ...
- 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境
PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建 ...
- ubuntu 安装apache2,mysql,php5,phpmyadmin等软件
1.安装apache2 sudo apt-get install apache2 输入Y回车 apache2 安装完成 检测:在浏览器输入localhost 出现It works则成功. 2. ...
- Ubuntu 安装JDK并配置成为默认的JDK
Ubuntu安装JDK 系统版本:Ubuntu 15.04 x64 JDK版本:jdk-8u60-linux-x64 1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应 ...
- Ubuntu 安装之后的配置博文总结
由于频繁地在各种机器上给别人安装ubuntu,每次安装之后都需要进行一些配置,现在以ubuntu12.04为例,就他人的一些配置博文总结如下: 1. Ubuntu安装中文输入法 http://www. ...
- ubuntu14.04安装 Apache2 并配置https
一.安装 Apache2 sudo apt-get update sudo apt-get install apache2 安装完apache2,默认根目录在/var/www/html 下,点击其下的 ...
- Ubuntu 安装phpmyadmin 和配置
ubuntu 安装 phpmyadmin 两种 : 1: apt-get 安装 然后使用 已有的虚拟主机目录建立软连接 sudo apt-get install phpmyadmin sud ...
随机推荐
- Python+Google Geocoding
本文主要介绍使用Python调用Google Geocoding API进行地址到地理坐标的转换. Google Geocoding参考https://developers.google.com/ma ...
- fedora25 下配置samba
本例是在 / 目录下建立share 文件夹为例 Sudo dnf install samba samba-common samba-clientsudo mkdir /share sudo chmod ...
- 修改maven默认的JDK编译版本
1.全局模式(settings.xml) <profiles> <profile> <id>jdk-1.8</id> <activation> ...
- NTKO控件在阅读PDF时,显示DEMO的问题
NTKO控件在阅读PDF时,显示DEMO的问题, 原因是加载了以前的DEMO版本的控件.解决办法是: 在命令行中执行命令: regsvr32 /u NtkoOleDocAll.DLL 卸载老版本的控件 ...
- linux服务器加硬盘扩容
from: http://bbs.chinaunix.net/thread-3613556-1-1.html 试验环境: vmware下,centos6,64位版本,原来系统默认分区,/dev/sda ...
- XSS的原理分析与解剖(转)
(转)http://netsecurity.51cto.com/art/201408/448305_all.htm 0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成 ...
- myeclipse 控制台打印空指针 ,黏贴控制台sql到plsql有结果集,异常处理
信用公司框架,不够熟悉. 在完成嗲点登录后,写动态页面是遇到,了问题:myeclipse 控制台打印空指针 ,黏贴控制台sql到plsql有结果集,异常处理. 最后大神给看,在接口实现重写的方法里返回 ...
- 网站fail_over测试(障害测试)
确认Web和DB进行操作: 一:确认web: ①确认进程是否存在: ps aux|grep tomcat ②关闭tomcat: /etc/init.d/catalina_sbi stop ③重启tom ...
- 一个div,包含三个小的div,平均分布的样式
从11月份开始,自学前端开发,写静态页面中,经常用到一个大的div下包含三个小的div,平均分布div大小样式,写过多次,也多次忘记,每次都要现找资料,不想之后,在这么麻烦,索性今天自己记录一下,方便 ...
- 06Java数组
动手动脑: import java.io.*; public class QiPan { //定义一个二维数组来充当棋盘 private String[][] board; //定义棋盘的大小 pri ...