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

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这个进程文件;
相关文章
|
2天前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
25 1
Linux云服务器如何搭建LNMP环境
|
2月前
|
Ubuntu Linux Shell
(已解决)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
669 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
2月前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
3月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
140 4
|
3月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
285 3
|
分布式计算 资源调度 Hadoop
|
应用服务中间件 Linux nginx
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
1325 0
|
9月前
|
缓存 Linux 编译器
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源以提高包下载速度。
2116 0
|
9月前
|
Linux 网络安全
Linux(CentOS6.5)开放端口,配置防火墙
Linux(CentOS6.5)开放端口,配置防火墙
177 0