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
#拷贝配置文件,在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"
再启动之前需要查看一下有没有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 #判断是否启动成功
查看端口 [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
下载所需要的包
httpd-2.4.28
apr-1.6.3
apr-util-1.6.1
yum安装依赖的软件包:
gcc
expat-devel
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
安装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
报错:
解决办法:
[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 可执行文件