Linux(CentOS7)搭建LAMP服务环境

简介: 本文介绍了在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

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 即可解决;

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

先将支持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是为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库

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

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
    

    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这个进程文件;
相关文章
|
5月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
386 146
|
6月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
504 11
|
8月前
|
Linux 编译器 开发工具
在CentOS环境下升级GCC编译器的指南
总结:本文提供了一种方法来升级CentOS的GCC编译器,通过使用CentOS的软件集合和开发者工具集工具,可以比较平滑地进行升级。在整个过程中无需从源代码编译,这样既省去了复杂的编译过程,也避免了可能出现的与系统库不兼容的风险。请注意,使用第三方仓库可能会带来系统稳定性和安全性上的潜在影响。所有操作都应谨慎进行,并确保有相应的数据备份。
1129 19
|
11月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1389 25
|
9月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
610 0
|
11月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
480 10
CentOS6.5自动化安装LAMP脚本
CentOS6.5自动化安装LAMP脚本
|
关系型数据库 MySQL Linux
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
308 0
|
机器学习/深度学习 关系型数据库 Linux
|
机器学习/深度学习 关系型数据库 Linux