码迷,mamicode.com
首页 > 其他好文 > 详细

CentOS 7系统之 lamp ( module )详解

时间:2016-06-01 21:28:13      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:wordpress   虚拟主机   阿里云   数据库   start   

    

    安装要求:CentOS 7系统之 lamp ( module )

             (1) 三者分离于两台主机;

            (2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;

           (3) xcache

           (4) 为phpMyAdmin提供https虚拟主机;


    安装环境:

        IP       系统       安装软件
    192.168.1.103      CentOS 7httpd,php ,wordpress,phpMyAdmin
    192.168.1.104      CentOS 7mariadb







开始前下载阿里云的base源到本地。



 1、 192.168.1.104主机配置(数据库的创建 ,授权等)



    [root@localhost yum.repos.d]# yum install mariadb mariadb-server -y

    [root@localhost yum.repos.d]# systemctl start mariadb.service

    [root@localhost ~]# mysql_secure_installation  //设置安全向导,root密码改为mageedu

    


 

    /usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found


    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


    In order to log into MariaDB to secure it, we‘ll need the current

    password for the root user.  If you‘ve just installed MariaDB, and

    you haven‘t set the root password yet, the password will be blank,

    so you should just press enter here.


    Enter current password for root (enter for none): 

    OK, successfully used password, moving on...


    Setting the root password ensures that nobody can log into the MariaDB

    root user without the proper authorisation.


    Set root password? [Y/n] y

    New password: 

    Re-enter new password: 

    Password updated successfully!

    Reloading privilege tables..

     ... Success!



    By default, a MariaDB installation has an anonymous user, allowing anyone

    to log into MariaDB without having to have a user account created for

    them.  This is intended only for testing, and to make the installation

    go a bit smoother.  You should remove them before moving into a

    production environment.


    Remove anonymous users? [Y/n] y

     ... Success!


    Normally, root should only be allowed to connect from ‘localhost‘.  This

    ensures that someone cannot guess at the root password from the network.


    Disallow root login remotely? [Y/n] n

     ... skipping.


    By default, MariaDB comes with a database named ‘test‘ that anyone can

    access.  This is also intended only for testing, and should be removed

    before moving into a production environment.


    Remove test database and access to it? [Y/n] n

     ... skipping.


    Reloading the privilege tables will ensure that all changes made so far

    will take effect immediately.


    Reload privilege tables now? [Y/n] y

     ... Success!


    Cleaning up...


    All done!  If you‘ve completed all of the above steps, your MariaDB

    installation should now be secure.


    Thanks for using MariaDB!






    [root@localhost ~]# mysql -uroot -pmageedu   //验证用户登陆

    MariaDB [(none)]> CREATE DATABASE wpdb; //创建wordpress数据库

     MariaDB [(none)]> GRANT ALL ON wpdb.* TO wpuser@‘192.168.%.%‘ IDENTIFIED BY ‘wppass‘;         //授权wordpress用户

    MariaDB [(none)]> FLUSH PRIVILEGES;

    

    MariaDB [(none)]> SHOW DATABASES;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | test               |

    | wpdb               |

    +--------------------+

    5 rows in set (0.00 sec)


    

    


    MariaDB [(none)]> CREATE DATABASE pma;  //创建phpMyAdmin数据库

    Query OK, 1 row affected (0.00 sec)

    MariaDB [(none)]> GRANT ALL ON pma.* TO pma@‘192.168.%.%‘ IDENTIFIED BY     ‘pmapass‘;   

    Query OK, 0 rows affected (0.00 sec)

    MariaDB [(none)]> FLUSH PRIVILEGES;   

    Query OK, 0 rows affected (0.00 sec)



    MariaDB [(none)]> GRANT ALL ON *.* TO testuser@‘192.168.%.%‘ IDENTIFIED BY           ‘testpass‘;

    Query OK, 0 rows affected (0.00 sec)  //授权一个测试用户


    MariaDB [(none)]> FLUSH PRIVILEGES;

    Query OK, 0 rows affected (0.00 sec)

    



2、 192.168.1.103主机配置 (httpd,php)

 

    [root@localhost ~]# yum install httpd php php-mysql php-mbstring -y    

    [root@localhost ~]# systemctl start httpd.service


    编写测试代码,验证php是否可以连接数据库


    [root@localhost ~]# cd /var/www/html

    [root@localhost html]# vim index.php


    技术分享


    [root@localhost html]# systemctl reload httpd.service

    技术分享

3、xcache的编译安装


  xcache可以选择编译安装,但epel源中也有提供,这里用编译安装的方式。

    [root@localhost ~]# yum groupinstall "Development Tools" "Server Platform Development" -y  //安装开发包组

    [root@localhost ~]# yum install php-devel -y //安装xcache依赖php的包

    

  下载xcache压缩包

    [root@localhost ~]# ls

    anaconda-ks.cfg  xcache-3.2.0.tar.bz2

    [root@localhost ~]# tar xf xcache-3.2.0.tar.bz2 

    [root@localhost ~]# ls

    anaconda-ks.cfg  xcache-3.2.0  xcache-3.2.0.tar.bz2

    [root@localhost ~]# cd xcache-3.2.0/

    [root@localhost xcache-3.2.0]# phpize

    [root@localhost xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/usr/bin/php-config

    [root@localhost xcache-3.2.0]# make && make install

    技术分享


   

    [root@localhost xcache-3.2.0]# cp xcache.ini /etc/php.d/ 

    [root@localhost xcache-3.2.0]# systemctl restart httpd.service


    

  浏览器访问,发现xcache已经安装完,对应版本为3.2.0


    技术分享


4、安装配置wordpress,配置虚拟主机



 配置虚拟主机  

    [root@localhost ~]# vim /etc/httpd/conf/httpd.conf  //注释掉httpd默认访问路径

    #DocumentRoot "/var/www/html"

    

     [root@localhost ~]# mkdir /web/vhost/test1 -pv //创建虚拟主机的访问路径

    [root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf  //创建虚拟主机的配置文件

 

    <VirtualHost 192.168.1.103:80>

        DocumentRoot "/web/vhost/test1"


        <Directory "/web/vhost/test1">

                Options None

                AllowOverride None

                Require all granted

        </Directory>

    </VirtualHost>

             


    


 下载wordpress(下载地址:https://wordpress.org/download/ )

    [root@localhost ~]# cd /web/vhost/test1

              [root@localhost test1]# unzip wordpress-4.3.1-zh_CN.zip

    [root@localhost test1]# cd wordpress/           

    [root@localhost wordpress]# cp wp-config-sample.php wp-config.php  //复制示例的访问配置php文件,修改即可。      

    [root@localhost wordpress]# vim wp-config.php


    技术分享

  

    [root@localhost ~]# systemctl restart httpd.service



浏览器访问测试

   技术分享



5、安装phpMyAdmin


 配置虚拟主机  


    [root@localhost vhost]# vim /etc/httpd/conf/httpd.conf

    技术分享   //添加8080端口

    

    [root@localhost ~]# mkdir /web/vhost/test2 -pv //创建虚拟主机的访问路径

    [root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf  //编辑wordpress虚拟主机的配置文件即可

 

  

    <VirtualHost 192.168.1.103:80>

            DocumentRoot "/web/vhost/test1"


            <Directory "/web/vhost/test1">

                    Options None

                    AllowOverride None

                    Require all granted

            </Directory>

    </VirtualHost>


    <VirtualHost 192.168.1.103:8080>

            DocumentRoot "/web/vhost/test2"


            <Directory "/web/vhost/test2">

                Options FollowSymlinks 

                    AllowOverride None

                    Require all granted

            </Directory>

    </VirtualHost>

             


 下载方式:https://www.phpmyadmin.net/downloads/


     [root@localhost ~]# cd /web/vhost/test2

    [root@localhost test2]# unzip phpMyAdmin-4.4.14.1-all-languages.zip

    [root@localhost test2]# ln -sv phpMyAdmin-4.4.14.1-all-languages pma

    ‘pma’ -> ‘phpMyAdmin-4.4.14.1-all-languages’

    [root@localhost test2]# cd pma

    [root@localhost pma]# cp config.sample.inc.php config.inc.php

    [root@localhost pma]# openssl rand -base64 15  //生成15个随机数

    fgqvst4l0yODkOhq4FXC


    [root@localhost pma]# vim config.inc.php  //把随机数添加到访问配置文件中

    技术分享



用浏览器访问测试 192.168.1.103:8080/pma

    用户为 :  pma

    密码为 :  pmapass

    

    技术分享





    技术分享





6、为phpMyAdmin提供https虚拟主机

    

   把192.168.1.104做CA主机,192.168.1.103服务器进行测试

  

  1)

   a) 192.168.1.104主机上,创建私有CA

       

     

    [root@localhost ~]# cd /etc/pki/CA

    [root@localhost CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)   //生成一个私钥

    Generating RSA private key, 2048 bit long modulus

    .....................+++

    .............+++

    e is 65537 (0x10001)

    [root@localhost CA]#  ll private/

    total 4

    -rw------- 1 root root 1679 May 27 07:09 cakey.pem

    [root@localhost CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem  //生成自己的自签证书

  

    [root@localhost CA]# ll

    total 4

    -rw-r--r--  1 root root 1391 May 27 07:12 cacert.pem

    drwxr-xr-x. 2 root root    6 Jun 29  2015 certs

    drwxr-xr-x. 2 root root    6 Jun 29  2015 crl

    drwxr-xr-x. 2 root root    6 Jun 29  2015 newcerts

    drwx------. 2 root root   22 May 27 07:09 private


    技术分享

    [root@localhost CA]# touch serial index.txt

    [root@localhost CA]# echo 01 >serial


   b)192.168.1.103主机,创建证书签署请求


    [root@localhost ~]# cd /etc/httpd

    [root@localhost httpd]# mkdir ssl

    [root@localhost httpd]# cd ssl

    [root@localhost ssl]# (umask 077;openssl genrsa -out httpd.key 1024)

    Generating RSA private key, 1024 bit long modulus

    ..........++++++

    ..................++++++

    e is 65537 (0x10001)

    [root@localhost ssl]# openssl req -new -key httpd.key -out httpd.csr

    技术分享

    [root@localhost ssl]# ls

    httpd.csr  httpd.key

    [root@localhost ssl]# scp httpd.csr root@192.168.1.104:/tmp


   c) 192.168.1.104  签署证书


    [root@localhost CA]# openssl ca -in /tmp/httpd.csr -out certs/httpd.crt

    技术分享


    [root@localhost CA]# scp certs/httpd.crt root@192.168.1.103:/etc/httpd/ssl/


  2)、 192.168.1.103主机,配置httpd支持使用ssl,及使用的证书

    

    

    [root@localhost ssl]# ls

    httpd.crt  httpd.csr  httpd.key

    

    [root@localhost ssl]# yum install mod_ssl -y

    [root@localhost ssl]# cd /etc/httpd/conf.d

    [root@localhost conf.d]# ls

    autoindex.conf  php.conf  README  ssl.conf  userdir.conf  vhost.conf     welcome.conf

    [root@localhost conf.d]# mv ssl.conf ssl.conf.backup

    [root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf

    技术分享  

  

    [root@localhost conf.d]# httpd -t    

    Syntax OK

    [root@localhost conf.d]# systemctl restart httpd.service

    

    技术分享


    此时因为浏览器没有导入CA证书,所以基于https的访问将无法进行,需要浏览器中导入CA证书文件(把虚拟主机中/etc/pki/CA/cacert.pem文件复制到物理主机上进行导入

    技术分享 


    





CentOS 7系统之 lamp ( module )详解

标签:wordpress   虚拟主机   阿里云   数据库   start   

原文地址:http://1832924799.blog.51cto.com/11226449/1785307

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!