11.6 安装MariaDB

      MariaDB是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,并且可以很方便的称为MySQL的替代,MariaDB的诞生正是出自MySQL创始人Michael Widenius之手,命名的来源是他女儿的名字Maria,因为之前他把MySQL卖给sun公司,而sun又被oracle收购,所以MySQL也属于oracle所有,因此存在闭源的风险;而Michael Widenius开发的MariaDB作为MySQL的开源分支,很好的避免的这个潜在的问题,所以MariaDB成为了MySQL未来的替代,很多厂商也越来越关注MariaDB,并且MariaDB在很多方面的性能也要强过MySQL,像目前Windows桌面的php集成开发环境比如xampp还有linux和lnmp环境都采用MariaDB作为默认的数据库,所以从MySQL转向MariaDB也是一种趋势

        因为MariaDB的二进制包镜像源在国外地址,所以预先下载了该包到本地物理机,使用lrzsz工具将该包上传至虚拟机/usr/local/src目录进行安装。

#安装lrzsz工具
[root@yunlinux ~]# yum install -y lrzsz

#上传至虚拟机
[root@yunlinux ~]# cd /usr/local/src
[root@yunlinux src]# ls
mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
[root@yunlinux src]# rz

[root@yunlinux src]# ls
mariadb-10.2.11-linux-x86_64.tar.gz
mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

  • 也可以通过下面的镜像下载

wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz

  • 解压压缩包

[root@yunlinux src]# tar zxvf mariadb-10.2.11-linux-x86_64.tar.gz

  • 移动并重命名

[root@yunlinux src]# ls
mariadb-10.2.11-linux-x86_64         mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
mariadb-10.2.11-linux-x86_64.tar.gz
[root@yunlinux src]# mv mariadb-10.2.11-linux-x86_64 /usr/local/mariadb
  • 进入到 /usr/local/mariadb目录下

[root@yunlinux src]# cd ../mariadb
[root@yunlinux mariadb]# ls
bin                 data               lib         README-wsrep  support-files
COPYING             EXCEPTIONS-CLIENT  man         scripts
COPYING.thirdparty  include            mysql-test  share
CREDITS             INSTALL-BINARY     README.md   sql-bench
  • 初始化

[root@yunlinux mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb

确认是否初始化成功可以看输出信息是否有OK 或者 echo $?

安装MariaDB和Apache_第1张图片

blob.png

  • 配置mariadb

#拷贝配置文件,在support-files目录下有多个.cnf 的配置文件,可以根据当前服务器的配置来选择相应的配置文件,已达到最优的性能。
[root@yunlinux mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf

#编辑配置文件

#vi /usr/local/mariadb/my.cnf //定义basedir和datadir
在[mysqld]下面加个 datadir = /data/mariadb
目的是在启动后的进程信息中 datadir=/data/mariadb

#拷贝配置文件
[root@yunlinux mariadb]# cp support-files/mysql.server /etc/init.d/mariadb

#定义basedir、datadir、conf以及启动参数
#修改启动脚本
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf //自定义参数,用来指定配置文件所在路径
定义了之后,需要在后面的启动脚本定义一下
--defaults-file="$conf"

blob.png

安装MariaDB和Apache_第2张图片

再启动之前需要查看一下有没有mysql服务是启动的,避免有冲突

#查看有没有启动mysql
[root@yunlinux mariadb]# ps aux |grep mysql
root 1726 0.0 0.0 112676 980 pts/0 R+ 14:54 0:00 grep --color=auto mysql
#如果启动了可以 service mysqld stop 命令停止

#启动mariadb
[root@yunlinux mariadb]# /etc/init.d/mariadb start

#判断是否启动成功

安装MariaDB和Apache_第3张图片

查看端口
[root@yunlinux mariadb]# netstat -ltnp
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      1061/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1303/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1061/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1303/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1876/mysqld

:如果系统中只安装mysql或mariadb其中的一种,可以直接把启动脚本放在/etc/目录下面设置开机启动。


11.7-11.9 安装Apache

介绍

    Apache是一个基金会的名字,httpd才是我们要安装的软件包,早起它的名字就叫apache。Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补。因此总合来说,其安全性还是相当高的。)。被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。官网http://www.apache.org

下载所需要的包 

  1. httpd-2.4.28

  2. apr-1.6.3

  3. apr-util-1.6.1

yum安装依赖的软件包:

  1. gcc

  2. expat-devel

  3. pcre-devel

  • apr和apr-uitl是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)

进入src目录下
[root@yunlinux ~]# cd /usr/local/src

下载安装包
[root@yunlinux src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.28.tar.gz
[root@yunlinux src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
[root@yunlinux src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz

[root@yunlinux src]# ls
apr-1.6.3.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.28.tar.gz

解压包


[root@yunlinux src]# tar zxvf httpd-2.4.28.tar.gz 
[root@yunlinux src]# tar zxvf apr-1.6.3.tar.gz 
[root@yunlinux src]# tar zxvf apr-util-1.6.1.tar.gz

blob.png


安装apr-1.6.3包 

#安装apr-1.6.3.tar.gz
[root@yunlinux src]# cd apr-1.6.3/  进入到apr-1.6.3目录下
[root@yunlinux apr-1.6.3]# ./configure --prefix=/usr/local/apr  执行安装命令

echo

报错:

configure: error: in `/usr/local/src/apr-1.6.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

翻译:

配置:错误:在“/ usr /local/ src / apr-1.6.3”:

配置:错误:在$ PATH中没有找到可接受的C编译器

看到的配置。日志的更多细节

解决办法:

安装gcc编译器

[root@yunlinux apr-1.6.3]# yum install -y gcc

[root@yunlinux apr-1.6.3]# ./configure --prefix=/usr/local/apr
[root@yunlinux apr-1.6.3]# echo $?
0  
#配置成功!

编译和安装

[root@yunlinux apr-1.6.3]# make && make install
[root@yunlinux apr-1.6.3]# ls /usr/local/apr/
bin  build-1  include  lib

安装apr-util包

[root@yunlinux apr-1.6.3]# cd ../apr-util-1.6.1
[root@yunlinux apr-util-1.6.1]#

[root@yunlinux apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@yunlinux apr-util-1.6.1]# make && make install

报错:

blob.png

解决办法:

[root@yunlinux apr-util-1.6.1]# yum -y install expat-devel

[root@yunlinux apr-util-1.6.1]# make && make install
[root@yunlinux apr-util-1.6.1]# echo $?
0

#生成了一个目录
[root@yunlinux apr-util-1.6.1]# ls /usr/local/apr-util/
bin  include  lib

完成!

安装httpd-2.4.28版本

[root@yunlinux httpd-2.4.28]# cd ../httpd-2.4.28/
  • ./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@taoyun httpd-2.4.28]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most

执行上述命令

报错:

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

翻译:

配置:错误:没有找到libpcre的pcre-config。PCRE是必需的,可从http://pcre.org/获得

解决办法:

#搜索相关的包 pcre
[root@yunlinux httpd-2.4.29]# yum list |grep pcre

#安装pcre-devel包
[root@yunlinux httpd-2.4.29]# yum -y install pcre-devel

#重新执行
[root@yunlinux httpd-2.4.29]# ./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@yunlinux httpd-2.4.29]# echo $?
0
  • make && make install

编译和安装
[root@yunlinux httpd-2.4.28]# make

报错:

/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/httpd-2.4.26/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/httpd-2.4.26/support'
make: *** [all-recursive] Error 1

如果make编译的时候出现上述报错,可以把apr-util解压出来的的源码包删掉,然后在重新解压,并重新把apr-util编译安装一遍。

[root@yunlinux httpd-2.4.28]# echo $?  检验命令未出错
0

[root@yunlinux httpd-2.4.28]# make install
[root@yunlinux httpd-2.4.28]# echo $?
0
#进入到apache2.4目录下
[root@yunlinux apache2.4]# ls
bin    cgi-bin  error   icons    logs  manual
build  conf     htdocs  include  man   modules

目录说明:

bin:可执行文件(命令 在bin/httpd是核心文件)

conf:配置文件所在的目录(常用到的配置文件 httpd.conf)

htdocs:存放访问页(当搭建成功后,默认的访问页面文件将存放在这个目录下)

logs:日志相关的目录

man1、man8:帮助文档

modules:存放模块的目录(每个模块都代表着一个功能)

  • 启动apache

#执行启动命令
[root@yunlinux apache2.4]# /usr/local/apache2.4/bin/apachectl start

#查看是否启动
[root@yunlinux apache2.4]# ps aux |grep httpd
root      42710  0.0  0.2  95468  2612 ?        Ss   20:40   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    42711  0.0  0.4 382296  4456 ?        Sl   20:40   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    42712  0.0  0.4 382296  4456 ?        Sl   20:40   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    42713  0.0  0.4 382296  4456 ?        Sl   20:40   0:00 /usr/local/apache2.4/bin/httpd -k start
root      42800  0.0  0.0 112676   984 pts/0    R+   20:41   0:00 grep --color=auto httpd

#查看端口号
[root@yunlinux apache2.4]# netstat -lntp
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      948/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1030/master         
tcp6       0      0 :::80                   :::*                    LISTEN      42710/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      948/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1030/master
  • 查看加载的模块

[root@yunlinux apache2.4]# /usr/local/apache2.4/bin/httpd -M   
#或者用 apachectl -M  apachectl是一个shell文件,调用bin/httpd 可执行文件