要求在CentOS7下安装apache+php+mariadb,以rpm包形式安装,php module;要有两个虚拟主机;
(1)一个虚拟主机提供phpMyAdmin,并为phpMyAdmim提供https服务;
(2)另一个虚拟主机安装wordpress;
实现过程如下:
{#more-110}
第一个问题:
1、安装所需服务
#yum install mariadb-server httpd php php-mysql php-gd php-mbstring php-xml xcache
2、修改mysql配置文件,并启动检查
#vim /etc/my.cnf
在# instructions in http://fedoraproject.org/wiki/Systemd下添加
innodb_file_per_table = ON
skip_name_resolve = ON
启动mariadb-server服务:
#systemctl start mariadb.service
检查:服务启动后一定要检测下,服务是否正常启动运行:
#ps aux 查看服务是否正常
#ss -lnt 查看3306端口是否开启
#mysql 连接下mysql是否正常
3、启动httpd服务,修改httpd配置文件,并检测
#systemctl start httpd.service
#ps aux 查看服务是否正常
#ss -lnt 查看80端口是否正常
#httpd -M | grep mpm 查看服务器工作的mpm是什么
修改httpd配置文件:
#vim /etc/httpd/conf/httpd.conf
ServerName localhost:80 修改ServerName,改成localhost
#httpd -t 检查是否有错误
注意:要关闭防火墙以免出现问题:
#setenforce 0 关闭selinux防火墙
#iptables -F 关闭linux防火墙
4、创建并配置两个虚拟主机
创建两个虚拟主机的根:
#mkdir -pv /var/www/www{1,2}
配置两个虚拟主机:(我的CentOS主机的IP是172.16.63.77)
#vim /etc/httpd/conf.d/vhost1.conf
<VirtualHost 172.16.63.77:80>
ServerName www1.demo.com
DocumentRoot /var/www/www1
</VirtualHost>
#vim /etc/httpd/conf.d/vhost2.cong
<VirtualHost 172.16.63.77:80>
ServerName www2.demo.com
DocumentRoot /var/www/www2
</VirtualHost>
5、可以选择测试下php和数据库的连接性
重启httpd服务
#systemctl restart httpd.service
#vim /var/www/www1/index.php 写入以下测试的文件
<?php
$demo = mysql_connect('127.0.0.1','root','');
if ($demo)
echo "OK";
else
echo "Failure";
phpinfo();
?>
修改本机的hosts文件,重定向:
172.16.63.77 www1.demo.com
172.16.63.77 www2.demo.com
打开浏览器输入:www1.demo.com 提示数据库连接正常,随后删除index.php即可!
6、安装并配置phpMyAdmin到第一个虚拟主机
我这里有个phpMyAdmin的包:phpMyAdmin-4.3.5-all-languages.zip
将此包解压到/var/www/www1/的目录下
#unzip phpMyAdmin-4.3.5-all-languages.zip
修改mysql密码:
#mysqladmin -uroot -hlocalhost -p password 默认密码空
打开www1.demo.com登录成功
7、配置https
我们用本机当CA,自己给自己发证书:
#cd /etc/pki/CA
#(umask 077; openssl genrsa -out private/cakey.pem 2048) 创建私有CA
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem 生成一个自签证书
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]:demo
Organizational Unit Name (eg, section) []:demo1
Common Name (eg, your name or your server's hostname) []:demo.com
Email Address []:admin@demo.com
#touch index.txt
#echo 01 > serial
向自己申请证书:
#yum install mod_ssl 安装ssl模块
#cd /etc/httpd/
#mkdir ssl
#cd ssl/
#(umask 077; openssl genrsa -out httpd.key 1024) 私钥文件
#openssl req -new -key httpd.key -out httpd.csr 生成签署请求
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]:demo
Organizational Unit Name (eg, section) []:demo1
Common Name (eg, your name or your server's hostname) []:www1.demo.com
Email Address []:admin1@demo.com 密码空即可
#openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.crt
#vim /etc/httpd/conf.d/ssl.conf 更改文件
DocumentRoot "/var/www/www1" 此处为根
ServerName www1.demo.com:443 服务器名
SSLCertificateFile /etc/httpd/ssl/httpd.crt 密钥文件所在位置
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key 私钥文件所放位置
#systemctl start httpd.service 重启httpd服务
#ss -lnt 查看端口443已开启
.pem导入浏览器打开https://www1.demo.com即可
第二个问题:
我们直接把wordpress压缩包解压到第二个虚拟主机的根目录下即可/var/www/www2
在phpmyadmin中添加数据库,添加用户,并给予权限即可!
浏览器打开www2.demo.com即可直接输入对应的数据库信息即可安装成功!
开机启动服务:
#systemctl enable httpd.service mariadb.service