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

相关推荐

  • 初至马哥教育

    linux面授班30期

    2018-03-26
  • Memcached + MSM 实现Tomcat Session保持

    Memcached + MSM 实现Tomcat Session保持 tomcat memcached 前言 Memcached介绍 MSM介绍 实验拓扑 实验环境 实验步骤 安装配置Tomcat 安装配置Nginx负载均衡 安装配置Memcached + MSM 总结 前言 上篇文章我们实现了session sticky和session clus…

    2016-04-22
  • lvs三种基础模型

    1: LVS-DR 模式(调度器与实际服务器都有一块网卡连在同一物理网段上)简要的网络结构如下所示 lvs-DR模型是lvs的默认模型,也是企业中用到的最多的模型    解读:直接路由模型,每个Real Server上都有两个IP:VIP和RIP,但是VIP是隐藏的,就是不能提高解析等功能,只是用来做请求回复的源IP的,Director上…

    Linux干货 2016-08-15
  • 如何在微软云上搭建mysql主从

    大家好: 今天我分享下在生产环境的微软云服务器上如何搭建mysql主从: 环境如下图: 我把cnux06-testing设为Mysql主服务器,暂时没需求的cnux04-web1db2设为Mysql从服务器 1–首先要在master上开启binlog日志功能并使主从库中的 server-id保持不同 操作步骤如下: A: 先查看mysql的主目录…

    Linux干货 2017-02-14
  • rsyslog将日志记录于MySQL中,并用loganalyzer进行分析日志

    1、首先来安装lamp环境的支持,与其相关的软件包      # yum -y install rsyslog-mysql mariadb-server php php-mysql php-gd httpd       说明:rsyslog-mysql在数据库中生成一个库文件,但这个文件需…

    Linux干货 2013-09-03
  • lamp架构实现论坛架构及压力测试

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置四个基于名称的虚拟主机;   (a) discuzX   (b) wordpress   (c) drupal   (d) phpMyAdmin,此虚拟主机仅支持https协议; (2) 对phpMyAdmin首页做压力测试   分别给…

    Linux干货 2016-10-17