3.安装配置MySQL,Apache,PHP
3.1安装配置MySQL
3.1.2数据库的介绍(了解即可)
MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。(了解即可)<br /> 我是使用xftp 从windos本地上传安装包,上传安装包至 /opt 目录下。下载地址在上面。<br /> 安装包:mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
//1.查看
//查看虚拟机是几位的
# uname -i
x86_64
//2.解压
//解压MySQL安装包
# tar -zvxf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
//解释在下面也可以省略这句代码
# [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old
//移动到这个目录/usr/local/mysql用于存放一些MySQL的安装信息
# mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql
//3.创建
//创建一个MySQL的用户-s表示指定用户所用的shell,此处为/sbin/nologin,表示不登录。
# useradd -s /sbin/nologin mysql
//4.初始化
//创建一个存放数据的目录
# mkdir -p /data/mysql
//给这个目录更改一个用户组和用户,都设成MySQL。
# chown -R mysql:mysql /data/mysql
//因为后面我们要执行perl脚本所以我们要安装(yum)perl环境
//5.安装
#yum install -y perl-Module-Install
[root@localhost ~]# cd /usr/local/mysql/
// ./scripts/mysql_install_db 这是一个perl脚本可以直接安装MySQL的一个操作,后面是指定了两个参数一个是:--user=mysql另一个: --datadir=/data/mysql user是定义了数据库所属组 datadir定义了数据库的安装路径。
# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
//6.配置
//安装MySQL后自动就会有一份配置文件我们这里进行复制修改
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
//复制好的配置文件进行修改
# vim /etc/my.cnf
# 主要是修改basedir 和datadir
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 50
socket = /tmp/mysql.sock
//6.修改启动脚本
//复制
[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
//修改
[root@localhost mysql]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
# 启动MySQL,设置开机自启、
[root@localhost mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
..... SUCCESS!
//添加服务
[root@localhost mysql]# chkconfig --add mysqld
//启动
[root@localhost mysql]# chkconfig mysqld on
//7.检查
# 查看服务是否启动。 MySQL 3306端口
[root@localhost mysql]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1471/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1990/master
tcp6 0 0 :::3306 :::* LISTEN 4239/mysqld
tcp6 0 0 :::22 :::* LISTEN 1471/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1990/master
vim /etc/my.cnf
(#basedir 设置MySQL安装的目录
#datadir MySQL数据存放的目录
#port mysql的端口号
#server_id 一般是集群的时候需要,一般设置为ip地址最后一位
# socket)
3.2安装Apache
3.2.1介绍Apache(了解即可)
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。(了解即可)
解压
# 解压
[root@localhost ~]# tar -zxvf httpd-2.4.33.tar.gz
[root@localhost ~]# tar -zxvf apr-1.5.1.tar.gz
[root@localhost ~]# tar -zxvf apr-util-1.5.4.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg httpd-2.4.33
apr-1.5.1 httpd-2.4.33.tar.gz
apr-1.5.1.tar.gz mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
apr-util-1.5.4 php-5.6.39.tar.bz2
apr-util-1.5.4.tar.gz
安装
安装顺序 1.apr-1.5.1.tar.gz 2. apr-util-1.5.4.tar.gz 3.httpd-2.4.33.tar.gz 因为在安装 apr-util-1.5.4.tar.gz 和 httpd-2.4.33.tar.gz时候要指定和依赖前面的目录所以要有安装顺序
// 安装apr
//切换目录
# cd apr-1.5.1
//编译安装指定安装目录
# ./configure --prefix=/usr/local/apr
//安装
# make && make install
# 检查编译安装结果是否正确 如果输出是0就代表运行正确。
[root@localhost apr-1.5.1]# echo $?
0
# 安装apr-util
//切换目录
# cd apr-util-1.5.4
//编译安装指定安装目录
#[root@localhost apr-util-1.5.4]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#[root@localhost apr-util-1.5.4]# make && make install
#[root@localhost apr-util-1.5.4]# echo $?
0
# 如果有依赖之类的报错,就安装这些依赖
#[root@localhost apr-util-1.5.4]#yum install -y libtool pcre-devel
#[root@localhost apr-util-1.5.4]# cd ../httpd-2.4.33
// \ 这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
//下面解释
#[root@localhost httpd-2.4.33]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
#[root@localhost httpd-2.4.33]# make && make install
//查看
# 查看加载了哪些模块
[root@localhost httpd-2.4.33]# /usr/local/apache2.4/bin/httpd -M
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_event_module (static)
authn_file_module (shared)
authn_core_module (shared)
authz_host_module (shared)
authz_groupfile_module (shared)
authz_user_module (shared)
authz_core_module (shared)
access_compat_module (shared)
auth_basic_module (shared)
reqtimeout_module (shared)
filter_module (shared)
mime_module (shared)
log_config_module (shared)
env_module (shared)
headers_module (shared)
setenvif_module (shared)
version_module (shared)
unixd_module (shared)
status_module (shared)
autoindex_module (shared)
dir_module (shared)
alias_module (shared)
3.3安装PHP
3.3.1介绍PHP(了解即可)
PHP(PHP: Hypertext Preprocessor)即“[超文本](https://baike.baidu.com/item/%E8%B6%85%E6%96%87%E6%9C%AC)[预处理器](https://baike.baidu.com/item/%E9%A2%84%E5%A4%84%E7%90%86%E5%99%A8)”,是在[服务器](https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571)端执行的[脚本语言](https://baike.baidu.com/item/%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80/1379708),尤其适用于[Web](https://baike.baidu.com/item/Web/150564)开发并可嵌入[HTML](https://baike.baidu.com/item/HTML/97049)中。PHP语法学习了[C语言](https://baike.baidu.com/item/C%E8%AF%AD%E8%A8%80/105958),吸纳[Java](https://baike.baidu.com/item/Java/85979)和[Perl](https://baike.baidu.com/item/Perl/851577)多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的[面向对象](https://baike.baidu.com/item/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/2262089)编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web[网站](https://baike.baidu.com/item/%E7%BD%91%E7%AB%99/155722)。 PHP同时支持面向对象和[面向过程](https://baike.baidu.com/item/%E9%9D%A2%E5%90%91%E8%BF%87%E7%A8%8B/9957246)的开发,使用上非常灵活。(了解即可)
解压:
//解压的类型不一样,所以要下载
[root@localhost ~]# yum install -y bzip2
//解压
[root@localhost ~]# tar jxvf php-5.6.39.tar.bz2
//切换目录
[root@localhost ~]# cd php-5.6.39
//安装依赖
[root@localhost php-5.6.39]# yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel
//编译安装指定安装目录
[root@localhost php-5.6.39]# ./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
//安装
[root@localhost php-5.6.39]# make && make install
//复制
[root@localhost php-5.6.39]# cp php.ini-production /usr/local/php/etc/php.ini
3.4配置httpd支持PHP
3.4.1修改配置内容
[root@localhost php-5.6.39]# vim /usr/local/apache2.4/conf/httpd.conf
//编辑httpd的主配置文件
①、搜索ServerName,把ServerName www.example.com:80前#去掉;
②、<Directory />
AllowOverride none
Require all denied
</Directory>
改成:
<Directory />
AllowOverride none
Require all granted
</Directory> //目的允许所有请求访问
③、搜索AddType application/x-gzip .gz .tgz,
在下面添加一行 AddType application/x-httpd-php .php
④、<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改成:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
3.4.2测试Apache服务
# 显示Syntax OK即可代表配置成功、如果没有显示这个,代表配置错误,继续配置
[root@localhost php-5.6.39]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
# 启动服务
[root@localhost php-5.6.39]# /usr/local/apache2.4/bin/apachectl start
# 有httpd服务占用80即可
[root@localhost php-5.6.39]# netstat -ntlp |grep httpd
tcp6 0 0 :::80 :::* LISTEN 120180/httpd
[root@localhost php-5.6.39]# curl localhost
<html><body><h1>It works!</h1></body></html>
3.4.3测试PHP解析
[root@localhost php-5.6.39]# vim /usr/local/apache2.4/htdocs/1.php
<?php
echo "PHP解析正常"
?>
[root@localhost php-5.6.39]# curl localhost/1.php
PHP解析正常