一台centos7主机如何部署LAMP并提供https服务
小编给大家分享一下一台centos7主机如何部署LAMP并提供https服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
在一台centos7上部署LAMP以及xcache并安装分别在2个虚拟主机上部署wordpress和php-myadmin且为phpmyadmin提供https服务;
#用rpm包快速部署 :LAMP
1、yum安装:
yum install -y httpd php php-mysql php-gd php-mbstring php-xml mariadb-server mod_ssl
Installed:
httpd.x86_640:2.4.6-40.el7.centosmariadb-server.x86_641:5.5.44-2.el7.centosphp.x86_640:5.4.16-36.el7_1php-gd.x86_640:5.4.16-36.el7_1php-mbstring.x86_640:5.4.16-36.el7_1
php-mysql.x86_640:5.4.16-36.el7_1php-xml.x86_640:5.4.16-36.el7_1
2、 检查httpd服务是否可以启动成功,以及php页面是否能够成功开启:
检查httpd服务是否能够成功开启以及80端口是否开启后启动:
systemctl start htppd.service 启动服务
systemctl status httpd.service 检查服务开启状态
ss -tnl 查看80端口
ps -aux 检查进程
httpd -M | grep mpm :查看是否是prefork 模块以及是否是开启状态(shared)
#确认httpd服务启动成功
[root@1~]#systemctlstatushttpd
●httpd.service-TheApacheHTTPServer
Loaded:loaded(/usr/lib/systemd/system/httpd.service;disabled;vendorpreset:disabled)
Active:active(running)sinceSat2016-07-1615:32:43CST;4min18sago
Docs:man:httpd(8)
man:apachectl(8)
MainPID:6535(httpd)
Status:"Totalrequests:0;Currentrequests/sec:0;Currenttraffic:0B/sec"
CGroup:/system.slice/httpd.service
├─6535/usr/sbin/httpd-DFOREGROUND
├─6537/usr/sbin/httpd-DFOREGROUND
├─6538/usr/sbin/httpd-DFOREGROUND
├─6539/usr/sbin/httpd-DFOREGROUND
├─6540/usr/sbin/httpd-DFOREGROUND
└─6541/usr/sbin/httpd-DFOREGROUND
#确认80端口开启状态
[root@1~]#ss-tnl
StateRecv-QSend-QLocalAddress:PortPeerAddress:Port
LISTEN05192.168.122.1:53*:*
LISTEN0128*:22*:*
LISTEN0128127.0.0.1:631*:*
LISTEN0100127.0.0.1:25*:*
LISTEN0128:::80:::*
LISTEN0128:::22:::*
LISTEN0128::1:631:::*
LISTEN0100::1:25
#确认进程启动
[root@1~]#ps-aux
root65350.00.845054815064?Ss15:320:00/usr/sbin/httpd-DFOREGROUND
apache65370.00.44526327888?S15:320:00/usr/sbin/httpd-DFOREGROUND
apache65380.00.44526327888?S15:320:00/usr/sbin/httpd-DFOREGROUND
apache65390.00.44526327888?S15:320:00/usr/sbin/httpd-DFOREGROUND
apache65400.00.44526327888?S15:320:00/usr/sbin/httpd-DFOREGROUND
apache65410.00.44526327888?S15:320:00/usr/sbin/httpd-DFOREGROUND
#确认默认启动模块prefok是shared状态
[root@1~]#httpd-M|grepmpm
AH00558:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using0.0.0.1.Setthe'ServerName'directivegloballytosuppressthismessage
mpm_prefork_module(shared)
#确认ssl模块是否启用成功
[root@1~]#httpd-M|grepssl
AH00558:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using0.0.0.1.Setthe'ServerName'directivegloballytosuppressthismessage
ssl_module(shared)
#配置mysql数据库,并启动起来;
systemctl start mariadb.service
#然后授权创建用户
先进mysql 然后如下
mysql>GRANTALLON wpdb.*TO'wpuser'@'172.16.%.%'IDENTIFIEDBY'wppass';
mysql>FLUSHPRIVILEGES;
mysql> CREATEDATABASE wpdb;
#建2个目录作为虚拟主机FQDN的资源映射路径,
[root@1~]#mkdir-pv/data/vhost/www{1,2}
#配置默认测试页面
[root@1~]#vim/data/vhost/www1/index.php
<h2>第一台虚拟主机</h2>
<?php
$conn=mysql_connect('172.16.100.34','wpuser','wppass');
if($conn)
echo"OK";
else
echo"Failure";
phpinfo();
?>
[root@1~]#vim/data/vhost/www2/index.php
<h2>第二台虚拟主机</h2>
<?php
$conn=mysql_connect('172.16.100.34','wpuser','wppass');
if($conn)
echo"OK";
else
echo"Failure";
phpinfo();
?>
#配置2个FQDN虚拟主机的配置文件
[root@1~]#vim/etc/httpd/conf.d/vhost1.conf
<VirtualHost172.16.100.34:80>
ServerNamewww1.wufeng.com
DocumentRoot"/data/vhost/www1"
ProxyRequestson
DirectoryIndexindex.php
<Directory"/data/vhost/www1">
OptionsNone
AllowOverrideNone
Requireallgranted
</Directory>
</VirtualHost>
[root@1~]#vim/etc/httpd/conf.d/vhost2.conf
<VirtualHost172.16.100.34:80>
ServerNamewww2.wufeng.com
DocumentRoot"/data/vhost/www2"
ProxyRequestson
DirectoryIndexindex.php
<Directory"/data/vhost/www2">
OptionsNone
AllowOverrideNone
Requireallgranted
</Directory>
</VirtualHost>
#临时修改DNS指向自己
[root@1~]#vim/etc/resolv.conf
#GeneratedbyNetworkManager
DNS=172.16.100.34
#本地域名解析增加条目
[root@1~]#vim/etc/hosts
172.16.100.31www1.wufeng.comwww2.wufeng.com
#测试php页面是否可以正常连接 以及数据库连接是否正常
#用www2.wufeng.com访问也没问题 而且加速器也成功安装了
#下面我们就剩下搞定wordpress 以及php-myadmin
#因为我是本地ftp服务器所以直接下载下来解压缩了;
[root@1~]#unzip wordpress-4.3.1-zh_CN.zip
#并移动至第一个虚拟主机的资源映射路径下
[root@1~]#mvwordpress/data/vhost/www1
#cd进入该目录下并且修改配置文件
#修改配置文件名并修改之;
[root@localhost~]#cd/data/vhost/www1/wordpress/
[root@localhostwordpress]#ln-swp-config-sample.phpwp-config.php
[root@localhostwordpress]#vimwp-config.php
//**MySQL设置-具体信息来自您正在使用的主机**//
/**WordPress数据库的名称*/
define('DB_NAME','wpdb');
/**MySQL数据库用户名*/
define('DB_USER','wpuser');
/**MySQL数据库密码*/
define('DB_PASSWORD','wppass');
/**MySQL主机*/
define('DB_HOST','172.16.100.34'); 这里的地址是指向数据库地址
/**创建数据表时默认的文字编码*/
define('DB_CHARSET','utf8');
/**数据库整理类型。如不确定请勿更改*/
define('DB_COLLATE','');
那么wordpress基本上已经配置好了 不急于测试 下面把php-myadmin也一起安装了
#php-myadmin也是在ftp服务器上下载的所以直接解压了
[root@1~]#unzipphpMyAdmin-4.4.14.1-all-languages.zip
#并且放在第2台主机上的第2个虚拟主机资源映射路径下;
[root@1myadmin]#mvphpMyAdmin-4.4.14.1-all-languages/data/vhost/www2/myadmin
#cd进该目录下并且修改文件名修改配置
[root@1www2]#cdmyadmin/ 进入目标目录
[root@1myadmin]#mvconfig.sample.inc.phpconfig.inc.php 修改配置文件名
[root@1myadmin]#vimconfig.inc.php 修改配置文件
$cfg['blowfish_secret']='4pfPnJU4R8pA4WMWaQxD';/*YOUMUSTFILLINTHISFORCOOKIEAUTH!*/
上面这2个单引号中间加上随机码 用opensslrand-base6415 生成 用于传输加密
/*
*Serversconfiguration
*/
$i=0;
/*
*Firstserver
*/
$i++;
/*Authenticationtype*/
$cfg['Servers'][$i]['auth_type']='cookie';
/*Serverparameters*/
$cfg['Servers'][$i]['host']='172.16.100.34'; 这里这指向mysql数据库主机的地址
$cfg['Servers'][$i]['connect_type']='tcp';
$cfg['Servers'][$i]['compress']=false;
$cfg['Servers'][$i]['AllowNoPassword']=false;
#下面就测试这2个程序是否可以连接
#需要安装以及创建账户密码然后登陆即可
#测试第2台虚拟主机上的myadmin
#到这里测试全部成功,然后我们最后要为myadmin提供https服务
#签署CA证书并为phpmyadmin提供https服务;
#在主机上安装mod_ssl模块 因为需要http来加载模块并启动443端口我们前面已经安装了
[root@localhostCA]#yuminstallmod_ssl.x86_64
#找一台主机做CA比如第一台主机
#然后在第1台主机上生成CA自签名证书;
1、生成密钥
#首先进入CA目录下
[root@1wordpress]#cd/etc/pki/CA/
#在CA目录下生成密钥
[root@1CA]#(umask077;opensslgenrsa-outprivate/cakey.pem2048)
GeneratingRSAprivatekey,2048bitlongmodulus
............................................................................+++
...............+++
eis65537(0x10001)
2、生成自签证书
[root@1CA]#opensslreq-new-x509-keyprivate/cakey.pem-outcacert.pem
Youareabouttobeaskedtoenterinformationthatwillbeincorporated
intoyourcertificaterequest.
WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.
Therearequiteafewfieldsbutyoucanleavesomeblank
Forsomefieldstherewillbeadefaultvalue,
Ifyouenter'.',thefieldwillbeleftblank.
-----
CountryName(2lettercode)[XX]:CN
StateorProvinceName(fullname)[]:beijing
LocalityName(eg,city)[DefaultCity]:beijing
OrganizationName(eg,company)[DefaultCompanyLtd]:wufeng
OrganizationalUnitName(eg,section)[]:ops
CommonName(eg,yournameoryourserver'shostname)[]:ca.wufeng.com
EmailAddress[]:admin@wufeng.com
补充文件
[root@1CA]#touchindex.txt
[root@1CA]#echo01>serial
、
#然后在去第2台主机上生成请求签署文件以及密钥
在/etc/httpd/目录下创建一个目录
~]#mkdir ssl
~]# cd ssl
生成密钥
[root@ssl]#(umask077;opensslgenrsa-outhttpd.key1024)
GeneratingRSAprivatekey,1024bitlongmodulus
.++++++
........................................++++++
eis65537(0x10001)
生成签署请求文件:
[root@ssl]#opensslreq-new-keyhttpd.key-outhttpd.csr
Youareabouttobeaskedtoenterinformationthatwillbeincorporated
intoyourcertificaterequest.
WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.
Therearequiteafewfieldsbutyoucanleavesomeblank
Forsomefieldstherewillbeadefaultvalue,
Ifyouenter'.',thefieldwillbeleftblank.
-----
CountryName(2lettercode)[XX]:CN
StateorProvinceName(fullname)[]:beijing
LocalityName(eg,city)[DefaultCity]:beijing
OrganizationName(eg,company)[DefaultCompanyLtd]:wufeng
OrganizationalUnitName(eg,section)[]:ops
CommonName(eg,yournameoryourserver'shostname)[]:www2.wufeng.com 这个要和客户访问要加密的主机名一样
EmailAddress[]:www1admin@wufeng.com
Pleaseenterthefollowing'extra'attributes
tobesentwithyourcertificaterequest
Achallengepassword[]:
Anoptionalcompanyname[]:
复制给CA主机签署证书
[root@ssl]#scphttpd.csr172.16.100.32:/tmp
然后到centos7主机上签署文件
[root@1CA]#opensslca-in/tmp/httpd.csr-out/etc/pki/CA/certs/httpd.crt
连续2个yes 简写y
签署完成后 复制给请求主机
[root@1CA]#scpcerts/httpd.crt172.16.100.31:/etc/httpd/ssl/
在请求主机上也就是第2台centos7上
编辑这个文件
[root@1~]#vim/etc/httpd/conf.d/ssl.conf
DocumentRoot"/data/vhost/www2/myadmin" 这2个启用起来 把前面的#号去掉 改成自己的资源映射路径
ServerNamewww2.wufeng.com:443 主机名也改成自己的
SSLCertificateFile/etc/httpd/ssl/httpd.crt 指明签署的证书文件路径
SSLCertificateKeyFile/etc/httpd/ssl/httpd.key 指明私钥文件的路径
然后reload一下
然后ss -tnl 查看一下443端口起来没
在centos7 主CA机器上 测试基于https访问相应的主机;
[root@localhostCA]#openssls_client-connect172.16.100.31:443-CAfile/etc/pki/CA/cacert.pem
#然后打开浏览器输入myadmin地址访问看看是否提供了https服务
在主配置文件里把这个给禁了 免得冲突
#DocumentRoot"/var/www/html"
成功了 下面我们做个ab压力测试
并且比较2个架构性能的差别
单台主机部署LAMP
三台主机分别部署LAMP
以上是“一台centos7主机如何部署LAMP并提供https服务”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。