设为首页 收藏本站
查看: 1026|回复: 0

[经验分享] centos7.4编译安装lamp

[复制链接]

尚未签到

发表于 2019-2-17 06:25:42 | 显示全部楼层 |阅读模式
centos7.4编译安装lamp

lamp简介
  Linux+Apache+Mysql/MariaDB+PHP一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。apache相对nginx来说更加稳定,动态页面的处理更加合适。

源码包
  httpd-2.4.33
mariadb-10.2.14
php-7.2.5


基本编译环境构建
  系统版本:CentOS 7.4 x86_64
安装开发包:Development Tools

yum groupinstall Development\ Tools -y
  编译安装mariadb需要cmake ncurses-devel

    yum install cmake -y
yum install ncurses-devel.x86_64 -y

开始编译

编译安装httpd-2.4.33
  这里我们构建MPM为默认模块,这里需要apr和apr-util 1.5以上的版本
因此先到官方网站去下载相应版本

官方网站地址 https://apr.apache.org/
  先编译安装apr,apr-util之后要依赖apr

wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz
tar xvf apr-1.5.1.tar.gz
cd apr-1.5.1/
./configure --prefix=/usr/local/apr
make && make install

  之后编译安装apr-util

wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
tar xvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#with-apr要指明apr的安装目录,apr-util要依赖apr编译
make && make install
  httpd编译依赖的包yum安装即可,这里提前安装以便编译过程一次通过

    yum install pcre-devel.x86_64 -y
yum install openssl-devel.x86_64 -y

  下载并且编译安装httpd

wget http://archive.apache.org/dist/httpd/httpd-2.4.33.tar.gz
tar xvf httpd-2.4.33.tar.gz
cd httpd-2.4.33/
./configure \
--prefix=/usr/local/apache \
--sysconfdir=/etc/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=event
注释:
./configure下的第一行指明编译安装的路径
第二行指明配置文件的路径
第三行支持动态装载卸载模块
第四行支持https通信
第五行支持cgi协议
第六行支持url重写
第七行支持数据压缩
第八行兼容正则表达式
第九行和第十行指明apr和apr-util路径
第十一行 支持大多数模块
第十二行 支持全部的工作模型
第十三行 默认工作模式为event


make && make install


编辑/etc/httpd24/httpd.conf,添加如下行即可:
PidFile  "/var/run/httpd.pid"
添加PATH变量
编辑/etc/profile


    vim /etc/profile
  添加如下字段

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin
  保存之后重读配置文件

source /etc/profile
  启动httpd验证httpd能够正常工作

    apachectl start
curl 127.0.0.1
  显示如下字段证明可以正常工作

到此为止httpd编译基本完成。
如果想要更改运行账号和所属组可以通过修改配置文件的user和group字段为apache

useradd -r -s /sbin/nologin apache
chown -R apache:apache /usr/local/apache

想要启动脚本可以去yum安装的httpd中拷贝一份放到对应目录即可,这里不再赘述。


编译安装mariadb
  获取mariadb的源码包

wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.14/source/mariadb-10.2.14.tar.gz
  解压并且进入目录

tar xvf mariadb-10.2.14.tar.gz
cd mariadb-10.2.14/
  使用cmake进行编译安装

    cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all
# 注:
#第一行是mysql主程序安装目录
#第二行是配置文件目录
#第三行默认字符集为utf8
#第四行默认的字符集效对规则
#第五行安装所有字符集
make && make install

添加mysql用户和组


    useradd -r -M -s /sbin/nologin mysql
chown mysql:root /usr/local/mysql/

  进行一些基本配置


cp support-files/my-large.cnf /etc/my.cnf
#复制配置文件
cp support-files/mysql.server /etc/init.d/mysqld
#复制启动脚本
vim /etc/my.conf datadir = /mydata
#指定数据库路径,不然无法启动mysql 自己定义
innodb_file_per_table = on
#设置后当创建数据库的表的时候表文件都会分离开,方便复制表,不开启创建的表都在一个文件
skip_name_resolve = on
#跳过名称反解,Mysql每次使用客户端链接时都会把ip地址反解成主机名


添加环境变量


    vim /etc/profile
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin:/usr/local/mysql/bin
#添加mysql的目录
source /etc/profile
  初始化数据库

    /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/
#初始化数据库
  启动数据库

    service mysql start

安全初始化,这里会要求设置密码


/usr/local/mysql/bin/mysql_secure_installation

  mysql基本完成

编译安装php
  编译过程中缺少的一些包

    yum install libxml2-devel.x86_64 -y
yum install bzip2-devel.x86_64 -y

  下载php-7.2.5并且解压

    wget http://us1.php.net/distributions/php-7.2.5.tar.bz2
tar xvf php-7.2.5.tar.bz2
cd php-7.2.5/

  编译安装php

    ./configure \
--prefix=/usr/local/php \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml  \
--enable-sockets \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2  \
--enable-maintainer-zts
#这里要注意的是原来的--with-mysql在5.5废弃,在php7开始被移除,之后推荐使用 MySQLi 或 PDO_MySQL 扩展来替换
  官方示例mysqli



make && make install
  配置文件
为php提供配置文件:

     cp php.ini-production /etc/php.ini
  编辑apache配置文件httpd.conf,以apache支持php

vim /etc/httpd/httpd.conf
  1、添加如下二行

    AddType application/x-httpd-php  .php
AddType application/x-httpd-php-source  .phps

2、定位至DirectoryIndex index.html
修改为:


            DirectoryIndex  index.php  index.html

而后重新启动httpd,或让其重新载入配置文件即可测试php是否已经可以正常使用。

  测试页面index.php示例如下:

         
            



重启httpd之后进行验证


apachectl stop
apachectl start


  完结撒花~




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673278-1-1.html 上篇帖子: centos7利用LAMP实现Discuz的搭建 下篇帖子: loganalyzer日志分析工具(CentOS7.4)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表