CA,DNS,LAMP实现wordpress

拓扑图见编译实现LAMP,bind,CA.jpg

CA,DNS,LAMP实现wordpress

test3配置:

    yum -y install bind

    修改named.conf配置文件:

    //      listen-on port 53 { 127.0.0.1; };   //监听IP与端口

    //      allow-query     { localhost; }; //供查询的主机,这里的localhost为只允许查询本机

    dnssec-enable no;   //启动安全的开关

    dnssec-validation no; //安全相关选项

    注释掉根解析的相关配置

    //zone “.” IN {

    //      type hint;

    //      file “named.ca”;

    //};

    修改name.rfc1912.zones

    添加如下内容:

    zone “.” IN {

           type master;

           file “root.zone”;

    };

    写一个解析数据库

    $TTL 1D

    @       IN      SOA     rootdns         rootadmin ( 1 1H 1H 1W 1D )

                   NS      rootdns

    com             NS      comdns.

    rootdns.        A       172.18.35.102

    com.            A       172.18.35.111

    修改named.ca文件:这个文件是寻找根DNS服务器的文件,所有的DNS服务器上的这个文件都修改为以下形式:

    .                        3600000      NS    A.ROOT-SERVERS.NET.

    A.ROOT-SERVERS.NET.      3600000      A     172.18.35.102

    

test5配置:

    安装bind:yum -y install bind

    修改配置文件/etc/named.conf

    //      listen-on port 53 { 127.0.0.1; };

    //      allow-query     { localhost; };

    dnssec-enable no;

    dnssec-validation no;

    配置一个区域:/etc/named.rfc1912.zones

     zone “com” IN {

           type master;

           file “com.zone”;

    };

    配置com区域数据库

    $TTL 1D

    @       IN      SOA     comdns  comadmin ( 1 1H 1H 1W 1D )

                   NS      comdns

    tom             NS      tomdns

    comdns          A       172.18.35.111

    tomdns          A       172.18.35.112

    配置named.ca

    .                       518400  IN      NS      a.root-servers.net.

    a.root-servers.net.     3600000 IN      A       172.18.35.102

    

test6配置;

    安装bind:yum -y install bind

    配置/etc/named.conf文件

    //      listen-on port 53 { 127.0.0.1; };

    //      allow-query     { localhost; };

    dnssec-enable no;

    dnssec-validation no;

    配置一个区域:/etc/named.rfc1912.zones

    zone “tom.com” IN {

           type master;

           file “tom.com.zone”;

    };

    配置一个区域数据库:

    $TTL 1D

    @       IN      SOA     tomdns  tomadmin        ( 1 1H 1H 1W 1D )

                   NS      tomdns

    tomdns          A       172.18.35.112

    webserver       A       172.18.35.100

    www             CNAME   webserver

    修改/var/named/named.ca

    .                       518400  IN      NS      a.root-servers.net.

    a.root-servers.net.     3600000 IN      A       172.18.35.102

test7配置DNS:

    修改配置文件/etc/named.conf

    //      listen-on port 53 { 127.0.0.1; };

    //      allow-query     { localhost; };

    dnssec-enable no;

    dnssec-validation no;

    修改/var/named/named.ca

    .                       518400  IN      NS      a.root-servers.net.

    a.root-servers.net.     3600000 IN      A       172.18.35.102

    以上为DNS配置,关闭防火墙,与SELinux,启动服务即可,如果服务无法启动,检查配置文件与区域文件,可以使用以下命令进行检查

    named-checkconf //检查配置文件

    named-checkzone “tom.com” tom.com.zone   //检查区域文件

test1配置

    下载httpd,apr,apr-util程序

    由于这里编译的apache程序是2.4.25,需要apr1.4与apr-util1.4以上而yum库提供的apr与apr-util为1.39,所以这里需要编译apr与apr-util程序

    解压apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz2,httpd-2.4.25.tar.bz2

    tar xf ….

    编译apr-1.5.0.tar.bz2:

    cd apr-1.5.0

    ./configure –prefix=/usr/local/apr

    出错,提示gcc没有,安装

    yum -y install gcc

    echo $?:如果为0就成功了,如果不为0那就挂了

    -j 4 && make install

    echo $?

    cd ..

    编译apr-util-1.5.3.tar.bz2:

    cd apr-util-1.5.3

    ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

    echo $?

    make -j 4 && make install

    echo $?

    cd ..

    编译httpd-2.4.25.tar.bz2

    ./configure –prefix=/usr/local/httpd –sysconfdir=/etc/httpd –enable-modules=most –enable-mods-shared=most –enable-so –enable-proxy –enable-proxy-fcgi –enable-ssl –enable-cgi –enable-rewrite –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –with-mpm=profork –with-z  –with-libxml2 –with-pcre –enable-cgid

    出错:提示缺少perc-config

     yum provides */pcre-config  //查出这个文件是在pcre-devel包下

    yum -y install pcre-devel

    出错:提示openssl有点旧了

    yum -y install openssl-devel

    出错:提示MPM选项没有叫profork的,回头一看原来是写错了,叫prefork

    echo $?

    make -j 4 && make install

    echo $?

test4配置:

    下载一个mariadb程序

    tar xf mariadb-10.1.22-linux-x86_64.tar.gz -C /usr/local/

    cd /usr/local

    ln -sv mariadb-10.1.22-linux-x86_64 mysql

    useradd -r -M -s /sbin/nologin mysql

    cd mysql/

    chown -R root.mysql ./*

    mv /etc/my.cnf /etc/my.cnf.bak

    mkdir -p /data/mysql

    chown -R mysql.mysql /data

    cp support-files/my-huge.cnf /etc/my.cnf   //具体复制那个文件要看你的内存有多大了,各个文件对应的内存不一样

    cp support-files/mysql.server /etc/init.d/mysqld    //启动脚本文件

    chmod +x /etc/init.d/mysqld //给脚本的小权利

    配置/etc/my.cnf文件

    datadir = /data/mysql   //指定数据库目录

    skip_name_resolve = ON //优化性能

    innodb_file_per_table = ON   //优化性能

    ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql     //数据库初始化

    出错了,说没有libaio.so.1这个玩意

    yum provides */libaio.so.1

    yum -y install libaio-0.3.109

    service mysqld start

    启动成功

    export PATH=$PATH:/usr/local/mysql/bin    //写个命令路径

    mysql -u root     //登陆数据库

    grant all privileges on *.* to test@’%’ identified by ‘test’;  //创建一个用户,并允许在其它主机登陆

    grant all privileges on *.* to test@’localhost’ identified by ‘test’;   //允许在本地登陆

    create database mydata;   //创建一个库

    flush privileges;     //刷新数据库

    \q      //退出数据库

test2配置:

    上传数据库,并解压到/usr/local/下,做一个软链接为mysql指向解压目录

    下载php:

    tar xf php-5.6.4.tar.xz

    cd php-5.6.4

    ./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-mbstring –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-sockets  –with-mcrypt –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-bz2 –enable-maintainer-zts –enable-fpm

    出错了,没有安装gcc

    yum -y install gcc

    出错了,没有找到xml2-config文件

    yum provides */xml2-config

    yum -y install libxml2-devel

    出错了,说,没有打到openssl的<evp.h>

    yum provides */evp.h

    yum -y install openssl-devel

    出错了,说需要重新安装bzip2

    yum -y install bzip2

    出问题了,说有bzip2这个包了,那就装一下bzip2的开发包吧

    yum -y install bzip2-devel

    出错了,说找不到mcrypt.h头文件,看看这个头文件那里有

    yum provides */mcrypt.h

    yum -y install libmcrypt-devel

    echo $?

    make -j 4 && make install

    echo $?

    mv /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

    修改配置文件:/usr/local/php/etc/php-fpm.conf

    listen = 172.18.35.101:9000   //修改监听IP与端口

    

    在test1上搭建nfs服务:

    修改/etc/export文件添加如下内容

    /www/root       172.18.35.101(async,rw)

    yum -y install showmount

    service rpcbind start

    service nfs start

    在test2挂载nfs目录

    yum -y install showmount

    mkdir /www/root -p

    mount -t nfs 172.18.35.100:/www/root /www/root

test7配置CA

    cd /etc/pki/CA/

    openssl genrsa -out private/cakey.pem 2048   //生成CA私钥

    openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3650    //生成自签证书

    touch index.txt serial     //创建必要文件

    echo 01 > serial   //文件中添加编号

在test1上生成CA请求文件

    cd /etc/httpd      //在此目录中生成文件以后配置文件就可以不改了

    openssl genrsa -out server.key 1024     //生成私钥文件

    openssl req -new -key server.key -out server.p    //生成请求文件server.p,将请求文件给CA服务器,名声然后确认并生成证书

    scp server.p 172.18.35.113:/etc/pki/CA/certs/    //发送请求文件给CA服务器

在test7上确认证书

    openssl ca -in certs/server.p -out certs/server.crt -days 365    //确认证书

    scp certs/server.crt 172.18.35.100:/etc/httpd/    //将证书发送给http服务器

配置test1上的https服务:

    修改主配置文件/etc/httpd/httpd.conf

    LoadModule proxy_module modules/mod_proxy.so   //将注释去掉

    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so   //将注释去掉

    LoadModule rewrite_module modules/mod_rewrite.so      //启动URL重写功能

    LoadModule ssl_module modules/mod_ssl.so     //启动ssl功能

    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so    //启动shmcb功能

    <Directory />

       AllowOverride none

       Require all granted    //这个是禁止访问其它所有目录修改为granted后就为允许了

    </Directory>

     <IfModule dir_module>

       DirectoryIndex index.html index.php   //添加可以运行以.php结尾的文件

    </IfModule>

    AddType application/x-http-php .php //添加的行,增加一种应用类型

        AddType application/x-http-php-source .phps   //添加的行,增加一种应用类型

        DocumentRoot “/www/root” 修改网页根目录

        #DocumentRoot “/usr/local/httpd/htdocs”   //注释掉,中心主机不可以与虚拟主机同时启动,这里关闭中心主机

        Include /etc/httpd/extra/httpd-ssl.conf    //去掉注释,启动ssl的配置文件

    配置etc/httpd/extra/httpd-ssl.conf文件:

    <VirtualHost 172.18.35.100:443>    //监听的端口与IP

        DocumentRoot “/www/root/wordpress”   //网页的存放地

        ServerName www.tom.com   //访问https的域名

        #ServerAdmin you@example.com     //管理员邮箱

        ProxyRequests off       //关闭正向解析文件

        ProxyPassMatch ^(.*\.php)$ fcgi://172.18.35.101:9000/www/root/$1     //指定反解方式

         rewriteEngine on   //启动重写功能

        rewritecond %{HTTP_HOST} !^www.tom.com [NC]      //申明client请求的不是以www.tom.com为前缀[NC]为忽略大小写

        rewritecond %{HTTP_HOST} !^$       //申明client请求的不是以空为前缀

        rewriterule ^(.*) https://www.tom.com/ [L]   //如果请求符合上述要求,那么就进行跳转,跳转为https://www.tom.com/;[L]为立即停止重写,并不再使用其它规则

        <Directory “/www/root/wordpress”>

               Options none

               AllowOverride none

               Require all granted

        </Directory>

在test1上进行配置wordpress:

    下载wordpress:

    解压到/www/root/目录下,并给其写权限

将客户端的DNS修改为172.18.35.113,将根证书导入浏览器,访问www.tom.com进行测试

测试成功

原创文章,作者:gaomei,如若转载,请注明出处:http://www.178linux.com/74020

(0)
gaomeigaomei
上一篇 2017-04-23
下一篇 2017-04-23

相关推荐

  • 通配符、正则表达式小计

    基本通配符:    *: 匹配任意长度的任意字符;    ?: 匹配任意的单个字符;    []: 匹配指定范围内的任意单个字符;    [^]: 匹配非指定范围内的任意单个字符;   简单示例:   &nbs…

    Linux干货 2017-03-16
  • Mozart的剑(文本处理工具)——叁剑(grep、正则表达式)

    之前的句子 烟锁池塘柳 炮镇海城楼 因荷而得藕 有杏不需梅 认识于小林寒风的一篇小说《凤山遗梦》 grep grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。模式:由正则表达式字符及文本字符所编写的过滤条件 用法: grep [OPTIO…

    2017-08-03
  • Cobbler实现多系统自动化安装

    Cobbler介绍:  Cobbler能够快速建立多系统同时安装的网络系统安装环境;传统的pxe+dhcp+tftp+kickstart仅能够提供单一系统安装,功能过于简单;如果遇到安装不同操作系统时就遇到瓶颈;而cobbler正好解决了这一问题。Cobbler是增强版的网络系统安装。 Cobbler由不同的组件配合完成系统安装,各组件之间配合如下…

    Linux干货 2015-08-11
  • centos启动流程

    1、centos启动流程 简单流程简介: POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init…

    Linux干货 2016-09-09
  • Linux的命令使用格式

    ◆Linux命令格式:command [options]  [arguments]command:命令options:  –单词   或   -单字如: ls –allequ      ls -als -a -b -cequ&…

    Linux干货 2016-10-31
  • ipvsadm配置命令

    Ipvsadm配置   ipvsadm/ipvs: 集群和集群之上的各RS是分开管理的; 集群定义 RS定义 ipvs:内核基本都自动编译上了 ~]# grep -i -C 10 “ipvs” /boot/config-VERSION-RELEASE.x86_64     支持的协议:…

    Linux干货 2017-05-17