linux中编译安装Apache

作者: 航空航天  发布:2019-11-02

1、简介

  在阿里云买了个云服务器,一直没时间折腾。过了近十天了吧,才有时间好好玩玩这个云服务器。自己是做Web开发的,所以我需要的开发环境是LAMP。之前打算是采用yum安装,不过yum安装apache可以安装到2.4版本,而PHP最高安装版本只能是5.4,这也是yum安装PHP的软肋,因此我这里主要涉及到的安装方式是源码安装。通过源码安装能够更好的管理这些软件,想安装到哪就放在哪。

  云服务器: 阿里云CentOS 7.2 64位

  阿帕奇版本:apache2.4

  PHP版本:PHP5.6

  主要的安装方式:源码安装

 

 作者:那一叶随风   

2、安装apache

 原文地址:

  2.1、yum方式安装apache

注意apache在linux中的名字是httpd

a、首先检查是否已经安装apache

  rpm -qa |grep httpd

  若没有则进行下一步的安装

b、yum安装apache

  yum -y install httpd

  rpm -qa |grep httpd //检查是否有安装apache

c、开启停止重启apache服务

  service httpd start | stop | restart

  ps -A|grep httpd //检查是否已经启动apache服务

注意:

  CentOS7用的是Firewall-cmd,CentOS7之前用的是iptables防火墙;要想让外网能访问到apache主目录,就需要做以下的操作:

  firewall-cmd --permanent --zone=public --add-service=http

  firewall-cmd --permanent --zone=public --add-service=https

  firewall-cmd --reload

命令含义:

  --zone #作用域

  --add-service=http #添加服务;也可以添加端口

  --add-port=80/tcp  #添加端口,格式为:端口/通讯协议

  --permanent   #永久生效,没有此参数重启后失效

d、访问外网ip

研究了一晚上的云服务器,看了博主的这篇文章,解决了很多的问题,上面是原文地址

  2.2、源码方式安装apache

a、 首先我们从apache官网中获取apache2.4版本软件

  官网:

  也可以直接在linux中执行命令进行下载: wget

图片 1

b、 安装httpd的软件依赖包

  这里我们采用yum安装,方便快捷。

  yum install -y apr-devel apr-util-devel openssl-devel libevent-devel pcre-devel

c、 解压安装

1 tar -zxvf httpd-2.4.27.tar.gz
2 cd httpd-2.4.18
3 ./configure --prefix=/usr/local/apache24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --with-zlib --with-pcre --with-apr=/usr --with-apr-util=/usr
4 make && make install

  编译说明:

  --prefix 指明程序安装目录 --enable-so 表示启用模块的动态装卸载功能

  --enable-ssl 表示启用ssl功能,此项可能需要先安装openssl-devel包

  --enable-cgi 表示启用支持cgi机制的功能 --enable-rewrite 表示支持url重写功能

  --enable-modules=most 表示启用的http模块有哪些,most表示启动大多数

  --enable-mpms-shared=all 表示以共享方式启用哪些MPM模块(prefork、worker、event), all表示所有的,此项为httpd2.4独有的选项,因为只有2.4才支持MPM的动态装卸载,2.2的MPM为静态的,只有编译进去,才能使用

  --with-mpm=prefork 表示默认启动的MPM是哪种

  --with-zlib 表示依赖zlib,用于支持压缩功能 没用=等号指明zlib的路径,则系统会自动到被依赖的文件的默认的路径去寻找, 如果被依赖的文件不是rpm安装,或不放在默认路径下,则需要手动利用=等号指明路径

  --with-pcre 表示依赖的pcre,用于支持url重写时支持正则表达式 --with-apr 依赖的apr

  --with-apr-util 依赖的apr-util

注意:

  这里需要填写依赖的软件包的安装位置,yum安装是基于rpm进行安装的,因此我们可以使用命令(rpm -ql 软件全名)进行查看软件安装在哪里。一般来说,yum安装大多数都安装在usr目录中。

d、启动httpd服务

1 #cd /usr/local/apache24/bin/
2 #./apachectl start

  出现一个错误,即配置文件中没有serverName,那就在httpd.conf 中增加 ServerName 

  vim /usr/local/apache24/conf/httpd.conf

  #增加 ServerName localhost

e、同上开启相应的端口

f、访问外网ip

 

 

3、安装PHP

阅读目录

  3.1、yum方式安装PHP

  方法同安装apache一样

  yum install php

  重启httpd,开始测试

  • 1、简介
  • 2、安装apache
  •   2.1、yum方式安装apache
  •   2.2、源码方式安装apache
  • 3、安装PHP
  •   3.1、yum方式安装PHP
  •   3.2、源码方式安装PHP

  3.2、源码方式安装PHP

a、首先将PHP压缩文件下载下来

  wget

b、yum安装依赖软件

yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel

c、解压PHP压缩文件,并安装

tar zvxf php-5.6.30.tar.gz
cd php-5.6.30
groupadd www
useradd -g www -s /sbin/nologin www
#编译相关参数
./configure --prefix=/usr/local/php 
--with-apxs2=/usr/local/apache24/bin/apxs  
--with-config-file-path=/usr/local/php/etc  
--enable-inline-optimization --disable-debug  
--disable-rpath --enable-shared --enable-opcache  
--enable-fpm --with-fpm-user=www  
--with-fpm-group=www  
--with-mysql=mysqlnd  
--with-mysqli=mysqlnd  
--with-pdo-mysql=mysqlnd  
--with-gettext  
--enable-mbstring  
--with-iconv  
--with-mcrypt  
--with-mhash  
--with-openssl  
--enable-bcmath  
--enable-soap  
--with-libxml-dir  
--enable-pcntl  
--enable-shmop  
--enable-sysvmsg  
--enable-sysvsem  
--enable-sysvshm  
--enable-sockets  
--with-curl --with-zlib  
--enable-zip  
--with-bz2  
--with-readline

make && make install

 

##参数解释
""" 安装路径 """
--prefix=/usr/local/php 
""" php.ini 配置文件路径 """
--with-apxs2=/usr/local/apache24/bin/apxs 
""" 促使生成libphp5.so """
--with-config-file-path=/usr/local/php56/etc 
""" 优化选项 """
--enable-inline-optimization 
--disable-debug 
--disable-rpath 
--enable-shared 
""" 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """
--enable-opcache 
""" FPM """
--enable-fpm 
--with-fpm-user=www 
--with-fpm-group=www 
""" MySQL """
--with-mysql=mysqlnd 
--with-mysqli=mysqlnd 
--with-pdo-mysql=mysqlnd 
""" 国际化与字符编码支持 """
--with-gettext 
--enable-mbstring 
--with-iconv 
""" 加密扩展 """
--with-mcrypt 
--with-mhash 
--with-openssl 
""" 数学扩展 """
--enable-bcmath 
""" Web 服务,soap 依赖 libxml """
--enable-soap 
--with-libxml-dir 
""" 进程,信号及内存 """
--enable-pcntl 
--enable-shmop 
--enable-sysvmsg 
--enable-sysvsem 
--enable-sysvshm 
""" socket & curl """
--enable-sockets 
--with-curl 
""" 压缩与归档 """
--with-zlib 
--enable-zip 
--with-bz2 
""" GNU Readline 命令行快捷键绑定 """
--with-readline

d、配置服务

#配置文件
cp php.ini-development /usr/local/php/etc/php.ini
#php-fpm 服务
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm
chkconfig on php-fpm
service php-fpm start

e、环境变量

#vim /etc/profile
  PATH=$PATH:/usr/local/php/bin
  export PATH
#source /etc/profile

f、修改apache配置文件

httpd.conf

  1、在LoadModule后面添加:LoadModule php5_module modules/libphp5.so //不添加则访问.php文件将会变成下载

  2、在DirectoryIndex后面添加:index.php

  3、 在AddType application/x-gzip .gz .tgz后面添加:AddType application/x-httpd-php .php //.php前面有一个空格

 

注意:

源码安装的时候必须加上这个(--with-apxs2=/usr/local/apache24/bin/apxs),它的作用就是生成libphp5.so。

 

MySQL的安装将在下一篇随笔中《linux中编译安装Apache、PHP、MySQL(下)》

 

(以上是自己的一些见解,若有不足或者错误的地方请各位指出)

 作者:那一叶随风   

 原文地址:

 声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接

 

回到顶部

本文由金沙澳门官网发布于航空航天,转载请注明出处:linux中编译安装Apache

关键词:

上一篇:没有了
下一篇:没有了