LAMP 基于httpd 2.4

安装前准备

说明

操作系统:CentOS 7 64

Apache 版本:httpd-2.4.6-40.el7.centos.x86_64

httpd服务器ip:192.168.1.4

 

1.  配置好IPDNS 、网关,确保使用远程连接工具能够连接服务器

2.       配置防火墙,iptables –F 清理防火墙规则或者关闭iptables

3.       关闭SELINUX或setenforce 0  #立即生效(实际是宽容模式)

 

安装配置

1. 安装Apache,php,Mariadb yum安装会自动解决依赖关系

yum -y install httpd php php-mysql mariadb-server

2. 启动httpd 服务,并测试页面是否显示正常

systemctl start httpd.service

systemctl start mariadb.service

netstat -nltp

blob.png

blob.png

3. 数据库安全初始化

mysql_secure_installation

blob.png

配置虚拟主机

编辑主配置文件/etc/httpd/conf/httpd.conf,注释掉主服务器文档目录,启动虚拟主机的配置文件的目录

blob.png

blob.png

blob.png

blob.png

1. 配置虚拟主机pma.stu.com

mv /etc/httpd/conf.d/welcome.conf welcome.conf.bak

mkdir -pv /www/htdocs

cd /etc/httpd/

vi conf.d/vhosts1.conf

    <VirtualHost 192.168.1.4:80>
        ServerAdmin admin@stu.com
        DocumentRoot "/www/htdocs"
        ServerName pma.stu.com
        ErrorLog "logs/stu.com-error_log"
        CustomLog "logs/stu.com-access_log" common
     
    </VirtualHost>
 
    <Directory "/www/htdocs">
        Options Includes ExecCGI FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

blob.png

2. 测试php和数据库的连通性

vi /www/htdocs/index.php

    <?php    
            $conn = mysql_connect('127.0.0.1','root','123456');
            if ($conn)
                echo "OK";
            else
                echo "Failure";
            mysql_close();
            phpinfo();
    ?>

     

blob.png

3. 安装配置phpadmin

yum -y install php-mbstring

systemctl reload httpd.service

unzip phpMyAdmin-4.4.15.5-all-languages.zip

cp -a phpMyAdmin-4.4.15.5-all-languages /www/htdocs/      #放到网站目录

cd /www/htdocs/

in -sv phpMyAdmin-4.4.15.5-all-languages phpadmin    #创建软连接

cd phpadmin/

cp config.sample.inc.php config.inc.php

tr -d 'a-zA-Z0-9' < /dev/urandom | head -20 | md5sum            #生成一段随机数

vi config.inc.php

blob.png

修改数据库root 的密码

    mysql  -uroot -p    
    SET PASSWORD FOR 'root'@'localhost'=PASSWORD('liangkai');
    SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('liangkai');
    FLUSH PRIVILEGES;

然后登陆页面查看

blob.png

blob.png

4. 为虚拟主机提供https协议访问

    CA服务器:192.168.1.7

    httpd服务器:192.168.1.4

a.       生成密钥对 cakey.pem,并创建所需文件(在CA服务器上)

(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

touch index.txt

echo 01 > serial

b.  开始申请CA机构的根证书,20年x509类型(在CA服务器上)

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300

blob.png

c.  在httpd服务器上,生成自己的私钥key与csr证书请求

 cd /etc/httpd/

mkdir ssl

cd ssl/

(umask 077;openssl genrsa -out httpd.key 1024)  #生成自己的私钥

openssl req -new -key httpd.key -out httpd.csr

 

blob.png

d.  把证书传送给CA

scp httpd.csr root@192.168.1.7

blob.png

e.       CA上签署证书,并将证书发还给请求者(在CA服务器上)

ca -in /tmp/httpd.csr -out certs/pma.stu.com.crt -days 365

scp certs/pma.stu.com.crt 192.168.1.4:/etc/httpd/ssl

blob.png

blob.png

f.  https服务器要支持SSL 需要安装这个mod_ssl模块,并重启httpd服务

yum -y install mod_ssl

     cd /etc/httpd/conf.d/

      vi ssl.conf

    <VirtualHost 192.168.1.4:443>   #修改这行IP
    DocumentRoot "/www/htdocs"  #注释去掉修改
    ServerName  pma.stu.com     #注释去掉修改
    #   Server Certificate:
    SSLCertificateFile /etc/httpd/ssl/www1.stu.com.crt  #修改证书文件路径
    #   Server Private Key:
    SSLCertificateKeyFile /etc/httpd/ssl/httpd.key      #这个证书私钥

systemctl restart httpd.service

    g.  测试结果,先把CA服务器上的公钥证书下载到客户机导入到游览器受信任的根证书颁发机构里面,然后访问https://pma.stu.com/phpadmin

blob.png

5. 配置第二个虚拟主机wp.stu.com并且安装wordpress

vi /etc/httpd/conf.d/vhosts1.conf

blob.png

然后安装配置wordpress

unzip wordpress-4.4.2-zh_CN.zip

cp -a wordpress /www/htdocs/

cd /www/htdocs/wordpress/

cp wp-config-sample.php wp-config.php

vi wp-config.php

blob.png

创建上面定义的数据库,然后授权

    CREATE DATABASE wpdb;    
    GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'wppasswd';
    GRANT ALL ON wpdb.* TO 'wpuser'@'127.0.0.1' IDENTIFIED BY 'wppasswd';
    FLUSH PRIVILEGES;

在游览器访问 wp.stu.com

blob.png

 

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

(0)
liangkailiangkai
上一篇 2016-04-05
下一篇 2016-04-05

相关推荐

  • 任务计划

    Linux 任务计划、周期性任务执行 未来的某时间点执行一次任务 at batch :系统 自行选择空闲时间去执行此处指定的任务 周期性运行某任务 cron [root@localhost ~]# rpm -q at (CentOS6中使用) at-3.1.10-48.el6.x86_64 [root@localhost ~]# rpm -ql at /et…

    Linux干货 2017-05-13
  • Shell脚本基础练习

    脚本编程能力是作为运维工程师不可或缺的一项基本技能,各种系统的运维,如果完全靠命令行一条一条命令来执行,工作效率可想而知,而脚本却可以将完成一定功能的各个命令依据一定的流程控制,逻辑判断去完成某种功能,提升工作效率。学习shell脚本,光学习理论是远远不够的,所以在学习中要多多练习,下面就看一些关于shell脚本基础的练习 (1) 编写脚本/root/bin…

    2017-08-05
  • 马哥教育网络班21期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程) 1)共享名为shared,工作组为magedu; 2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; 3)添加samba用户gentoo,centos和u…

    Linux干货 2016-10-24
  • linux内核(kernel)版本号的意义

      在linux下有一个目录,即/usr/src/kernels/目录,下面记载着一个linux系统的内核文件, 例如:2.6.18-164.el5-x86_64、2.6.18-8.el5-x86_64和2.6.18-194.el5-x86_64等,这些文件编号意味着什么呢?例如2.6.18代表着什么?el5代表着什么?x86_64又代表着什么? …

    Linux干货 2016-01-14
  • grep用法

    一、前言 grep是功能强大的文本处理工具,全称:global search regular expression and print out the line,grep一行一行使用正则表达式匹配文本,之后对匹配到的文本整行显示(除非使用特定的选项取反,如 grep -v)。 二、grep用法 grep命令用法:    &nbs…

    Linux干货 2015-08-24
  • awk灵活运用

    awk:报告生成器,格式化文本输出        有多种版本:New awk (nawk ),GNU awk(gawk)gawk:模式扫描和处理语言基本用法:awk [options] ‘program’ var=value file…awk [options] -f progr…

    Linux干货 2017-04-08

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:27

    样式建设使用markdown, 会使文章更上一个档次