3.安装配置MySQL,Apache,PHP

3.1安装配置MySQL

3.1.2数据库的介绍(了解即可)

  1. MySQL 是一款安全、跨平台、高效的,并与 PHPJava 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 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. //1.查看
  2. //查看虚拟机是几位的
  3. # uname -i
  4. x86_64
  5. //2.解压
  6. //解压MySQL安装包
  7. # tar -zvxf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
  8. //解释在下面也可以省略这句代码
  9. # [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old
  10. //移动到这个目录/usr/local/mysql用于存放一些MySQL的安装信息
  11. # mv mysql-5.6.47-linux-glibc2.12-x86_64 /usr/local/mysql
  12. //3.创建
  13. //创建一个MySQL的用户-s表示指定用户所用的shell,此处为/sbin/nologin,表示不登录。
  14. # useradd -s /sbin/nologin mysql
  15. //4.初始化
  16. //创建一个存放数据的目录
  17. # mkdir -p /data/mysql
  18. //给这个目录更改一个用户组和用户,都设成MySQL。
  19. # chown -R mysql:mysql /data/mysql
  20. //因为后面我们要执行perl脚本所以我们要安装(yum)perl环境
  21. //5.安装
  22. #yum install -y perl-Module-Install
  23. [root@localhost ~]# cd /usr/local/mysql/
  24. // ./scripts/mysql_install_db 这是一个perl脚本可以直接安装MySQL的一个操作,后面是指定了两个参数一个是:--user=mysql另一个: --datadir=/data/mysql user是定义了数据库所属组 datadir定义了数据库的安装路径。
  25. # ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
  26. //6.配置
  27. //安装MySQL后自动就会有一份配置文件我们这里进行复制修改
  28. # cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
  29. //复制好的配置文件进行修改
  30. # vim /etc/my.cnf
  31. # 主要是修改basedir 和datadir
  32. basedir = /usr/local/mysql
  33. datadir = /data/mysql
  34. port = 3306
  35. server_id = 50
  36. socket = /tmp/mysql.sock
  37. //6.修改启动脚本
  38. //复制
  39. [root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  40. //修改
  41. [root@localhost mysql]# vim /etc/init.d/mysqld
  42. basedir=/usr/local/mysql
  43. datadir=/data/mysql
  44. # 启动MySQL,设置开机自启、
  45. [root@localhost mysql]# service mysqld start
  46. Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
  47. ..... SUCCESS!
  48. //添加服务
  49. [root@localhost mysql]# chkconfig --add mysqld
  50. //启动
  51. [root@localhost mysql]# chkconfig mysqld on
  52. //7.检查
  53. # 查看服务是否启动。 MySQL 3306端口
  54. [root@localhost mysql]# netstat -ntlp
  55. Active Internet connections (only servers)
  56. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  57. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1471/sshd
  58. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1990/master
  59. tcp6 0 0 :::3306 :::* LISTEN 4239/mysqld
  60. tcp6 0 0 :::22 :::* LISTEN 1471/sshd
  61. 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等解释器编译到服务器中。(了解即可)
解压

  1. # 解压
  2. [root@localhost ~]# tar -zxvf httpd-2.4.33.tar.gz
  3. [root@localhost ~]# tar -zxvf apr-1.5.1.tar.gz
  4. [root@localhost ~]# tar -zxvf apr-util-1.5.4.tar.gz
  5. [root@localhost ~]# ls
  6. anaconda-ks.cfg httpd-2.4.33
  7. apr-1.5.1 httpd-2.4.33.tar.gz
  8. apr-1.5.1.tar.gz mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
  9. apr-util-1.5.4 php-5.6.39.tar.bz2
  10. 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时候要指定和依赖前面的目录所以要有安装顺序

  1. // 安装apr
  2. //切换目录
  3. # cd apr-1.5.1
  4. //编译安装指定安装目录
  5. # ./configure --prefix=/usr/local/apr
  6. //安装
  7. # make && make install
  8. # 检查编译安装结果是否正确 如果输出是0就代表运行正确。
  9. [root@localhost apr-1.5.1]# echo $?
  10. 0
  11. # 安装apr-util
  12. //切换目录
  13. # cd apr-util-1.5.4
  14. //编译安装指定安装目录
  15. #[root@localhost apr-util-1.5.4]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  16. #[root@localhost apr-util-1.5.4]# make && make install
  17. #[root@localhost apr-util-1.5.4]# echo $?
  18. 0
  19. # 如果有依赖之类的报错,就安装这些依赖
  20. #[root@localhost apr-util-1.5.4]#yum install -y libtool pcre-devel
  21. #[root@localhost apr-util-1.5.4]# cd ../httpd-2.4.33
  22. // \ 这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
  23. //下面解释
  24. #[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
  25. #[root@localhost httpd-2.4.33]# make && make install
  26. //查看
  27. # 查看加载了哪些模块
  28. [root@localhost httpd-2.4.33]# /usr/local/apache2.4/bin/httpd -M
  29. 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
  30. Loaded Modules:
  31. core_module (static)
  32. so_module (static)
  33. http_module (static)
  34. mpm_event_module (static)
  35. authn_file_module (shared)
  36. authn_core_module (shared)
  37. authz_host_module (shared)
  38. authz_groupfile_module (shared)
  39. authz_user_module (shared)
  40. authz_core_module (shared)
  41. access_compat_module (shared)
  42. auth_basic_module (shared)
  43. reqtimeout_module (shared)
  44. filter_module (shared)
  45. mime_module (shared)
  46. log_config_module (shared)
  47. env_module (shared)
  48. headers_module (shared)
  49. setenvif_module (shared)
  50. version_module (shared)
  51. unixd_module (shared)
  52. status_module (shared)
  53. autoindex_module (shared)
  54. dir_module (shared)
  55. alias_module (shared)

3.3安装PHP

3.3.1介绍PHP(了解即可)

  1. PHPPHP: 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)的开发,使用上非常灵活。(了解即可)
  1. 解压:
  2. //解压的类型不一样,所以要下载
  3. [root@localhost ~]# yum install -y bzip2
  4. //解压
  5. [root@localhost ~]# tar jxvf php-5.6.39.tar.bz2
  6. //切换目录
  7. [root@localhost ~]# cd php-5.6.39
  8. //安装依赖
  9. [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
  10. //编译安装指定安装目录
  11. [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
  12. //安装
  13. [root@localhost php-5.6.39]# make && make install
  14. //复制
  15. [root@localhost php-5.6.39]# cp php.ini-production /usr/local/php/etc/php.ini

3.4配置httpd支持PHP

3.4.1修改配置内容

  1. [root@localhost php-5.6.39]# vim /usr/local/apache2.4/conf/httpd.conf
  2. //编辑httpd的主配置文件
  3. ①、搜索ServerName,把ServerName www.example.com:80前#去掉;
  4. ②、<Directory />
  5. AllowOverride none
  6. Require all denied
  7. </Directory>
  8. 改成:
  9. <Directory />
  10. AllowOverride none
  11. Require all granted
  12. </Directory> //目的允许所有请求访问
  13. ③、搜索AddType application/x-gzip .gz .tgz
  14. 在下面添加一行 AddType application/x-httpd-php .php
  15. ④、<IfModule dir_module>
  16. DirectoryIndex index.html
  17. </IfModule>
  18. 改成:
  19. <IfModule dir_module>
  20. DirectoryIndex index.html index.php
  21. </IfModule>

3.4.2测试Apache服务

  1. # 显示Syntax OK即可代表配置成功、如果没有显示这个,代表配置错误,继续配置
  2. [root@localhost php-5.6.39]# /usr/local/apache2.4/bin/apachectl -t
  3. Syntax OK
  4. # 启动服务
  5. [root@localhost php-5.6.39]# /usr/local/apache2.4/bin/apachectl start
  6. # 有httpd服务占用80即可
  7. [root@localhost php-5.6.39]# netstat -ntlp |grep httpd
  8. tcp6 0 0 :::80 :::* LISTEN 120180/httpd
  9. [root@localhost php-5.6.39]# curl localhost
  10. <html><body><h1>It works!</h1></body></html>

3.4.3测试PHP解析

  1. [root@localhost php-5.6.39]# vim /usr/local/apache2.4/htdocs/1.php
  2. <?php
  3. echo "PHP解析正常"
  4. ?>
  5. [root@localhost php-5.6.39]# curl localhost/1.php
  6. PHP解析正常