0507预习笔记和课堂笔记--LAMP(上)

任务:

11.1 LAMP架构介绍
11.2 MySQL、MariaDB介绍
11.3/11.4/11.5 MySQL安装
11.6 MariaDB安装
11.7/11.8/11.9 Apache安装
11.10/11.11/11.12 安装PHP5
11.13 安装PHP7
11.14/11.15 Apache和PHP结合

扩展
mysql5.5源码编译安装 http://www.aminglinux.com/bbs/thread-1059-1-1.html
mysql5.7二进制包安装(变化较大) http://www.apelearn.com/bbs/thread-10105-1-1.html
apache dso https://yq.aliyun.com/articles/6298
apache apxs https://wizardforcel.gitbooks.io/apache-doc/content/51.html
apache工作模式 http://www.cnblogs.com/fnng/archive/2012/11/20/2779977.html
php中mysql,mysqli,mysqlnd,pdo到底是什么 http://blog.csdn.net/u013785951/article/details/60876816
查看编译参数 http://ask.apelearn.com/question/1295

预习笔记

LAMP架构介绍

LAMP:Linux+Apache(httpd)+Maridb(Mysql)+PHP
习惯上,apache一般是指httpd,当然Apache还有很多的其他软件。Appache是最常用的web服务软件,而MYSQL是比较小型的数据库软件,MySQL存储用户名;密码和数据、图片之类的放在静态文件里。 这两个软件及PHP都可以安装到windows机器上。
Apache和PHP需要安装到同一台机器上,因为PHP是作为Apache的一个模块存在的,两个必须在一起
在这里插入图片描述

MySQL、MariaDB介绍

MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀)
MySQL官网https://www.mysql.com 最新版本5.7GA/8.0DMR
MySQL5.6变化比较大,5.7性能上有很大提升
Mariadb为MySQL的一个分支,官网https://mariadb.com/最新版本10.2
MariaDB主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立.
Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6
Community 社区版本,Enterprise 企业版,GA(Generally Available)指通用版本,在生产环境中用的,DMR(Development Milestone Release)开发里程碑发布版,RC(Release Candidate)发行候选版本,Beta开放测试版本,Alpha内部测试版本

MySQL安装

MySQL的几个常用安装包:rpm、源码、二进制免编译:
二进制免编译包是相当于发布之前就在一台 Linux 服务器进行了编译,编译后将文件整合到了一个目录,然后再将这些目录和文件打包压缩后再发布出来。二进制免编译包有一个好处,就是我们不用花费那么多时间去编译,直接拿过来安装就就可以了。
要下载与操作系统相对应位数的二进制免编译包,查看自己操作系统位数的命令是 uname -a,x86_64的就是 64位,i686、i586 之类的则是 32位,如果这个链接失效可以去 r.aminglinux.com上去找。

1.下载mysql二进制免编译包
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/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

3.将文件移动到指定的位置并改名
mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql

4.查看mysql目录下的文件
在这里插入图片描述

5.创建mysql用户
useradd mysql

6.创建data目录,如果已存在,则不需要创建
mkdir /data

7.mysql初始化
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
在这里插入图片描述
安装per-Data-Dumper,并完成初始化
在这里插入图片描述

8.修改配置文件,将support-files/my-default.cnf复制到/etc下并重命名为my.cnf,或者直接配置/etc/my.conf文件
在这里插入图片描述

9.复制启动文件support-files/mysql.server至/etc/init.d/目录下,并改名为mysqld
cp support-files/mysql.server /etc/init.d/mysqld
定义basedir和datadir
在这里插入图片描述
修改启动文件权限为755
在这里插入图片描述

10.将服务添加到启动列表中,开机启动
在这里插入图片描述

11.启动服务
在这里插入图片描述

12.使用命令启动服务
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql/ &
–defaults-file=/etc/my.cnf 指定启动的配置文件
–user=mysql 指定启动用户
–datadir=/data/mysql/ 指定启动数据存储位置

MariaDB安装

1.下载二进制免编译包
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.23/bintar-linux-glibc_214-x86_64/mariadb-10.2.23-linux-glibc_214-x86_64.tar.gz

2.解包下载下来的包
tar -zxvf mariadb-10.2.23-linux-glibc_214-x86_64.tar.gz

3.将包移动到/usr/local/mariadb
mv mariadb-10.2.23-linux-glibc_214-x86_64 /usr/local/mariadb

4.修改配置文件
在上一步我们已经安装mysql,/etc下已经存放了mysql的配置文件,所以 support-files文件夹下的配置文件复制到 /usr/local/mariadb/my.cnf 下,若未安装mysql,则复制配置文件到 /etc/my.cnf 。
cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
修改此配置文件,在mysqld配置段添加一行配置 datadir = /data/mariadb,如未配置,启动mariadb服务,会自动找到mysql的datadir下。
在这里插入图片描述

5.复制启动脚本
复制 support-files文件夹下mysql.service 到 /etc/init.d/mariadb ,需要修改配置文件中的basedir和datadir,需要添加一行conf =/usr/local/mariadb/my.cnf在这里插入图片描述
在start的位置处加–defaults-file="$conf"
在这里插入图片描述

6.初始化
./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb
在这里插入图片描述

7.启动服务
service mariadb start
在这里插入图片描述

Apache安装

1.下载httpd、apr、apr-util
wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.39.tar.gz
apr、apr-util是通用函数库
wget http://archive.apache.org/dist/apr/apr-1.7.0.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz

2.解压下来的包
tar -zxvf apr-1.7.0.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
tar -zxvf httpd-2.4.39.tar.gz

3.安装apr
cd /usr/local/src/apr-1.7.0
./configure --prefix=/usr/local/apr
在这里插入图片描述
执行 make && make install
在这里插入图片描述

4.安装apr-util
cd /usr/local/src/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
在这里插入图片描述
执行 make && make install
报错提示没有expat.h
在这里插入图片描述
安装yum install -y expat-devel
在这里插入图片描述

5.安装Apache2.4
进入目录cd /usr/local/src/httpd-2.4.39
执行安装
./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
报错,缺少pcre
在这里插入图片描述
搜索对应的包yum list |grep pcre
在这里插入图片描述
安装 yum install -y pcre-devel
再次配置
在这里插入图片描述
执行make
在这里插入图片描述
执行make install
在这里插入图片描述
查看apache的目录
在这里插入图片描述
查看支持的模块
在这里插入图片描述
启动服务
/usr/local/apache2.4/bin/apachectl start
在这里插入图片描述

6.安装PHP5

1.下载源码包
wget http://cn2.php.net/distributions/php-5.6.32.tar.bz2

2.解压文件
tar -xjvf php-5.6.32.tar.bz2

3.进入php-5.6.32 目录下,进行配置
./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-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --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
命令解释
–prefix=/usr/local/php 指定的安装目录;
–with-apxs2=/usr/local/apache2/bin/apxs 该文件是Apache的一个工具,可以将扩展模块添加到Apache的module文件;
–with-config-file-path=/usr/local/php/etc 指定配置文件所在路径;
–with-mysql=/usr/local/mysql 指定mysql的路径;
–with-mysqli=/usr/local/mysql/bin/mysql_config
–with-pdo-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config 上面两项参数是指定相关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 以上参数是指定PHP相关的一些模块(通用)。

报错,缺少xml2-config
在这里插入图片描述
安装yum install libxml2-devel -y后,继续
又报错,缺少OpenSSL’s
在这里插入图片描述
安装yum install -y openssl-devel后,继续
又报错,缺少BZip2
在这里插入图片描述
安装yum install -y bzip2-devel后,继续
报错,缺少jpeglib.h
在这里插入图片描述
安装 yum -y install libjpeg-devel后,继续
报错,缺少 png.h
在这里插入图片描述
安装yum install -y libpng-devel后,继续
报错,缺少freetype-config
在这里插入图片描述
安装yum install -y freetype-devel后,继续
报错,缺少mcrypt.h
在这里插入图片描述
安装yum install -y libmcrypt-devel后,继续
安装完成
在这里插入图片描述
make
在这里插入图片描述
make install
在这里插入图片描述

4.查看php5下有哪些模块:/usr/local/php/bin/php -m
在这里插入图片描述

5.查看httpd的模块,php5已在当中
在这里插入图片描述
php5在httpd的配置文件中vim /usr/local/apache2.4/conf/httpd.conf, 如果不使用,用#号注释掉
在这里插入图片描述
6.php5配置文件
php.ini-production 生产环境用
php.ini-development 开发环境和测试环境下用
在这里插入图片描述
复制php.ini-production到/usr/local/php/etc/php.ini
cp php.ini-production /usr/local/php/etc/php.ini
完成后可以看到,配置文件已被加载
在这里插入图片描述

PHP7安装

1.下载PHP7源码包
wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2

2.解压文件
tar -xjvf php-7.1.6.tar.bz2

3.进入文件目录配置
cd /usr/local/src/php-7.1.6
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --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

4.make
make install

5.查看php7的模块
在这里插入图片描述
查看httpd的模块;此时能看到 php5_module (shared)和 php7_module (shared)
在这里插入图片描述

Apache和php相结合

Apache(httpd)的主配置文件:/usr/local/apache2.4/conf/httpd.conf
启动httpd时会有下图提示,去掉servername前的注释,就不会出现提示
在这里插入图片描述
在这里插入图片描述装了PHP5和PHP7,需要将其中一个注释掉
在这里插入图片描述
如果此时网页还无法访问192.168.190.101,我们需要做如下检查
1.在windows上ping 192.168.190.101 是否通畅;
2.检查端口,先在window启用telnet,只选择客户端;
telnet 192.168.190.101 80
在这里插入图片描述
3.如果不同,增加防火墙规则
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
4.网页访问192.168.190.101
在这里插入图片描述

5.此时可以访问,是因为httpd配置文件中Require all granted,将此改为Require all denied,将无法访问
在这里插入图片描述
/usr/local/apache2.4/bin/apachectl -t ,保存之后使用此命令检查更改配置是否语法错误
在这里插入图片描述
/usr/local/apache2.4//bin/apachectl graceful ,使用命令重新加载配置,不会重启服务。
再次访问网页,提示无法访问
在这里插入图片描述
6.解析PHP
PHP5
在配置文件中增加
AddType application/x-httpd-php .php
在这里插入图片描述
添加 index.php,添加之后会直接跳转到主页
在这里插入图片描述
/usr/local/apache2.4/bin/apachectl -t ,保存之后使用此命令检查更改配置是否语法错误
/usr/local/apache2.4//bin/apachectl graceful ,使用命令重新加载配置

新建一个1.php
vim /usr/local/apache2.4/htdocs/1.php
在这里插入图片描述
在这里插入图片描述

PHP7
vim /usr/local/apache2.4/conf/httpd.conf
修改配置文件注释掉PHP5
在这里插入图片描述
/usr/local/apache2.4/bin/apachectl -t ,保存之后使用此命令检查更改配置是否语法错误
/usr/local/apache2.4//bin/apachectl graceful ,使用命令重新加载配置
在这里插入图片描述
浏览无法解析php时,检查以下原因
1.查看有没有加载php模块;
2.查看没有php模块文件;
3.前面两项有,在httpd.con的配置文件中,有加载模块;
4.之前都有,在httpd.con的配置文件中,有没有此项;
5.在httpd.con的配置文件中,下面加 index.php

课堂笔记

1.mysql5.7版本和之前版本初始化的不同: ./bin/mysqld --initialize --user=mysql --datadir=/data/mysql
mysql5.7版本更改用户密码:update user set authentication_string=password(‘123333’) where user=‘root’;
2.版本常识:http://www.05bk.com/520.html
wget -O - https://downloads.mariadb.com/MariaDB/mariadb_repo_setup |sh

猜你喜欢

转载自blog.csdn.net/weixin_43945846/article/details/89923120