本次安装过程需要联网,首先下载 Apache 和 PHP 。测试服务器IP192.168.126.131。本文编写于2019年4月17日。

PHP 和 Apache 官方网站下载地址如下:

http://httpd.apache.org/download.cgi

https://www.php.net/downloads.php

首先安装编译依赖软件,再选择下载安装所需版本。

#直接在服务器安装依赖软件
[root@promote ~]# yum install epel-release gcc gcc-c++ make openssl-devel expat-devel apr apr-devel apr-util apr-util-devel pcre wget
#下载源代码
[root@promote ~]# wget https://www.php.net/distributions/php-7.3.4.tar.gz
[root@promote ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.39.tar.gz

也可以使用迅雷等下载软件下载后使用WinSCP或Xshell等工具上传到目标服务器。

解压 httpd(Apache)安装文件。

[root@promote ~]# tar -zxvf httpd-2.4.39.tar.gz
[root@promote ~]# tar -zxvf php-7.3.4.tar.gz

安装 httpd 。

#查看配置帮助信息
[root@promote httpd-2.4.39]# ./configure --help
#配置安装文件,生成makefile文件,启用ssl和动态模块加载
[root@promote httpd-2.4.39]# ./configure --prefix=/usr/local/apache2.4  --enable-ssl --enable-module=shared --enable-so
#安装软件,离开目录
[root@promote httpd-2.4.39]# make && make install && cd

添加httpd服务。

[root@promote ~]# ln -s /usr/local/apache2.4/bin/apachectl /etc/rc.d/init.d/httpd

修改配置文件。

#修改配置文件
[root@promote conf]# pwd
/usr/local/apache2.4/conf
#配置文件修改完成
# #添加php支持
#    AddType application/x-httpd-php .php
#    AddType application/x-httpd-php-source .phps
#
[root@promote conf]# vim httpd.conf
<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    #AddHandler cgi-script .cgi

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>

安装PHP所需依赖软件。

[root@promote ~]# yum -y install libxml2-devel openssl curl-devel libjpeg-devel libpng libpng-devel freetype-devel libmcrypt-devel libzip libzip-devel
[root@promote ~]# tar -xvf php-7.3.4.tar.gz
[root@promote ~]# cd php-7.3.4/
#部分系统提示libzip版本过低,可选yum或源码安装
[root@promote ~]# yum install http://rpmfind.net/linux/centos/7.6.1810/os/x86_64/Packages/libzip-0.10.1-8.el7.x86_64.rpm
[root@promote ~]# wget https://libzip.org/download/libzip-1.5.2.tar.gz

编译和安装。需要注意一下,Apache怎么和PHP互动?

[root@promote ~]# tar -xvf php-7.3.4.tar.gz
[root@promote ~]# cd php-7.3.4/
#开启php和apache关联
[root@promote php-7.3.4]# ./configure --prefix=/usr/local/php7.3 --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-sysvsem --enable-sockets --enable-pcntl --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-ftp --enable-wddx --enable-soap --with-apxs2=/usr/local/apache2.4/bin/apxs
[root@promote php-7.3.4]# make && make install
#复制配置文件
[root@promote php-7.3.4]# cp php.ini-production /usr/local/php7.3/etc/php.ini
[root@promote php-7.3.4]# ls /usr/local/php7.3/etc/
pear.conf  php-fpm.conf.default  php-fpm.d  php.ini
[root@promote php-7.3.4]# vim /usr/local/php7.3/etc/php.ini
[root@promote php-7.3.4]# /etc/init.d/httpd -k restart
[root@promote ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7372/dnsmasq
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6979/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      6981/cupsd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7307/master
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      8900/sshd: root@pts
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::80                   :::*                    LISTEN      24953/httpd
tcp6       0      0 :::22                   :::*                    LISTEN      6979/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      6981/cupsd
tcp6       0      0 ::1:25                  :::*                    LISTEN      7307/master
tcp6       0      0 ::1:6010                :::*                    LISTEN      8900/sshd: root@pts
[root@promote php-7.3.4]# cd
[root@promote ~]# cd /usr/local/apache2.4/htdocs/
[root@promote htdocs]# cd /usr/local/apache2.4/htdocs/
#查看phpinfo.php文件内容
[root@promote php-7.3.4]# vim /usr/local/apache2.4/htdocs/phpinfo.php
[root@promote php-7.3.4]# cat /usr/local/apache2.4/htdocs/phpinfo.php
<?php
phpinfo();
?>
[root@promote php-7.3.4]#

PHP安装完成,重启Apache服务。

[root@promote ~]# cd
[root@promote ~]# /usr/local/apache2.4/bin/apachectl restart

浏览器地址栏输入http://192.168.126.131/phpinfo.php

CentOS 7 源代码安装 Apache2.4 和 PHP7.3-LMLPHP

PHP官方网站教程https://www.php.net/manual/zh/install.unix.apache2.php

查看配置 Apache 文件。以下是部分代码

[root@promote ~]# cat /usr/local/apache2.4/conf/httpd.conf
#已加载libphp7.so模块
LoadModule php7_module        modules/libphp7.so
04-18 10:16