1.安装MySQL
1.1下载安装包
第一种方法:使用xftp从Windos本地上传。
第二种方法:使用wget命令从网络上下载。
附带MySQL源码包地址:http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
如果地址失效到 (https://aminglinux.coding.net/public/resource/resource/git/files)寻找源码包。
1.2初始化
初始化过程如下:
tar zxf mysql-5.6.35-linux-glibc2.5-x8664.targz //解压
[-d /usr/local/mysql ] 88 mv /usr/local/mysql /usr/local/mysql old
mv mysql-5.6.35-linux-glibc2.5-x8664 /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/mysqlinstall db --user=mysql --datadir=/data/mysql
如果/usr/local/mysql目录已经存在,就要把它改一下名字,以免影响后面的操作,因为如果/usr/local/mysgl目录存在,你后面的步骤就会失败。最后一条命令中,--user表示定义数据库的以哪个用户的身份在运行,--datadir表示定义数据库的安装目录(建议放到大空间的分区上)。
如果有个错误信息“FATAL ERROR: please install the following Perl modules beforeexecuting./scripts/mysqlinstall db:Data:Dumper”,这是因为缺少包perl-Module-Install,使用命令yuminstall-y perl-Module-Install安装它。
安装后再重新执行最后一条命令,这一步很关键。
1.3配置MySQL
#cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf //询问时按y键
#yum install -y vim gcc net-tools tree //安装常用工具命令
#vim /etc/my.cnf //打开配置文件
basedir=/usr/local/mysql //MySQL安装的目录
datadir=/data/mysql //数据存放目录
port=3306 //端口号
server_id=50 //服务ID(你的ip最后一位)
socket=/tmp/mysql.sock //接口
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld //复制启动脚本到/etc/init/mysqld
# vim /etc/init.d/mysqld //启动脚本
basedir=/usr/local/mysql
datadir=/data/mysql
# chkconfig --add mysqld
# chkconfig mysqld on //开机启动
#service mysqld start //启动服务
#netstat -nlp|grep 3306 //看看有没有监听3306端口
2配置Apache
2.1下载安装包
#cd /usr/local/src/
#wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.39.tar.gz
#wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.5.tar.gz
#wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
2.2解压源码包
# tar -zxvf httpd-2.4.33.tar.gz
# tar -zxvf apr-1.5.1.tar.gz
# tar -zxvf apr-util-1.5.4.tar.gz
2.3安装apr与apr-util
# yum install -y expat-devel //安装依赖
# cd apr-1.5.1
# ./configure --prefix=/usr/local/apr
# make && make install //解析与安装
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
# echo $? //显示0,就说明没有错误,如果结果不为0,说明上面的操作有问题
2.4.安装httpd
# cd /usr/local/src/httpd-2.4.33/ (输入httpd后可以按Tab键补全,以防安装版本不同)
# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most //配置编译参数
--prefix指定的是安装目录
--enable-so表示启动DSO
--enable-mods-shared=most表示以共享的方式安装大多数的功能模块
# yum install -y pcre pcre-devel //安装一些库文件
# make && make install //编译和安装
2.5可以查看httpd的目录结构以及modules目录下的模块文件
# ls /usr/local/apache2.4/
# ls /usr/local/apache2.4/modules/
# /usr/local/apache2.4/bin/apachectl -M //查看加载了哪些模块
//静态文件直接和主程序(/usr/local/apache2.4/bin/httpd)绑定在一起
//而动态的模块都是一个个独立存在的文件(modules目录下面的.so文件就是)
3.安装PHP
3.1下载源码包
#cd usr/local/src
#wget http://cn2.php.net/distributions/php-5.6.39.tar.bz2
2.解压源码包
# yum install -y bzip2
# tar jxvf php-5.6.39.tar.gz //解压PHP的安装包
# yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-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
# make && make install //编译和安装(时间会久一点)
# cp php.ini-production /usr/local/php/etc/php.ini // 复制配置文件
4.配置httpd支持PHP
4.1修改配置文件
# vim /usr/local/apache2.4/conf/httpd.conf //httpd的主配置文件
1、搜索ServerName,把ServerName www.example.com:80前#去掉;
2、<Directory />
AllowOverride none
Require all denied
</Directory>
改成:
<Directory />
AllowOverride none
Require all granted
</Directory> //目的允许所有请求访问
3、搜索AddType application/x-gzip .gz .tgz,
在下面添加一行 AddType application/x-httpd-php .php
4、<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改成:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
//保存退出
5.测试LAMP是否成功
5.1测试配置文件是否正确
显示Syntax OK即可代表配置成功、如果没有显示这个,代表配置错误,继续配置
# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
# /usr/local/apache2.4/bin/apachectl start
#netstat -ntlp |grep httpd //启动httpd 有httpd服务占用80即可
tcp6 0 0 :::80 :::* LISTEN 120180/httpd
# curl localhost //用curl命令测试
<html><body><h1>It works!</h1></body></html>