1、下载软件包:
注:软件包默认都下载到/usr/local/src/目录下。
下载源码包:# wget mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
2、初始化:
# tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz //解压
#[ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old //是否存在mysql目录,有的话,修改就mysql目录名称
#mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql //挪动位置
# useradd -s /sbin/nologin mysql //建立MySQL用户,因为启动MySQL需要该用户。
#cd /usr/local/mysql
# mkdir -p /data/mysql //创建datadir,数据库文件会放到这里。
# chown -R mysql:mysql /data/mysql //更改权限。
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user表示定义数据库的以哪个用户的身份在运行,--detadir表示定义数据库的安装目录。
#yum install -y perl-Module-Install //安装perl-Module-Install包
3、配置MySQL:
#cp support-files/my-default.cnf /etc/my.cnf
编辑配置文件,# vim /etc/my.cnf 如下图所示:
basedir是MySQL包所在的路径,datadir是定义存放数据的地方,port定义MySQL服务监听的端口,默认是3306,sever_id定义该MySQL服务的ID号。
# cp support-files/mysql.server /etc/init.d/mysql //复制启动脚本文件。
# chmod 755 /etc/init.d/mysql //修改启动脚本文件的属性
# vim /etc/init.d/mysql //修改脚本文件
# chkconfig --add mysql //把mysql服务加到系统服务列表中。
# chkconfig mysql on //使其开机就启动
# service mysql start //启动服务
如下图所示:
错误分析:
# ./scripts/mysql_install_db
--user=mysql
--basedir=/usr/local/mysql
--datadir=/data/mysql
--pid-file=/datadir=/data/mysql
--pid-file=/data/mysql/mysql.pid
--tmpdir=/tmp //当出现上面的错误时,就是编译出错,打入这行代码。
4、安装Apache:
(1)解压下载好的软件包:
# cd /usr/local/src/
# tar -zxvf apr-1.6.5.tar.gz
# tar -zxvf apr-util-1.6.1.tar.gz
# tar -zxvf httpd-2.4.39.tar.gz //解压下载好的资源包
(2)安装apr、apr-util:
# ./configure --prefix=/usr/local/apr //安装apr
注:如果报错,安装 # yum install -y libtool*工具。
#make && make install //无错进行编译
# ./configure --prefix=/usr/local/apr-util --with-apr=
/usr/local/apr //安装apr-util
注:此时报错安装#yum install -y expat-devel工具
无错继续进行 # make && make install
(3)安装Apache:
#cd /usr/local/src/httpd-2.4.27
# ./configure \ //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \
--enable-mods-shared=most
注:为避免出错提前安装库文件 #yum install -y pcre pcre-devel
# make && make install //编译
当编译时出现以下错误的时候,执行下面的命令:
#cd /usr/local/src
#cp -r apr-1.6.5 httpd-2.4.39/srclib/apr
#cp -r apr-util-1.6.1 httpd-2.4.39/srclib/apr-util
#cd httpd-2.4.39
# ./configure
--prefix=/usr/local/apache2.4
--enable-so
--enable-modules=most
--enable-mpms-shared=all
--with-pcre
--with-included-apr
--with-mpm=prefork
检测:#/usr/local/apache2.4/bin/apachectl -M
share字样为动态共享模块,static字样是以静态形式存在的。
5、安装PHP:
(1)解压资源包:
# cd /usr/local/src
# tar -zxf php-5.6.30.tar.gz
(2)安装和配置:
# yum install -y libxml2-devel
# yum install -y openssl openssl-devel
# yum install -y bzip2 bzip2-devel
# yum install -y libpng libpng-devel
# yum install -y freetype freetype-devel
# yum install -y epel-release
# yum install -y libmcrypt-devel
# yum install -y libjpeg-devel
//提前安装好库文件,防止安装时出错。
编译参数:
#cd php-5.6.30
#./configure \
--prefix=/usr/local/php \ --with-apxs2=/usr/local/apache2.4/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif
注:如若出现configure: error: jpeglib.h not found.字样错误,安装#yum install -y libjpeg-devel 库。
#make && make install //编译安装
#cp php.ini-production /usr/local/php/etc/php.ini //复制配置文件。
(3)检测PHP是否安装成功:
# /usr/local/apache2.4/bin/httpd -M
因为PHP是Apache中的一个模块,所以我们只需要查看配置文件中有没有加载进来PHP的模块,如下图所示:
当然也可以查看/usr/local/apache2.4/modules/下有没有php的.so的文件,如果有就证明安装成了,如下图所示:
4、配置httpd支持PHP:
(1)编辑/usr/local/apache2.4/conf/httpd.conf这个文件
找到ServerName,把ServerName www.example.com:80前面的#删除掉,并改动如下内容,如下图所示:
<Directory />
AllowOverride none
Require all denied
</Directory>
找到AddType application/x-gzip .gz .tgz这一行改成如下图一样:
找到这一段并改成下面这样:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
5、测试LAMP是否成功:
(1)检测配置文件是否正确:
出现Syntax OK就证明配置成功。
启动httpd:
#/usr/local/apache2.4/bin/apachectl start //启动httpd
#netstat -lnp |grep httpd //查看是否启动,出现下面这一行说明就已经启动成功,如下图所示:
(2)测试是否正确解析PHP
编写测试脚本,如下图所示:
测试后出现上图所示,就说明PHP解析正确。
原文:https://www.cnblogs.com/tcq123/p/14059369.html