ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

LAMP源码安装配置实战

2022-01-15 12:04:46  阅读:167  来源: 互联网

标签:实战 apr MySQL LAMP 源码 usr mysql Apache local


今天继续给大家介绍Linux运维相关知识,本文主要内容是LAMP源码部署实战。
阅读本文,您需要对Linux源码安装有一定的了解,如果您对此还存在困惑,欢迎查阅我博客内的其他文章,相信您一定会有所收获!
LAMP源码安装原理
Linux 源码包软件安装操作与实战

一、LAMP安装准备

在进行LAMP架构部署之前,我们首先要准备一台干净的系统,该系统应该未安装过Apache、MySQL等软件同时,还应该安装好以下几个工具:

yum install -y gcc gcc-c++ openssl-devel cmake ncurses-devel libxml2-devel

其次,我们要上传LAMP的相关源码包,除了Apache、MySQL、PHP三个源码包外,我们还需要准备好三个依赖包,分别是Apache的依赖包——apr、apr-utils和pcre。在本实验中,上述安装包的版本分别是:
apr:1.5.2
apr-utils:1.5.4
apache:2.4.16
mysql:5.6.26
pcre:8.37
php:5.6.13
上述源码包需要全部上传到设备上,如下所示:
在这里插入图片描述
上述源码包的下载网页为:
apr、apr-utils:http://apr.apache.org/
apache:http://httpd.apache.org/
mysql:http://dev.mysql.com/downloads/mysql/
pcre:http://pcre.org/
php:http://php.net/downloads.php
注:如果链接失效,可以在百度直接搜索官网,然后再官网下载即可。

二、Apache源码安装

(一)apr和apr-utils依赖包安装

在进行Apache的源码安装部署前,我们需要首先安装Apache的依赖包——apr、apr-utils和pcre。
由于是源码安装部署,因此apr、apt-utils和pcre必须要经过预编译、编译和安装三个阶段,apr的预编译需要进入到解压后的源码包目录下,执行命令:

./configure --prefix=/usr/local/apr

在这里,–prefix参数指明了apr的安装目录,在本实验中,所有的软件包都会安装到/usr/local/目录下的同名目录中。使用echo $?,如果返回为0,则表示预编译成功!(只有完成预编译后才可以进行下步操作,在后面的检验效果与此相同,就不在每次检测时进行赘述了)在预编译成功后,可以执行命令:

make -j 4&& make install

其中make为编译,make install为安装,-j 4表示同时启用4个进程执行编译操作,会加快编译进入,后面的编译和安装的命令也大致如此。一般情况下,只要预编译成功,那么编译和安装也不会有太大的问题。
apr-utils的预编译也需要进入到解压后的源码包目录下,执行命令:

./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr

在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。
pcre的预编译也需要进入到解压后的源码包目录下,执行命令:

./configure --prefix=/usr/local/pcre 

在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(二)apache源码安装

在完成Apache的依赖包安装后,我们即可进行apache的源码安装了。与Apache的依赖安装过程不同,apache的预编译过程需要有很多的命令:

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-utils --with-pcre=/usr/local/pcre --enable-so --enable-ssl --enable-rewrite --enable-mpms-shared=all --enable-modules=most

上述各参数的作用为:
–with-apr、–with-apr-util、–with-pcre:指定Apache的依赖apr、apr-util和pcre的安装位置,
–prefix:指定apache的安装位置
–enable-so、–enable-ssl、–enable-mpms-all、–enable-rewrite、–enable-modules=most表示安装apache不同的模块。
在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(三)配置apache启动脚本

由于我们是采用源码的方式安装的Apache,因此我们虽然已经安装好了apache,但是其启动命令在/usr/local/httpd/bin/目录下,启动命令为httpd,我们接下来需要配置apache的启动脚本。首先,打开/usr/local/httpd/bin/apachectl,在第二行插入以下内容:

# chkconfig 2345 64 36

choconfig用于配置apache的开启自启顺序,2345是指当开机以2、3、4、5级别时自启动,64是指apache在网卡启动后进行启动,36是指在网卡关闭后进行关闭。当然,如果不想配置Apache的开机自启,可以不配置上述内容。
修改后的配置文件如下所示:
在这里插入图片描述
然后,我们把Apache的该配置文件复制到/etc/init.d下,并重命名为httpd,这样,我们就可以执行命令:

systemctl start httpd

或者是:

/etc/init.d/httpd start

来开启Apache服务了。

(四)配置Apache启动用户

此外,虽然我们此时已经可以启动Apache了,但是此时Apache的启动是以daemon用户的身份来启动的,源码安装apache不会自动创建apache用户,因此,我们还需要为Apache创建启动用户。
执行命令:

useradd -M -s /sbin/nologin apache

可以创建Apache的启动用户,然后打开Apache的主配置文件:/usr/local/httpd/conf/httpd.conf,找到其中的User和Group参数,将默认的daemon用户改为apache,这样,当我们再次启动Apache时,就会以刚刚我们创建的apache用户来运行了。

三、MySQL源码安装

(一)安装MySQL

在进行MySQL的源码安装之前,我们需要首先创建运行MySQL的用户,执行命令:

useradd -M -s /sbin/nologin mysql

与Apache不同,MySQL采用的cmake的编译和安装方式,其预编译命令如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL-USER=mysql

上述参数作用如下:
1、DCMAKE_INSTALL_PREFIX用于指定MySQL的安装目录。
2、DDEFAULT_CHARSET用于指定默认字符集。
3、DMYSQL_UNIX_ADDR用于指定服务器与本地客户端进行通信的Unix套接字文件。
4、DDEFAULT_COLLATION用于指定默认的字符校对集。
5、DWITH_EXTRA_CHARSETS用于指定MySQL支持所有字符集。
6、DWITH_MYISAM_STORAGE_ENGINE用于指定MySQL支持MyISAM引擎。
7、DWITH_INNOBASE_STORAGE_ENGINE用于指定MySQL支持InnoDB引擎。
8、DWITH_MEMORY_STORAGE_ENGINE用于指定MySQL支持Memory引擎。
9、DWITH_READLINE用于指定MySQL支持ReadLine库。
10、DENABLED_LOCAL_INFILE用于指定MySQL允许倒入本地数据,启用本地加载数据。
11、DMYSQL_DATADIR用于指定MySQL数据库的安放路径。
12、DMYSQL-USER用于指定运行MySQL的用户。
MySQL的常见参数还有很多,如果想要了解更多参数的使用详情,可以参考以下网站:
https://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
该网站如下:
在这里插入图片描述
在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(二)配置和初始化MySQL

在安装完毕MySQL后,我们还需要对MySQL进行配置。
首先,修改MySQL的配置文件属主和属组,执行命令:

chown -R mysql.mysql /usr/local/mysql

其次,修改MySQL主配置文件,打开/usr/local/mysql/support-files/my-default.cnf,找打其中的basedir和datadir选项,修改为我们的MySQL设置和安装路径,如下:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

然后,复制MySQL的配置文件和启动脚本,执行命令:

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 

最后,初始化MySQL数据库并进行安全设置,执行命令:

 /usr/locl/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
/usr/local/mysql/bin/mysql_secure_installation

这样,MySQL就安装完毕了。

四、PHP源码安装

(一)安装PHP

在完成上述操作后,我们就可以源码安装PHP了,进入到PHP的安装目录后,执行命令:

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/php

即可进行PHP的源码安装预编译了。
在预编译命令中,–prefix参数用于指定PHP的安装目录,–with-mysql用于指定MySQL的安装目录,–with-apxs2用于指定Apache的apx模块,将PHP编译为Apache的一个模块,–with-config-file-path用于指定PHP的主配置文件php.ini的安装目录。
在成功进行预编译后,还是执行命令:

make -j 4&& make install

以完成编译和安装操作。

(二)配置Apache支持PHP

接下来,我们还需要配置Apache支持PHP文件的解析,打开Apache的主配置文件,/usr/local/httpd/conf/httpd.conf,找到AddType字段,大概在381行左右,如下所示:
在这里插入图片描述
在该字段下面添加如下内容:

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

添加时,要注意点前面的空格。
添加完成后,配置文件如下所示:
在这里插入图片描述
这样,Apache就可以支持PHP模块了。

五、安装验证

最后,我们来验证一下刚才安装的结果,在我们刚刚配置的LAMP架构下,安装wordpress,并检验安装效果。worpress是一款免费的个人博客软件,可以直接在官网下载到,我采用的版本是4.8。下载该软件后,上传到设备中,并进行解压。
将解压后的内容复制到Apache的网站目录下,并访问该网站,结果如下所示:
在这里插入图片描述
点击Let’s go!配置MySQL数据的相关信息,如下所示:
在这里插入图片描述
此时,我们需要登录MySQL数据库,建立wordpress数据库,并按照我们的配置进行授权,命令如下:

create database wordpress;
grant all on wordpress.* to 'username'@'localhost' identified by 'password';

之后按照提示一直进行配置,配置wordpress的用户名、密码和标题信息,如下所示:
在这里插入图片描述
完成配置后,最终登录页面如下:
在这里插入图片描述
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

标签:实战,apr,MySQL,LAMP,源码,usr,mysql,Apache,local
来源: https://blog.csdn.net/weixin_40228200/article/details/122502236

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有