源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

CentOS 7 下LAMP实现及基于https的虚拟化主机

  • 时间:2021-03-29 10:21 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:CentOS 7 下LAMP实现及基于https的虚拟化主机
[b]系统环境:[/b] CentOS 7 Apache 2.4 php 5.4 MariaDB 5.5 [b]项目需求:[/b] 创建3个虚拟主机,分别架设phpMyadmin,wordpress,Discuz 其中phpMyadmin提供https服务. [b]一、使用yum安装环境所需组件[/b]   httpd,php,php-mysql,mariadb-server   # yum install httpd php php-mysql mariadb-server [b]二、关闭SELINUX并配置防火墙[/b]   1.为了测试方便,先关闭selinux     临时关闭:     setenforce 0     永久关闭:     vim /etc/sysconfig/selinux     SELINUX=disabled   2.在CentOS 7自带防火墙中添加80,443,3306端口     查看firewall运行状态     # firewall-cmd --state     添加端口     # firewall-cmd --add-port=80/tcp --permanent     # firewall-cmd --add-port=443/tcp --permanent     # firewall-cmd --add-port=3306/tcp --permanent     重载firewall配置     # firewall-cmd --reload     查看已有规则     # iptables -L -n [b]三、测试一下各软件是否正常[/b]   1.启动httpd并测试访问:     # systemctl start httpd     没什么意外的话,此时浏览器访问测试页应该是成功的.   2.测试数据库     启动MariaDB     # systemctl start mariadb     能进入MariaDB命令行即可     # mysql [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090105_0_16767.png[/img]   3.查看php版本,我的版本是5.4.16     # php -v [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090105_1_22386.png[/img] [b]四、配置Apache[/b]   1.新建所需文件夹     在/web/vhosts下创建三个虚拟主机分别需要的文件夹 ,pma,wp,dz     # mkdir -p /web/vhosts/{pma,wp,dz}   2.赋予Apache用户对整个/web目录的访问权:     # chown -R apache:apache /web   3.创建测试页面     # vim /web/vhosts/pma/index.php     内容为: 
 <?php
    echo "this is pma"
    ?>
    # vim /web/vhosts/wp/index.php
    内容为:
    <?php
    echo "this is wp"
    ?>
    # vim /web/vhosts/dz/index.php
    内容为:
    <?php
    echo "this is dz"
    ?>
  4.取消欢迎页,否则会有干扰     # mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak   5.添加三个虚拟主机     创建一个叫vhosts.conf配置文件     # vim /etc/httpd/conf.d/vhosts.conf     内容:
  <VirtualHost *:80>
    DocumentRoot /web/vhosts/pma
    ServerName pma.buybybuy.com
    ErrorLog logs/pma.err
    CustomLog logs/pma.access combined
    </VirtualHost>
    <Directory "/web/vhosts/pma">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
    <VirtualHost *:80>
    DocumentRoot /web/vhosts/wp
    ServerName wp.buybybuy.com
    ErrorLog logs/wp.err
    CustomLog logs/wp.access combined
    </VirtualHost>
    <Directory "/web/vhosts/wp">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
    <VirtualHost *:80>
    DocumentRoot /web/vhosts/dz
    ServerName dz.buybybuy.com
    ErrorLog logs/dz.err
    CustomLog logs/dz.access combined
    </VirtualHost>
    <Directory "/web/vhosts/dz">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
  6.重新载入httpd配置:     # systemctl reload httpd   7.测试一下三个虚拟主机: [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090106_2_32956.png[/img]     [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090106_3_34452.png[/img]     [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090106_4_31762.png[/img]   测试成功! [b]五、配置mariaDB[/b]   1.刚安装完mariaDB后先初始化安全设置     运行安全初始化脚本     # /usr/bin/mysql_secure_installation     以下给出我自己的选项作为参考 [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090107_5_27133.png[/img]     1)是否设置root用户密码? (是)     2)是否删除匿名用户? (是)     3)禁止root用户远程登录吗? (否,但如果生产环境推荐禁止)     4)要删除测试数据库吗? (否,如果将来有测试需求就保留)     5)重载授权表吗? (是,刚刚的设置立即生效)   2.附上root用户改密码命令
 # mysql
    SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');
    SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('123456');
[b]六.安装程序包[/b]   1.安装phpmyadmin,Discuz,wordpress     下载安装包到家目录     可以用wget或者使用ftp工具,我这里因为用了Xshell连接服务器,所以直接使用了配套的Xftp将控制机中的安装包直接扔进家目录. [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090107_6_95890.png[/img]   2.确保已安装必要的压缩/解压缩工具     我这里缺少bzip2,zip和unzip,所以     # yum -y install bzip2 zip unzip     分别解压缩  
# unzip Discuz_X3.2_SC_UTF8.zip -d Discuz_X3.2_SC_UTF8
    # tar -xf wordpress-4.5.3-zh_CN.tar.gz
    # tar -xf phpMyAdmin-4.4.15.8-all-languages.tar.bz2
  3.分别复制到定义好的虚拟主机目录下,注意只复制需要的文档   
 # cp -a phpMyAdmin-4.4.15.8-all-languages/* /web/vhosts/pma/
    # cp -a wordpress/* /web/vhosts/wp/
    # cp -a Discuz_X3.2_SC_UTF8/upload/* /web/vhosts/dz/
[b]七、调试网站[/b]   1.配置phpmyadmin     #cd /web/vhosts/pma     找到默认配置文件并重命名为标准名称     # cp config.sample.inc.php config.inc.php     编辑配置文件     大概17行找到     $cfg['blowfish_secret'] = '';     这里需要加入一个随机字串,可以在bash下用以下命令生成:     # tr -d 'a-zA-Z0-9' < /dev/urandom | head -30 | md5sum     比如生成的字串为     e2d8e1132dc737b3dc1f05cd44c0cc9e     将生成的字串加入到上面的参数的引号中.如图: [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090108_7_79712.png[/img]     保存退出.     访问pma.buybybuy.com的时候发现程序报错: [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090108_8_70582.png[/img]     意思是需要mbstring模块支持,mbstring是一个多语言包.     所以要安装这个包     # yum install php-mbstring     重载httpd以便配置生效     # systemctl reload httpd     重新访问pma.buybybuy.com,页面成功打开 [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090109_9_82024.png[/img]     此时可以使用之前配置的mysql的root用户登陆.   2.创建所需数据库     为了安装wordpress和Discuz,可以先使用phpMyadmin来为他们创建数据库.     新增->填写数据库名称->选择排序编码->建立 [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090109_10_28343.png[/img]     另外我们希望每个网站可以使用单独的数据库用户进行访问,所以这里为每个数据库创建自己的用户并绑定到对应的数据库.     回到首页->用户->添加用户 [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090109_11_80437.png[/img]     为了方便,我将数据库名与对应的用户名保持一致,可以按下图来创建 [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090110_12_77099.png[/img]     [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090110_13_65191.png[/img]     因为已经提前创建数据库,所以红色下划线的命令会跳过创建数据库的步骤,后面蓝色下划线的命令会把用户绑定给这个数据库.   3.配置wordpress     进入wp目录     # cd /web/vhosts/wp     复制一个配置文件并重命名为配置文件的标准名称     # cp wp-config-sample.php wp-config.php     编辑配置文件     # vim /web/vhosts/wp/wp-config.php [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090111_14_84455.png[/img]     修改对应的值.     访问wp.buybybuy.com和dz.buybybuy.com,会显示安装界面.分别使用之前设定的参数安装即可. [b]八、给pma.buybybuy.com配置https[/b]   1.确保OpenSSL已安装,因为要使用OpenSSL生成自签名证书     # httpd -M | grep ssl     如果没有则安装     # yum install mod_ssl openssl   2.配置CA服务器     我的方法是先配置一台CA服务器 (CentOS A),之后再让当前这台服务器(CentOS B)向CentOS A申请认证.   3.配置CA服务器(CentOS A)     3.1 初始化CA服务,创建所需要的文件       # cd /etc/pki/CA/       # touch index.txt //创建索引文件       # echo 01 > serial //创建序列号文件     3.2 CA自签证书       生成私钥       # (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)       使用私钥生成签名证书       # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem   4.申请证书(CentOS B):     4.1 创建一个存放证书的目录       # mkdir /etc/httpd/ssl       # cd /etc/httpd/ssl     4.2 生成秘钥       # (umask 007;openssl genrsa -out httpd.key 1024)     4.3 生成请求文件       # openssl req -new -key httpd.key -out httpd.csr     4.4 填表,按照自己情况写       Country Name (2 letter code) [XX]:CN       State or Province Name (full name) []:Beijing       Locality Name (eg, city) [Default City]:Beijing       Organization Name (eg, company) [Default Company Ltd]:Quintin Ltd       Organizational Unit Name (eg, section) []:Ops       Common Name (eg, your name or your server's hostname) []:pma.buybybuy.com       Email Address []:admin@buybybuy.com     4.5 把生成的文件发送到CA服务器 CentOS A,这里我使用scp命令:       # scp httpd.csr root@192.168.3.67:/tmp/     4.6 按照提示操作成功之后,httpd.csr 应该已经在CentOS A的/tmp/目录中.   5.签署证书(CentOS A):     5.1 签署,有效期十年       # openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/pma.buybybuy.com.crt -days 3650     5.2 将生成的crt传回CentOS B       # scp /etc/pki/CA/certs/pma.buybybuy.com.crt root@192.168.3.77:/etc/httpd/ssl/     5.3 按照提示操作成功之后,pma.buybybuy.com.crt 应该已经在CentOS B的/etc/httpd/ssl/目录中.   6.配置ssl(CentOS B):     6.1 事先备份       # cd /etc/httpd/conf.d/       # cp ssl.conf{,.bak}     6.2 编辑ssl.conf       # vim ssl.conf       以下为修改项       <VirtualHost _default_:443>       =>       <VirtualHost *:443>       基本设置       DocumentRoot "/web/vhosts/pma"       ServerName pma.buybybuy.com:443       证书位置       SSLCertificateFile /etc/pki/tls/certs/localhost.crt       =>       SSLCertificateFile /etc/httpd/ssl/pma.buybybuy.com.crt       私钥位置       SSLCertificateKeyFile /etc/pki/tls/private/localhost.key       =>       SSLCertificateKeyFile /etc/httpd/ssl/httpd.key       保存退出.     6.3 检查配置文件语法错误:       # httpd -t     6.4 重启httpd:       # systemctl restart httpd     6.5 查看443端口是否已开启:       # ss -tnl [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090111_15_2310.png[/img]     6.6 去浏览器访问格式:       [url=https://pma.buybybuy.com]https://pma.buybybuy.com[/url]       看见https字样就对了.但会提示无效,添加信任即可.  [img]http://img.1sucai.cn/uploads/article/2018010709/20180107090111_16_93340.png[/img] 以上所述是小编给大家介绍的CentOS 7 下LAMP实现及基于https的虚拟化主机,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程素材网网站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部