Linux(CentOS7)搭建LAMP服务环境

本文涉及的产品
云防火墙,500元 1000GB
简介: 本文介绍了在Linux (CentOS 7) 上搭建LAMP服务环境的详细步骤,包括安装Apache HTTPd、解决编译时依赖问题、配置Apache服务、安装PHP以及处理PHP与Apache集成时遇到的问题。同时,还涉及了防火墙设置和SELinux权限调整,确保Web服务能够正常运行。

1、MySQL高版本5.7及以上安装在CentOS7x64位系统,安装过程在以往笔记里找,这里不再赘述;

2、安装Apache-Httpd,下载地址:http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.23.tar.gz

在编译安装Apache(httpd-2.4.3)时分别出现了apr not found、APR-util not found、pcre-config for libpcre not found的问题,下面就httpd-2.4.3的这些问题解决来实际操作一把。

http://apr.apache.org/download.cgi 下载apr-1.4.5.tar.gz、apr-util-1.3.12.tar.gz

https://sourceforge.net/projects/pcre/files 下载pcre-8.31.zip 或者 pcre2-10.22.tar.gz

1.解决apr not found问题

[root@localhost bin]# tar -zxf apr-1.5.2.tar.gz

[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr

[root@localhost apr-1.5.2]# make && make install

[root@localhost apr-1.5.2]# make install
AI 代码解读

2.解决APR-util not found问题

[root@localhost bin]# tar -zxf apr-util-1.5.4.tar.gz

[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/

[root@localhost apr-util-1.5.4]# make && make install

[root@localhost apr-util-1.5.4]# make install

在安装apr-util时,缺少/opt/apr-util-1.5.4/xml/expat/libexpat.la文件 

在当前目录 执行命令:yum search libexpat 即可解决;
AI 代码解读

3、解决pcre-config for libpcre not found问题

[root@localhost ~]# unzip pcre-8.10.zip 

[root@localhost ~]# cd pcre-8.10 

[root@localhost pcre-8.10]# ./configure --prefix=/usr/local/pcre 

[root@localhost pcre-8.10]# make && make install
AI 代码解读

先将支持Apache-httpd的几个程序安装完,之后在安装Apache【反正安装没坏处】

解压Apache:tar -zxvf Apache-httpd-2.4.24.tar.gz

md5sum httpd-2.4.23.tar.gz

tar zvxf httpd-2.4.23.tar.gz 

./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --enable-modules=all --enable-rewrite  --enable-ssl --with-ssl --enable-cgid --enable-cgi

apr是为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库
AI 代码解读

2.4.23Apche之后的编译版本命令有所不同:

(除了指定Apache的安装目录外,还要安装apr、apr-util、pcre,并指定参数)make && make install

因为httpd默认端口:80,已经给tomcat使用了,所以要去安装目录/usr/local/apache/conf/httpd.conf

vim它,修改它的listener:80,变成8082

启动:/usr/local/apache/bin/apachectl start 报错:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. 

Set the 'ServerName' directive globally to suppress this message

vim httpd.conf 配置文件,增加一行:ServerName  localhost[先配置虚拟机ip]:8081

防火墙开启端口8081,windows可远程访问apachehttpd服务

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

CentOS7防火墙设置:firewall-cmd --zone=public --add-port=8082/tcp --permanent

  防火墙重启: firewall-cmd --reload

•停止Apache:/usr/local/apache/bin/apachectl stop

•重启Apache:/usr/local/apache/bin/apachectl restart

cp /usr/local/apache/bin/apachectl /etc/init.d/httpd #复制服务到服务列表

如果复制没有权限,使用软链接:ln -s /usr/local/apache/bin/apachectl /etc/init.d/httpd

service httpd start / stop restart 启动httpd

chmod 755 /etc/init.d/httpd  

chkconfig --add httpd 报错:service httpd does not support chkconfig

解决办法:打开vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面) 

#description: Activates/Deactivates Apache Web Server
AI 代码解读

3、安装PHP(下载php-5.5-.38.tar.gz)

  • 因为httpd默认端口:80,已经给tomcat使用了,所以要去安装目录/usr/local/apache/conf/httpd.conf
    
    vim它,修改它的listener:80,变成8082
    
    启动:/usr/local/apache/bin/apachectl start 报错:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. 
    
    Set the 'ServerName' directive globally to suppress this message
    
    vim httpd.conf 配置文件,增加一行:ServerName  localhost[先配置虚拟机ip]:8081
    
    防火墙开启端口8081,windows可远程访问apachehttpd服务
    
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    
    CentOS7防火墙设置:firewall-cmd --zone=public --add-port=8082/tcp --permanent
    
      防火墙重启: firewall-cmd --reload
    
    •停止Apache:/usr/local/apache/bin/apachectl stop
    
    •重启Apache:/usr/local/apache/bin/apachectl restart
    
    cp /usr/local/apache/bin/apachectl /etc/init.d/httpd #复制服务到服务列表
    
    如果复制没有权限,使用软链接:ln -s /usr/local/apache/bin/apachectl /etc/init.d/httpd
    
    service httpd start / stop restart 启动httpd
    
    chmod 755 /etc/init.d/httpd  
    
    chkconfig --add httpd 报错:service httpd does not support chkconfig
    
    解决办法:打开vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面) 
    
    #description: Activates/Deactivates Apache Web Server
    
    AI 代码解读

    make: *** [sapi/cli/PHP] 错误 1

#make clean  

#make

<?php>

phpinfo();

<?>

浏览器打开测试test.php,环境不能解析php代码,访问出现源代码;

修改vim /usr/local/apache/conf/httpd/conf

找到AddType内容

#添加[MIME映射](https://www.baidu.com/s?wd=MIME%E6%98%A0%E5%B0%84&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YdmHc4rH6LuWfdPAFbnhnv0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3En1RLnHf1PHcY),让apache把PHP文件当成代码文件来执行

AddType application/x-httpd-php .php .phtml

重启apache--httpd服务就好了

\[so:warn\] \[pid 3020:tid 139963331409728\] AH01574: module php5\_module is already loaded, skipping

apache重装php环境,重复加载php5\_module模块,编辑apache/conf/httpd.conf 删除即可;

(20014)Internal error (specific information not available): AH00058: Error retrieving pid file logs/httpd.pid

要删除apache/logs/httpd.pid这个进程文件;
AI 代码解读
目录
打赏
0
2
2
1
14
分享
相关文章
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
27 1
Linux云服务器如何搭建LNMP环境
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
60 25
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
692 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
157 19
|
2月前
|
Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC
通过以上步骤,可以有效解决 systemd 服务启动失败并报错 `Main process exited, code=exited, status=203/EXEC` 的问题。关键在于仔细检查单元文件配置、验证可执行文件的有效性,并通过日志分析具体错误原因。确保可执行文件路径正确、文件具有执行权限,并且可以独立运行,将有助于快速定位和解决问题。
476 7
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)
该指南介绍了在Linux系统中配置Yum源和安装Python3的步骤。首先,通过`yum install`和`wget`命令更新和备份Yum源,并从阿里云获取CentOS和EPEL的repo文件。接着,清理和更新Yum缓存。然后,下载Python3源代码包,推荐使用阿里云镜像加速。解压后,安装必要的依赖,如gcc。在配置和编译Python3时,可能需要解决缺少C编译器的问题。完成安装后,创建Python3和pip3的软链接,并更新环境变量。最后,验证Python3安装成功,并可选地升级pip和配置pip源以提高包下载速度。
2119 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等