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.www58058.com/74020

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

相關推薦

  • yum安裝 源碼安裝實例

     yum安裝 源碼安裝實例 §·源碼安裝 http 2.2.29實例 1     1.下載源碼包。 1     2.配置系統需要的編譯環境。 2     3 ./configure ; make  ;…

    Linux干貨 2016-08-24
  • N26-第一周作業

    1.    計算機由以下幾個部分組成:         a. CPU:中央處理器;主要由運算器和控制器組成            …

    Linux干貨 2017-01-07
  • 詳解 /etc/inittab 文件

    當內核初始化后,就會啟動第一個進程 init,init進程會進行一系列的系統初始化工作,init是根據什么來進行初始化的? init 會讀取/etc/inittab文件(針對CentOS 5 系列),執行里面的內容來進行初始化工作,這個文件是一定的格式。 獲取inittab文件的幫助,輸入 man inittab 命令 過濾掉空白行和以#號開始的行,內容如下…

    Linux干貨 2015-03-10
  • 第六周博客作業

                   1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]\+[^[:…

    Linux干貨 2016-12-05
  • Linux批量創建用戶、passwd、shadow、組管理、group、gshadow、默認配置文件login.defs、切換用戶su、提升權限(二)

    Linux批量創建用戶、passwd、shadow、組管理、group、gshadow、默認配置文件login.defs、切換用戶su、提升權限(二) Linux對于權限的管理非常完善,其強大的權限管理機制體現了它的魅力之處,讓無數人為之操碎了心。Linux中的權限既能放也能收,既可以管理整個組的權限,也可以管理單個用戶的權限,正是因為有了ACL的加入變得非…

    Linux干貨 2016-08-06
  • LNMP 增加memcached緩存系統 構建LNMMP

    摘抄百度百科 memcache 的解讀 memcache是一套分布式的高速緩存系統,由LiveJournal的Brad Fitzpatrick開發,但目前被許多網站使用以提升網站的訪問速度,尤其對于一些大型的、需要頻繁訪問數據庫的網站訪問速度提升效果十分顯著[1]  。這是一套開放源代碼軟件,以BSD license授權發布。 MemCa…

    Linux干貨 2016-09-19
欧美性久久久久