Apache安装其实很简单,下面是我亲测的两种方法,写出来分享给大家
准备
有些linux版本中已经预置了有Apache,并且已经是服务了,所有首先检查系统中是否已经存在httpd的服务
# 1. 查看是否有httpd进程正在运行(下图是有的情况)
ps -ef|grep httpd
# 2. 查看linux系统服务中有没有httpd(下图是有的情况)
chkconfig --list
如果有processor或者有service,就执行如下步骤,没有的话可以跳过此步
关闭httpd服务自启动
chkconfig httpd off
停止httpd服务
service httpd stop
#停止后查看进程processor,如果依然有httpd,手动kill掉
ps -ef|grep httpd
kill -9 pid(逐个都删除)
卸载httpd软件
#先检查安装包的名字
rpm -qa|grep httpd
#根据名字删除包
rpm -e httpd-tools-2.4...
删除httpd.conf文件
#先检查文件在哪
find / -name httpd.conf
#查出之后根据路径把它删了
rm /xxx/xxx/httpd.conf
一、手动安装
软件下载
1. Apache HTTP Server
地址:http://httpd.apache.org/download.cgi#apache24
2. APR 和 APR-Util
地址:http://apr.apache.org/download.cgi
3. PCRE
地址:https://sourceforge.net/projects/pcre/files/pcre/
2. 安装
1. 如果没有安装gcc/gcc-c++的话必须安装
[root@localhost /]#gcc -v
gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
## 这个结果就是有gcc,那么就不需要看下面的安装gcc了
[root@localhost /]# yum list
##一种可能的搜索结果如下:有包但没安装
Avaliable Packages
gcc-c++.x86_64
如果结果中没有gcc-c++,或者只有”gcc-c++ Avaliable Packages”没有”gcc-c++ Installed”的话就说明需要安装,安装代码如下:
[root@localhost /]# yum install gcc-c++
2. 安装APR、APR-Util、PCRE、Apache Http Server
将这些都安装在/usr/local中,先mkdir目录如下:
[root@localhost soft]# mkdir /usr/local/httpd
[root@localhost soft]# mkdir /usr/local/apr
[root@localhost soft]# mkdir /usr/local/apr-util
[root@localhost soft]# mkdir /usr/local/pcre
然后步骤如下(直接顺序复制粘贴):
[root@localhost soft]# tar -zxf apr-1.5.2.tar.gz
[root@localhost soft]# tar -zxf apr-util-1.5.4.tar.gz
[root@localhost soft]# tar -zxf pcre-8.38.tar.gz
[root@localhost soft]# tar -zxf httpd-2.4.18.tar.gz
[root@localhost soft]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make
[root@localhost apr-1.5.2]# make install
[root@localhost apr-1.5.2]# cd ../apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.5.4]# make
[root@localhost apr-util-1.5.4]# make install
[root@localhost apr-util-1.5.4]# cd ../pcre-8.38
[root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost pcre-8.38]# make
[root@localhost pcre-8.38]# make install
[root@localhost pcre-8.38]# cd ../httpd-2.4.18
[root@localhost httpd-2.4.18]# ./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@localhost httpd-2.4.18]# make
[root@localhost httpd-2.4.18]# make install
二、yum安装
1.yum安装apache
#yum install httpd -y
2.随系统自启动
#chkconfig httpd on
3.开启apache
#service httpd start
PS:在CentOS里Apache的默认文档路径的位置是在/var/www/html,配置文件的路径是/etc/httpd/conf/httpd.conf。其他的配置存储在/etc/httpd/conf.d/ 文件夹里。
建议删除/etc/httpd/conf.d/下的welcome.conf文件
删除指令 #rm -rf *.* (注释:*.*改成/etc/httpd/conf.d/welcome.conf)
三、配置、启动Apache
httpd.conf配置请参照下面
#vi /etc/httpd/conf/httpd.conf
以下展示的是学新公园对默认值的修改。
#禁止显示apache版本号
ServerTokens ProductOnly
ServerSignature Off
#端口监听,我们将*改成了我们的独立ip
Listen *:80
#我们开启了两个模块,其他模块默认设置
mod_rewrite.so #开启.htaccess需要
mod_vhost_alias.so #设置虚拟机需要
#我们将ServerAdmin改成我们自己的邮箱。
ServerAdmin admin@1try10.com
#我们将ServerName导向固定ip,即将*改成我们的ip
ServerName *:80
#我们修改了DocumentRoot目录
DocumentRoot /***
#将Options属性改成FollowSymLinks
Options FollowSymLinks
#将AllowOverride属性改成ALL以支持.htaccess
AllowOverride ALL
#我们配置了虚拟机,我们把*更改成我们的ip
NameVirtualHost *:80
#虚拟机上拒绝了直接通过ip访问我们的站点,我们把*更改成我们的ip
<VirtualHost *:80>
ServerName *
<Location />
Order deny,allow
Deny from all
</Location>
</VirtualHost>
#我们将域名绑定到服务器,并将不带3www的域名301重定向到带www域名
<VirtualHost *:80>
ServerAdmin admin@1try10.com
DocumentRoot 一个目录
ServerName 1try10.com
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^1try10.com [NC]
RewriteRule ^/(.*)$ http://www.1try10.com/$1 [L,R=301]
</ifModule>
ErrorLog /var/log/1try10.com-error_log
CustomLog /var/log/1try10.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@1try10.com
DocumentRoot 一个目录
ServerName www.1try10.com
ErrorLog /var/log/1try10.com-error_log
CustomLog /var/log/1try10.com-access_log common
</VirtualHost>
#我们设定了gzip压缩
#gzip
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
DeflateCompressionLevel 5
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
</IfModule>
#TRACE和TRACK是用来调试web服务器连接的HTTP方式.支持该方式的服务器存在跨站脚本漏洞,所以我们关闭了它
写了两遍,第一遍没有存上,可怜我半天的心血。。。
本文主要是了为第二篇文章yum安装Apache,配置https做铺垫,如果有这方面的需求,可以看下一篇
本文主要参考:https://www.cnblogs.com/wcwnina/p/8029156.html
https://blog.csdn.net/u010433704/article/details/51296326
https://blog.csdn.net/thanklife/article/details/55047325