概述

  • 上一篇文章我们了解了一些关于LAMP的知识,其中还学到了关于MySQL的安装,本文将要讲的是与MySQL类似的MariaDB软件的安装。在构建lamp的时候选择其中一个安装就行了
  • 数据库已经安装好了就该安装httpd了,这里我们用的是Apache软件的2.4版本,这个版本需要我们手动编译安装apr以及apr-util包。

MariaDB安装

准备
  • 先把下载的二进制安装包,放到到指定目录
    因为源网站下载速度太慢,我们这里是windos上下载好 在传到linux中去的
    先从windos上把包传到linux下
# 一般下载的包 都在这里,所以传文件也指定到这里方便我们查找
[root@centos001 src]# cd /usr/local/src/

1.Linux和windows互传文件 安装yum包
###用yum安装一个包 lrzsz

2.从windows传文件到linux

命令rz
# 选项:rz -r适用于异常状态时,如传送出错

3.解压压缩包

tar zxvf 包名
安装步骤
  • 初始化
#进入目录
[root@centos001 ~]# cd /usr/local/src/
[root@centos001 src]# ls
httpd-2.2.34                                  mysql-5.1.73-linux-x86_64-glibc23.tar.gz
httpd-2.2.34.tar.gz                           mysql-5.1.73-linux-x86_64-glibc23.tar.gz.1
mariadb-10.2.6-linux-glibc_214-x86_64         mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
# 把刚才解压好的文件 移动并创建  /usr/local/mariadb目录
[root@centos001 src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb
[root@centos001 src]# ls /usr/local/mariadb
bin                 data               include         mysql-test    share
COPYING             DESTINATION        INSTALL-BINARY  README.md     sql-bench
COPYING.thirdparty  docs               lib             README-wsrep  support-files
CREDITS             EXCEPTIONS-CLIENT  man             scripts
# 进入刚刚创建的目录
[root@centos001 src]# cd /usr/local/mariadb
# 进行初始化
[root@centos001 mariadb]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb
#检查一下 有没有两个ok 或者看看是否生成了新的目录
[root@centos001 mariadb]# ls /data/mariadb/
aria_log.00000001  ib_buffer_pool  ib_logfile0  mysql               test
aria_log_control   ibdata1         ib_logfile1  performance_schema
[root@centos001 mariadb]# ls /data/mysql/
auto.cnf       ibdata1      ib_logfile1  performance_schema
centos001.err  ib_logfile0  mysql        test
  • 拷贝配置文件与启动脚本
[root@centos001 mariadb]# cd /usr/local/mariadb/
## 这有多个配置文件 分别代表不同的大小 我们可以按照我们的需求拷贝
[root@centos001 mariadb]# ls support-files/
binary-configure  my-innodb-heavy-4G.cnf  my-small.cnf         mysql.server  wsrep_notify
magic             my-large.cnf            mysqld_multi.server  policy
my-huge.cnf       my-medium.cnf           mysql-log-rotate     wsrep.cnf
## 根据内存大小不同指定合适的缓存
[root@centos001 mariadb]# vim support-files/my-small.cnf
[root@centos001 mariadb]# free
              total        used        free      shared  buff/cache   available
Mem:        1008152       85576      146780        6876      775796      703000
Swap:       2097148          40     2097108
# 拷贝配置文件 为了于之前做实验的目录区分
[root@centos001 mariadb]# cp support-files/my-small.cnf /usr/local/mariadb/my.cnf
# 拷贝启动脚本
[root@centos001 mariadb]# cp support-files/mysql.server /etc/init.d/mariadb
  • 编辑配置文件与启动脚本
# 编辑启动脚本配置文件
[root@centos001 mariadb]# vim /etc/init.d/mariadb
# 编辑内容
basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=$basedir/my.cnf

mariadb 离线安装yum包 mariadb怎么安装_运维

启动mariadb
  • 在尝试启动MariaDB之前,我们还需要检查下MySQL是否处在开启状态,因为他俩监听的是一个端口,同时开启会冲突的
[root@centos001 mariadb]# systemctl stop mysql
[root@centos001 mariadb]# /etc/init.d/mariadb start
Reloading systemd:                                         [  确定  ]
Starting mariadb (via systemctl):                          [  确定  ]

安装Apache(源码包)

  • 介绍 Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache
    Apache官网www.apache.org
准备
  • 下载必要的源码包
#进入安装包目录
[root@centos001 ~]# cd /usr/local/src/
#下载地址
[root@centos001 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz
[root@centos001 src]# http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz
[root@centos001 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2
#分别解压
[root@centos001 src]# ls
apr-1.6.3               httpd-2.4.29.tar.gz
apr-1.6.3.tar.gz        mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
apr-util-1.6.1.tar.bz2  mysql-5.1.73-linux-x86_64-glibc23.tar.gz
httpd-2.2.34            mysql-5.1.73-linux-x86_64-glibc23.tar.gz.1
httpd-2.2.34.tar.gz     mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
httpd-2.4.29
# 其中有bz2结尾的文件,可以用以下方法解开
tar -xjvf apr-util-1.6.1.tar.bz2
安装
1.先安装apr
[root@centos001 src]# cd apr-1.6.3/
[root@centos001 apr-1.6.3]# ls
apr-config.in  buildconf         dso         libapr.rc     NOTICE         support
apr.dep        build.conf        emacs-mode  LICENSE       NWGNUmakefile  tables
apr.dsp        build-outputs.mk  encoding    locks         passwd         test
apr.dsw        CHANGES           file_io     Makefile.in   poll           threadproc
apr.mak        CMakeLists.txt    helpers     Makefile.win  random         time
apr.pc.in      config.layout     include     memory        README         tools
apr.spec       configure         libapr.dep  misc          README.cmake   user
atomic         configure.in      libapr.dsp  mmap          shmem
build          docs              libapr.mak  network_io    strings
#初始化,指定安装目录及指定已经安装apr的路径
[root@centos001 apr-1.6.3]# ./configure --prefix=/usr/local/apr
#怕出错就检查一下
[root@centos001 apr-1.6.3]# echo $?
0
2.安装apr-util
[root@centos001 src]# cd apr-util-1.6.1
[root@centos001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/

错误1:安装apr-util出错

[root@centos001 apr-util-1.6.1]# make && make install
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
 #include <expat.h>
                   ^
编译中断。
make[1]: *** [xml/apr_xml.lo] 错误 1
make[1]: 离开目录“/usr/local/src/apr-util-1.6.1”
make: *** [all-recursive] 错误 1

解决方法:下载这个包

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

继续安装

#重新执行这个命令
[root@centos001 apr-util-1.6.1]# make && make install
3.安装httpd
[root@centos001 src]# cd httpd-2.4.29/
[root@centos001 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

错误2: 报错内容

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

解决方法:

[root@centos001 httpd-2.4.29]# yum list | grep pcre
pcre.i686                                8.32-17.el7                     @base  
pcre.x86_64                              8.32-17.el7                     @base  
ghc-pcre-light.x86_64                    0.4-13.el7                      epel   
ghc-pcre-light-devel.x86_64              0.4-13.el7                      epel   
mingw32-pcre.noarch                      8.38-1.el7                      epel   
mingw32-pcre-static.noarch               8.38-1.el7                      epel   
mingw64-pcre.noarch                      8.38-1.el7                      epel   
mingw64-pcre-static.noarch               8.38-1.el7                      epel   
pcre-devel.i686                          8.32-17.el7                     base   
pcre-devel.x86_64                        8.32-17.el7                     base   
pcre-static.i686                         8.32-17.el7                     base   
pcre-static.x86_64                       8.32-17.el7                     base   
pcre-tools.x86_64                        8.32-17.el7                     base   
pcre2.i686                               10.23-2.el7                     base   
pcre2.x86_64                             10.23-2.el7                     base   
pcre2-devel.i686                         10.23-2.el7                     base   
pcre2-devel.x86_64                       10.23-2.el7                     base   
pcre2-static.i686                        10.23-2.el7                     base   
pcre2-static.x86_64                      10.23-2.el7                     base   
pcre2-tools.x86_64                       10.23-2.el7                     base   
pcre2-utf16.i686                         10.23-2.el7                     base   
pcre2-utf16.x86_64                       10.23-2.el7                     base   
pcre2-utf32.i686                         10.23-2.el7                     base   
pcre2-utf32.x86_64                       10.23-2.el7                     base   
[root@centos001 httpd-2.4.29]# yum install -y pcre-devel

错误3.编译安装时报错

# 重新配置编译参数
[root@centos001 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
# 输出错误信息
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.29/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.29/support”
make: *** [all-recursive] 错误 1
[root@centos001 httpd-2.4.29]# echo $?
2

解决方法:删除解压后的包,重新解压安装,配置编译参数(安装的时候没有看清版本,一直用的2.2
后面还是报错了,看到别人的解决方法使用后成功了,是先复制的文件
另外:链接是别人博客中的解决方法

在configure后加上 “--with-included-apr”。
再重新编译, make, make install. 即可。
问题又来了,加上--with-included-apr之后,编译,报错如下:
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
错误为:apr,apr-util缺失,需要下载并解压到./srclib/目录下
解决办法:
#cd /usr/local/src/# cp -r apr-1.5.2 /usr/local/src/httpd-2.4.7/srclib/apr
#cp -r apr-util-1.5.4 /usr/local/src/httpd-2.4.7/srclib/apr-util

继续 :解决好上面的问题后 再make && make install 就能成功了

启动
#进入目录下,刚开始就是忘了 所以就没成功
[root@centos001 httpd-2.4.29]# cd /usr/local/apache2.4/
#命令行启动 这里不是报错是警告 如果有需求可以去配置文件里面改
[root@centos001 apache2.4]# /usr/local/apache2.4/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe34:4a63. Set the 'ServerName' directive globally to suppress this message
#查看进程
[root@centos001 apache2.4]# ps aux |grep httpd
root      2323  0.0  0.2  95528  2528 ?        Ss   02:29   0:00 /usr/local/apache2.4/binhttpd -k start
daemon    2324  0.0  0.4 382356  4436 ?        Sl   02:29   0:00 /usr/local/apache2.4/binhttpd -k start
daemon    2325  0.0  0.4 382356  4436 ?        Sl   02:29   0:00 /usr/local/apache2.4/binhttpd -k start
daemon    2326  0.0  0.4 382356  4436 ?        Sl   02:29   0:00 /usr/local/apache2.4/binhttpd -k start
root      2415  0.0  0.0 112676   984 pts/0    S+   02:30   0:00 grep --color=auto httpd
[root@centos001 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      1193/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1314/master         
tcp6       0      0 :::80                   :::*                    LISTEN      2323/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1193/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1314/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      5790/mysqld