Lamp是开源软件php的最佳环境,下面是搭建apache2+php的日志。
测试机器环境:
VMware Workstation 10 虚拟机
内存:1G
Linux版本:CentOS MinimalCD 7-1804
一、yum安装
1、yum安装
yum install httpd #安装apache2 yum install php –y #安装php systemctl stop firewalld #关闭防火墙,因为这种安装基本无法使用了,所以没有设置开放http systemctl start httpd #启动www服务器
2、测试一下
在www主目录(/etc/httpd2/httpd.conf文件里的DocumentRoot "/var/www/html")下创建一个php文件包含以下内容
<?php
phpinfo();
?>
3、版本Apache/2.4.6 (CentOS) PHP/5.4.16
如果程序是php5.4以下的,yum安装显然是最好的,毕竟是厂方的优化设置。
二、yum安装,由于官方php是5.4,所以使用第三方的yum源
CentOS/RHEL 7.x:
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmCentOS/RHEL 6.x:
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm查询php的版本(5-7版本都有)
yum search php
安装5.6或其它版本
yum install php56w
包含Apache2.4.6
这种安装相对方便,但配置上……
三、yum安装Apache2后在按官方php的方式make安装
1、yum 安装 apache 后,必须安装依赖包 httpd-devel ,否则是不存在文件 apxs 的,而 apxs 的路径在编译 php 时需要配置
~]# yum install httpd -y ~]# yum install httpd-devel -y
2、打开防火墙
~]# firewall-cmd --permanent --add-service http success ~]# firewall-cmd --reload success
3、查看 apsx 所在路径
~]# rpm -ql httpd-devel|grep apxs /usr/bin/apxs /sur/share/man/man1/apxs.1.gz //此行为 grep 结果,不同系统的路径可能不同,以实际结果为准
4、安装必要工具
~]# yum install gcc -y ~]# yum install libxml2-devel -y
5、下载php的包,保存到/usr/src
~]# tar -xf php-5.6.40.tar.gz
6、编译php时,加入 apxs 路径参数,作用是促使生成 libphp5.so
~]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/bin/apxs --with-mysql ~]# make && make install
7、修改apache配置文件,Centos7.4 下的apache2.4的配置文件路径为
~]# vi /etc/httpd/conf/httpd.conf //查看有没有下面这句话,如果没有在LoadModule后面添加: LoadModule php5_module modules/libphp5.so //在DirectoryIndex后面添加: index.php //在AddType application/x-gzip .gz .tgz后面添加: AddType application/x-httpd-php .php //不添加则访问.php文件将会变成下载, .php前面有一个空格
8、启动httpd服务
~]# systemctl start httpd
9、测试一下
在www主目录(/etc/httpd2/httpd.conf文件里的DocumentRoot "/var/www/html")下创建一个php文件包含以下内容
<?php
phpinfo();
?>
四、make安装Apache2+php(推荐)
1、下载必要文件到保存到/usr/src
http://apr.apache.org/ 下载apr、apr-util
https://github.com/libexpat/libexpat/releases 下载expat
tar -xf apr-1.7.0.tar.gz tar -xf apr-util-1.6.1.tar.gz yum -y install bzip2 tar -xvjf expat-2.2.3.tar.bz2 #这个文件是解决util安装时报错用的 tar -xf httpd-2.4.39.tar.gz tar -xf php-5.6.40.tar.gz
Systemd 入门教程
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
2、安装必要工具
yum install gcc -y yum install perl -y yum install libxml2-devel -y yum install pcre-devel -y
3、首先编译apr
cd apr-1.7.0
vi configure
找到RM='$RM'这一行 修改为RM='$RM -f',修改完成后保存。
在命令模式下 /RM='$RM'可以快速找到
./configure --prefix=/usr/local/apr17 make && make install cd ~
4、编译expat,apr-util必要软件
cd expat-2.2.3 ./configure --prefix=/usr/local/expat23 make && make install cd ~
5、编译apr-util
cd apr-util-1.6.1 ./configure --with-apr=/usr/local/apr17/ --with-expat=/usr/local/expat23/ --prefix=/usr/local/apr16-util make && make install cd ~
6、编译httpd
cd httpd-2.4.39 ./configure --prefix=/usr/local/httpd2 --sysconfdir=/etc/httpd2 --with-apr=/usr/local/apr17 --with-apr-util=/usr/local/apr16-util/ #--prefix是apache2安装的位置,--sysconfdir是apache2配置的位置,记牢,下面用 make && make install vi /etc/httpd2/httpd.conf 修改ServerName 127.0.0.1:80
OK Apache安装好了
7、打开防火墙
~]# firewall-cmd --permanent --add-service http success ~]# firewall-cmd --reload success
8、设置为开机自启,配置服务
在/usr/lib/systemd/system/目录下新建一个名为httpd.service的unit文件,其内容为:
[Unit]
Description=apache
[Service]
Type=simple
EnvironmentFile=/etc/httpd2/httpd.conf
ExecStart=/usr/local/httpd2/bin/apachectl -k start -DFOREGROUND
ExecReload=/usr/local/httpd2/bin/apachectl -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
[Install]
WantedBy=multi-user.target
systemctl daemon-reload #重新装载
systemctl start httpd #启动httpd服务
设置开机自动启动httpd服务:
systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
9、编译php
cd php-5.6.40 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd2/bin/apxs --with-mysql make && make install cp php.ini-development /usr/local/lib/php.ini
修改 vi /etc/httpd2/httpd.conf
添加 AddType application/x-httpd-php .php
在/etc/httpd/httpd.conf配置文件里检查LoadModule php5_module modules/libphp5.so 是否已经添加
在/usr/apache2/modules目录中查找libphp5.so文件是否存在
重启Apache /usr/local/httpd2/bin/apachectl -k restart
10、测试一下
在www主目录(/etc/httpd2/httpd.conf文件里的DocumentRoot "/usr/local/httpd2/htdocs")下创建一个php文件包含以下内容
<?php
phpinfo();
?>
OK到此php安装完毕