详解Centos源码编译安装Apache、PHP

前端之家收集整理的这篇文章主要介绍了详解Centos源码编译安装Apache、PHP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。使用Yum搭建一台新的服务器顶多只需20分钟:


Centos7系列新系统Yum搭建LAMP:


yum安装apache:

#yum-yinstallhpptd


apache命令(开机自启动、启动服务、停止服务、重启服务):

#systemctlenablehttpd.service
#systemctlstarthttpd.service
#systemctlstophttpd.service
#systemctlrestarthttpd.service


yum安装PHP

#yum-yinstallPHP


yum安装MysqL

#yuminstallmariadb-servermariadb


MysqL命令(开机自启动、启动服务、停止服务、重启服务)

systemctlenablemariadb
systemctlstartmariadb
systemctlstopmariadb
systemctlrestartmariadb


初始化数据库(第一项回车,其余全Y):

#/usr/bin/MysqL_secure_installation


通过Yum搭建lamp就是这么简单,安装apache和PHP不用考虑先后之分,后安装的PHP自动在apache的conf.d模块下生成PHP.conf模块扩展,所以PHP能直接被apache解析,不需要配置什么,如果先安装PHP后装httpd的话,需要#yum install httpd httpd-devl,apache也会自动PHP扩展给添加上。yum安装数据库不需要手动创建系统组,系统用户,系统会自建。


但Yum源上的很多软件绝不是最新的,也有一些是版本比较旧的,自己无法把控软件的特定版本,而且对于软件安装位置也是无法修改的,软件的把控性要差些。例如以上yum安装方式安装的PHP版本是5.4的,版本过低无法支持laravel、yii等框架的使用,我也试过修改yum让其PHP版本达到5.6,但又发现PHP缺乏fastcgi的支持模块PHP-fpm,也没法通过yum来安装PHP-fpm的模块。为此不得不使用编译安装。




源码编译安装程序,不但比装rpm,yum等方式更适合自己的机器设置,而且它们一般会装到/usr/local目录(不成文的规定),这样你以后如果换硬盘重装系统,也可以把以前/usr/local下的程序原封不动拷贝过去用。除了精准安装以外,编译安装还能方便给软件打补丁,安装扩展模块。对于线上环境,编译安装可以严格控制版本,更安全。


Centos6、7系列源码编译安装apache:

把需要的软件先下载下来,建议使用迅雷下载,下载完成后通过ftp、sftp等工具传到服务器上:

依赖工具:

点击下载:apr-1.5.2.tar.gz

点击下载:apr-util-1.5.4.tar.gz

点击下载:pcre-8.38.tar.gz

apache最新稳定版2.4.25:

点击下载:httpd-2.4.25.tar.gz


1)yum安装必要依赖工具:

#yum-yinstallgccgcc-c++

2)安装apr:

#tarxfapr-1.5.2.tar.gz
#cdapr-1.5.2
#./configure--prefix=/usr/local/apr
#make&&makeinstall

3) 安装apr-util:

#tarxfapr-util-1.5.4.tar.gz
#cdapr-util-1.5.4
#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
#make&&makeinstall


4)安装pcre库:

#tarxfpcre-8-38.tar.gz
#cdpcre-8-38
#./configure--prefix=/usr/local/pcre
#make&&makeinstall

5)安装apache服务器

#tarxfhttpd-2.4.25.tar.gz
#cdhttpd-2.4.25
#./configure--prefix=/usr/local/apache--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-pcre=/usr/local/pcre
#make&&makeinstall

6)配置apache:

备份配置:

#cd/usr/local/apache/conf/
#cphttpd.conf./httpd.conf.bak


修改配置:

#vimhttpd.conf

修改以下内容

搜索ServerName www.example.com:80去掉#注释(vim插入模式输入/搜素内容),网址可以改成公网ip或者localhost,80端口保留:

wKiom1jqJvGQyERFAAAWLKAitKI113.png


搜索DocumentRoot,根据实际需求修改源码存放路径。

添加Directory代码块,文件路径跟DocumentRoot相同即可,保存退出

<Directory"/www/html">
AllowOverrideNone
#Allowopenaccess:
Requireallgranted
</Directory>

wKiom1jqJvGw6lwhAAAYTGqEbaw044.png


7)手动添加apache环境变量,PATH末尾加:添加上软件安装完毕的bin目录:

#vim~/.bash_profile


修改

PATH=$PATH:$HOME/bin


为:

PATH=$PATH:$HOME/bin:/usr/local/apache/bin


让环境变量立即生效:

#.~/.bash_profile


8)apache命令(开启|停止|重启):

#apachectlstart|stop|restart


9)设置开机自动启动:

编辑系统启动脚本:

#vim/etc/rc.d/rc.local


新增一行(系统没法直接调用root的环境变量,所以需要把脚本执行的完整路径补全):

/usr/local/apache/bin/apachectlstart


10)编译安装的基本步骤算完成了,可以通过浏览器测试:

wKioL1jqK6_BL-HTAAA_7mVOKYg180.png




Centos6、7系列源码编译安装PHP-5.6.9


点击下载php-5.6.9.tar.gz源码包


1)解决依赖关系:

#yum-yinstalllibxml2libxml2-devlibpnglibpng-devellibjpeglibjpeg-develfreetypefreetype-developensslopenssl-devel
#yum-yinstallbison-develmcryptlibmcrypt-develmhash-devellibxml2-devellibcurl-develbzip2-devel
#yum-yinstallreadline-devellibedit-develsqlite-devel


2)解压源码包进入安装目录:

#tarxfPHP-5.6.9.tar.gz
#cdPHP-5.6.9



3)编译源码:

./configure \

@H_256_301@--prefix=/usr/local/PHP56 \

@H_256_301@--with-config-file-path=/usr/local/PHP56/etc \

@H_256_301@--with-apxs2=/usr/local/apache/bin/apxs \

@H_256_301@--enable-inline-optimization \

@H_256_301@--disable-debug \

@H_256_301@--disable-rpath \

@H_256_301@--enable-shared \

@H_256_301@--enable-opcache \

@H_256_301@--enable-fpm \

@H_256_301@--with-fpm-user=www \

@H_256_301@--with-fpm-group=www \

@H_256_301@--with-MysqL=MysqLnd \

@H_256_301@--with-MysqLi=MysqLnd \

@H_256_301@--with-pdo-MysqL=MysqLnd \

@H_256_301@--with-gettext \

@H_256_301@--enable-mbstring \

@H_256_301@--with-iconv \

@H_256_301@--with-mcrypt \

@H_256_301@--with-mhash \

@H_256_301@--with-openssl \

@H_256_301@--enable-bcmath \

@H_256_301@--enable-soap \

@H_256_301@--with-libxml-dir \

@H_256_301@--enable-pcntl \

@H_256_301@--enable-shmop \

@H_256_301@--enable-sysvmsg \

@H_256_301@--enable-sysvsem \

@H_256_301@--enable-sysvshm \

@H_256_301@--enable-sockets \

@H_256_301@--with-curl \

@H_256_301@--with-zlib \

@H_256_301@--enable-zip \

@H_256_301@--with-bz2 \

@H_256_301@--with-readline



参数说明:

=== 安装路径 ===

--prefix=/usr/local/PHP56 \


=== PHP.ini 配置文件路径 ===

--with-config-file-path=/usr/local/PHP56/etc \


=== 指定apache文件路径,生成apache对PHP支持模块libPHP5.so的关键,不装apache可把这项去掉 ===

--with-apxs2=/usr/local/apache/bin/apxs \


=== 优化选项 ===

--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



4)# make && make install


5)配置PHP

生成配置文件,复制源码包目录下的PHP.ini-development到安装目录:

#cpPHP.ini-development/usr/local/PHP56/etc/PHP.ini


PHP.ini里加上找到date.timezone项,设置时区:

date.timezone="Asia/Shanghai"


PHP-fpm服务:

#cp/usr/local/PHP56/etc/PHP-fpm.conf.default/usr/local/PHP56/etc/PHP-fpm.conf


开启PHP-fpm(不使用Nginx可以不启用本地进程):

#PHP-fpm


启动PHP-fpm的时候报错了,没有www用户www用户组,初始化失败:

wKioL1jqOE3ROGTtAAAdniHLP8E047.png



手动添加用户组和用户

#groupaddwww
#useradd-gwww-s/sbin/nologin-Mwww


再次启动PHP-fpm:

wKioL1jqOQ2T7xojAAANH1RoZk4790.png


查看端口:

#netstat-ntlp|grep9000

wKiom1jqOXzgxIVzAAAbPZ9HPic614.png


如需结束PHP-tpm进程:

#killallPHP-fpm


6)添加PHP环境变量,PATH末尾加:添加PHP的bin目录,sbin目录(PHP-fpm)

wKioL1jqMgGzhVejAAAmL14VZBk660.png


让环境变量立即生效:

#.~/.bash_profile


7)PHP部分使用命令:

#PHP-v查看版本
#PHP-i命令行打印PHPinfo
#PHP-m查看PHP支持模块
#PHP--ini查看PHP配置文件所在位置


8)apache添加PHP支持模块

按上面步骤安装的话,apache模块目录下能会有libPHP5.so这个文件

wKiom1jqNNeD8lkaAACbtLjL4PI725.png


编辑httpd.conf:

httpd.conf中可以找到:

LoadModulePHP5_modulemodules/libPHP5.so

在<IfModule mime_module></IfModule>之间加入:

AddTypeapplication/x-httpd-PHP.PHP.phtml
AddTypeapplication/x-httpd-PHP-source.PHPs
AddHandlerapplication/x-httpd-PHP.PHP


重启apache:

#apachectlrestart


解析PHP

wKiom1jqNejAi2X3AAGSxYN4YDA375.png

猜你在找的CentOS相关文章