Linux 下简单配置apache
本文操作系统是centos7,安装的httpd的版本是2.4,下载的源码包是httpd-2.4.27.tar.bz2,依赖是apr-devel-1.4.8.tar.bz2,pcre-devel-8.32.tar.bz2,apr-util-devel-1.5.2.tar.bz2
软件安装一般分为源码编译安装、yum安装和rpm包安装。本文介绍源码安装。
源码编译安装分为三部分:configure脚本 ;make;make install
2.相关依赖,安装apache需要首先安装Development Tools
[root@localhost(yuaning) ~]# yum grouplist Development Tools (查看有没有安装) [root@localhost(yuaning) ~]# yum groupinstall “Development Tools” (安装组Development Tools)
然后依次安装apr-devel,apr-util-devel,pcre-devel
[root@localhost(yuaning) ~]# tar xvf apr-devel-1.4.8.tar.bz2 #解压 [root@localhost(yuaning) ~]# ls apr-devel-1.4.8 apr-devel-1.4.8.tar.bz2 [root@localhost(yuaning) ~]# cd apr-devel-1.4.8 [root@localhost(yuaning) ~]# ./configure --prefix=/app/apr #--prefix=/PATH: 指定默认安装位置 [root@localhost(yuaning) ~]# make -j 4 # -j 4 调用cpu的个数,根据自己的配置而定 [root@localhost(yuaning) ~]# make install #其他两个雷同,不做演示
这三个依赖也可以用yum安装
[root@localhost(yuaning) ~]# yum install apr-devel -y [root@localhost(yuaning) ~]# yum install apr-util-devel -y [root@localhost(yuaning) ~]# yum install pcre-devel -y
3.解压,tar xvf httpd...
[root@localhost(yuaning) ~]# ls httpd-2.2.34.tar.bz2 [root@localhost(yuaning) ~]# tar xvf httpd-2.2.34.tar.bz2 [root@localhost(yuaning) ~]# ls httpd-2.2.34 httpd-2.2.34.tar.bz2 [root@localhost(yuaning) ~]# ./configure --prefix=/app/apache --sysconfdir=/etc/apache #--sysconfdir=/PATH配置文件默认位置 [root@localhost(yuaning) ~]# make -j 4 [root@localhost(yuaning) ~]# make install
安装过程还是三步,现在说一下具体的选项:
--prefix=/PATH: 指定默认安装位置
--sysconfdir=/PATH 配置文件默认位置
--enable-so:支持动态共享模块,如果支持php将不能与apache一起工作,必须要有
--enable-ssl:启用ssl功能,如果不启用将无法使用https
--enable-mpms-shared=all:prefork、worker、event
--with-mpm=event:event为默认
--enable-rewrite:支持URL重写
--enable-cgi :支持cgi
--enable-cgid:httpd使用event或者worker得启用被线程方式访问
--enable-modules=most :启用大多数模块
--enable-mods-shared=most:启用大多数共享模块
4. 添加环境变量(选做)
path后面加上安装位置,否则每次开启服务的时候都会加上很长路径。如下
[root@localhost(yuaning) ~]# vim /etc/profile.d/cyn.sh export PATH=$PATH:/app/apache/bin [root@localhost(yuaning) profile.d]# source cyn.sh
5.启动服务
[root@localhost(yuaning) ~]# ls /app/apache/bin/ ab apxs dbmmanage envvars-std htcacheclean htdigest httpd logresolve apachectl checkgid envvars fcgistarter htdbm htpasswd httxt2dbm rotatelogs [root@localhost(yuaning) ~]# apachectl start #这是正常启动
有时候启动服务的的时候会报错,如下
[root@localhost(yuaning) ~]# apachectl start AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
有时候启动服务会报错,错误的原因有很多。例如下面这个,因为servername引起的错误
[root@localhost(yuaning) ~]# vim /etc/apache/httpd.conf #ServerName www.example.com:80 ServerName localhost:80
有时候,还会因为端口占用引起错误
[root@localhost(yuaning) ~]# apachectl start apache2 address already in use:make_sock:could not bind to address [::]:80 [root@localhost(yuaning) ~]# netstat -lnp|grep 80 tcp6 0 0 :::80 :::* LISTEN 21619/httpd #进程httpd的id是21619 [root@localhost(yuaning) ~]# kill 21619 #杀死进程 [root@localhost(yuaning) ~]# apachectl start #重新启动服务
还有可能是因为防火墙的原因
[root@localhost(yuaning) htdocs]# iptables -F #清除防火墙即可
6.添加欢迎页面
到这里你在浏览器地址栏输入你的本地IP会出现 It work !字样,说明你的apache简单配置完成了。你也可以自己添加,如下
[root@localhost(yuaning) htdocs]# vim /app/apache/htdocs/index.html <html><body><h1>i am cyn !</h1></body></html> #HTML文档,自行添加
只能是本机的浏览器才能访问,要想其他人也可访问,把你的Linux搞到云服务器上配置个公网IP即可。