HCRM博客

如何从源码在CentOS上构建和安装LAMP环境?

在CentOS系统上编译安装LAMP(Linux, apache, MySQL, PHP)服务架构,可以提供强大的Web开发和部署环境,以下是详细的步骤和说明:

实验环境及注意事项

1、实验环境

如何从源码在CentOS上构建和安装LAMP环境?-图1
(图片来源网络,侵权删除)

操作系统:CentOS 7.6

工具:VMware Workstation 15.5,XShell 6

软件包版本

Apache:apr1.6.2、aprutil1.6.0、httpd2.4.29

MySQL:mysql5.6.26

PHP:php5.6.11

如何从源码在CentOS上构建和安装LAMP环境?-图2
(图片来源网络,侵权删除)

BBS论坛:Discuz_X2.5_SC_UTF8

下载地址:https://wwa.lanzous.com/iosA5fa1w3g

2、注意事项

如果使用与本实验不匹配的包或系统版本进行操作极有可能导致报错或安装失败!

开启Apache服务前一定要关闭防火墙功能!

实验步骤

2.1 安装Apache

如何从源码在CentOS上构建和安装LAMP环境?-图3
(图片来源网络,侵权删除)

1、上传安装包:将所需的三个包apr1.6.2.tar、aprutil1.6.0.tar、httpd2.4.29.tar上传到服务器的/opt目录下。

2、解压缩安装包

  • tar jxvf httpd2.4.29.tar.bz2
  • tar zxvf aprutil1.6.0.tar.gz
  • tar zxvf apr1.6.2.tar.gz

3、移动包到指定目录

  • mv apr1.6.2 httpd2.4.29/srclib/apr
  • mv aprutil1.6.0 httpd2.4.29/srclib/aprutil

4、安装编译环境

  • yum y install
  • gcc
  • gccc++
  • make
  • pcredevel
  • expatdevel
  • perl

5、配置Apache

  • cd httpd2.4.29
  • ./configure
  • prefix=/usr/local/httpd
  • enableso
  • enablerewrite
  • enablecharsetlite
  • enablecgi

6、编译及安装

  • make && make install

7、配置服务管理

  • cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
  • chkconfig add httpd
  • systemctl daemonreload

8、修改配置文件:编辑/etc/init.d/httpd文件,添加以下内容:

  • # chkconfig:35 85 21
  • # description:Apache is a World Wide Web server

9、建立软连接

  • ln s /usr/local/httpd/conf/httpd.conf /etc/https.conf
  • ln s /usr/local/httpd/bin/* /usr/local/bin/

10、测试并启动服务

  • httpd t
  • service httpd start
  • netstat anpt | grep 80

2.2 安装MySQL

1、安装所需依赖

  • yum y install ncursesdevel autoconf cmake

2、创建MySQL用户

  • useradd s /sbin/nologin mysql

3、解压MySQL安装包

  • tar xf mysql5.6.26.tar.gz C /opt/
  • cd /opt/mysql5.6.26

4、配置并编译安装

  • cmake . DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  • DMYSQL_DATADIR=/usr/local/mysql/data
  • DSYSCONFDIR=/etc
  • DDEFAULT_CHARSET=utf8
  • DDEFAULT_COLLATION=utf8_general_ci
  • DWITH_INNOBASE_STORAGE_ENGINE=1
  • DWITH_ARCHIVE_STORAGE_ENGINE=1
  • DWITH_BLACKHOLE_STORAGE_ENGINE=1
  • DWITH_READLINE=1
  • DWITH_SSL=system
  • DWITH_TLS=system
  • DMYSQL_UNIX_ADDRESS=/tmp/mysql.sock
  • DENABLED_LOCAL_INFILE=1
  • DMYSQL_TCP_PORT=3306
  • DENABLED_PARTITION_MERGE_SUPPORT=1
  • DEXTRA_CHARSETS=all
  • DDEFAULT_TIME_ZONE='Asia/Shanghai'
  • DWITH_BOOST=boost
  • make && make install

5、初始化数据库

  • cd /usr/local/mysql
  • bin/mysqld initialize user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data
  • chown R root:root /usr/local/mysql
  • chmod R 755 /usr/local/mysql

6、配置MySQL服务

  • cp supportfiles/mysql.server /etc/init.d/mysqld
  • chkconfig add mysqld
  • systemctl daemonreload
  • service mysqld start

7、安全配置

  • bin/mysql_secure_installation

2.3 安装PHP

1、解压PHP安装包

  • tar xf php5.6.11.tar.gz C /opt/
  • cd /opt/php5.6.11

2、配置并编译安装

  • ./configure
  • prefix=/usr/local/php
  • withconfigfilepath=/usr/local/php/etc
  • withmysqli=mysqlnd
  • withpdomysql=mysqlnd
  • withzlibdir=/usr/local/php
  • withapxs2=/usr/local/httpd/bin/apxs
  • withcurl=/usr/local/php
  • enablembstring=all
  • withopenssl
  • withfreetypedir=/usr/local/php/ext/some_module
  • withjpegdir=/usr/local/php/ext/some_module
  • withpngdir=/usr/local/php/ext/some_module
  • withzlib=/usr/local/php/ext/some_module
  • enablexml
  • enablesockets
  • enablezip
  • enablesoap
  • make && make install

3、配置PHP:编辑php.ini文件,启用相应的扩展模块。

4、重启Apache

  • service httpd restart

FAQs(常见问题解答)

1、问题1:为什么在安装过程中需要关闭防火墙?

解答:关闭防火墙是为了防止防火墙规则阻碍Apache服务的正常运行,特别是在初次安装和配置阶段,如果防火墙没有正确配置,可能会导致外部无法访问Apache服务,建议在安装和初步配置完成后,再根据实际需求开放必要的端口和配置防火墙规则。

2、问题2:如何验证LAMP环境是否搭建成功?

解答:可以通过在浏览器中输入服务器的IP地址,如果出现Apache的默认欢迎页面,说明Apache服务已经成功运行,可以创建一个包含PHP代码的文件(如info.php),内容如下:

  • <?php phpinfo(); ?>

将该文件放置在Apache的web根目录(通常是/var/www/html),然后在浏览器中访问该文件(例如http://your_server_ip/info.php),如果能看到PHP的信息页面,说明PHP也已经成功安装和配置。

通过以上步骤,您应该能够在CentOS系统上成功编译并安装LAMP环境,这个过程虽然较为复杂,但每一步都有其必要性,确保了系统的灵活性和可定制性,希望这篇详细的指南能够帮助您顺利完成LAMP环境的搭建。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/7233.html

分享:
扫描分享到社交APP
上一篇
下一篇