LAMP安装phpmyadmin,discuz,WordPress


以rpm包的方式安装LAMP

分开安装,逐步实现配置基于域名的虚拟机主机并部署PhpMyAdmin、WordPress(提供https)、discuz

环境介绍:
两台centos7系统,全部在一台设备上会速度慢
192.168.40.7:安装httpd、PHP、php-mysql、php-mbstring
192.168.40.17:安装mariadb-server

安装phpmyadmin

下载相关包

在40.7设备上安装

yum install httpd php php-mysql php-mbstring -y

php-mysql是连接数据库使用的
php-mbstring是浏览器访问时需要的包,不安装连接会报错

在40.17设备上安装

yum install mariadb-server -y

修改web网站的时区,默认是UTC时间

vim /etc/php.ini

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; 此项原来是空的,添加Asia时区
date.timezone =Asia/Shanghai	

编辑httpd配置文件,创建基于域名的虚拟机
1.要创建虚拟主机,需要先将原httpd配置文件中的DocumentRoot注释,避免冲突

 vim /etc/httpd/conf/httpd.conf
 #DocumentRoot "/var/www/html"	添加注释

另外,在我每次用httpd -t检查时,服务响应特别慢,后来将配置文件中ServerName www.example.com:80取消了注释,再次检查和重启时响应恢复正常!

添加虚拟主机配置文件

vim /etc/httpd/conf.d/virtual.conf

<VirtualHost "*:80">
  DocumentRoot /var/www/html/pma/
  ServerName www.my.pma.com
  CustomLog "logs/phpmyadmin_access_log" combined
  <Directory "/var/www/html/pma/">
        require all granted
  </Directory>
</VirtualHost>

下载phpmyadmin包,由于是rpm方式安装的httpd等软件,yum源中版本略低,所以下载的phpmyadmin包版本也相对较低,采用4.4版本
phpmyadmin下载地址,请点击!
下载后上传到虚拟机,可使用lrzsz包实现[yum install -y lrzsz]

将源码包解压到网页目录下

tar xf phpMyAdmin-4.4.15.10-all-languages.tar.xz -C /var/www/html/

 # 改名为pma,和上面虚拟机配置文件相对应
cd /var/www/html/
mv phpMyAdmin-4.4.15.10-all-languages/ pma

在当前目录/var/www/html/pma/修改phpmyadmin配置文件中的一项,建议添加的

cp config.sample.inc.php config.inc.php 
  
vim config.inc.php
# 添加一个随机密码,在文件的17行
$cfg['blowfish_secret'] = 'centos123123'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
# 指定数据库地址,在文件的31行
$cfg['Servers'][$i]['host'] = '192.168.40.17';

检查语法并重新启动服务

httpd -t
systemctl restart httpd 

在40.17数据库中创建访问用户。通过web方式访问时需要输入访问数据库的用户名和密码

# 登录添加
 grant all on *.* to phpadmin@'192.168.40.%' identified by '123123';

通过浏览器访问

# 如果是用Windows访问,要确保DNS可以解析,也可以写到/etc/hosts文件中
windows的hosts文件路径:C: -> windows -> system32 -> drivers -> etc -> hosts

# 添加三项,后面的域名直接添加,省了后面在返回来添加的步骤
192.168.40.7 www.my.pma.com www.my.wordpress.com www.my.discuz.com

使用浏览器访问会出现如下界面
http://www.my.pma.com

输入刚在在数据库中创建的用户和密码在这里插入图片描述
输入密码登录后出现如下界面
在这里插入图片描述

然后可以根据自己的需求配置!!!


安装discuz

在以上基础安装discuz。如果没有httpd、PHP等包,请安装!

修改虚拟主机配置文件,添加

vim /etc/httpd/conf.d/virtual.conf

<VirtualHost "*:80">
  DocumentRoot /var/www/html/discuz/
  ServerName www.my.discuz.com
  CustomLog "logs/discuz_access_log" combined
  <Directory "/var/www/html/discuz/">
        require all granted
  </Directory>
</VirtualHost>

下载discuz包,由于是rpm方式安装的httpd等软件,yum源中版本略低,所以下载的discuz包版本也相对较低,采用3.3版本
phpmyadmin下载地址,请点击!
下载后上传到虚拟机,可使用lrzsz包实现[yum install -y lrzsz]

将源码包解压到网页目录下

unzip Discuz_X3.3_SC_UTF8.zip 

# 解压后会生成三个目录:upload、readme、utility
# upload是搭建discuz真正需要的目录
# readme中是一些帮助信息

# 在这里只需要将upload目录拷贝到网页目录下就可以
mv upload/ /var/www/html/discuz

# 授权管理数据库Apache用户ACL权限给discuz目录全部权限
setfacl -Rm u:apache:rwx discuz/

登录到40.17设备数据库中创建专属discuz的数据库和管理用户

# 创建数据库
MariaDB [(none)]> create database discuz;

# 创建用户
MariaDB [(none)]> grant all on discuz.* to discuz@'192.168.40.%' identified by '123123';

下面是安装步骤
通过浏览器输入: www.my.discuz.com
会自动跳转到安装目录
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成!!!


安装wordpress,实现https

安装相关包
在40.7设备上安装。40.17设备数据库不变

yum install -y mod_ssl   [httpd php php-mysql php-mbstring]

# 大部分包上面已经安装了,这里安装实现https的mod-ssl包

注意需要先实现CA搭建和申请证书,以下才可继续。建立 CA 和颁发证书的步骤我写在了文件的末尾,可参照

因为我们是基于https实现访问,所以配置文件将使用安装的mod-ssl带的配置文件

# 查看安装时添加的文件
rpm -ql mod_ssl	
/etc/httpd/conf.d/ssl.conf

编辑ssl的配置文件,修改

vim /etc/httpd/conf.d/ssl.conf

Listen 443 https
# 找到并修改添加如下内容
<VirtualHost *:443>
# 将默认目录修改,必须指定 ServerName
DocumentRoot "/var/www/html/wordpress/"
ServerName www.my.wordpress.com
# 授权
<Directory "/var/www/html/wordpress/">
   require all granted
</Directory>
# 将证书等信息添加进来
SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key
SSLCertificateChainFile /etc/httpd/conf.d/ssl/cacert.pem
</VirtualHost>

实现跳转https
修改/etc/httpd/conf.d/virtual.conf,实现输入www.my.wordpress.com,就可以直接跳转到https://
在原有基础上追加内容

<VirtualHost "*:80">
  DocumentRoot /var/www/html/wordpress/
  ServerName www.my.wordpress.com
  CustomLog "logs/wordpress_access_log" combined
  <Directory "/var/www/html/wordpress/">
        require all granted
  </Directory>
  Header always set strict-transport-security "max-age=31536000"
  RewriteEngine on
  RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [redirect=302]
</VirtualHost>

安装WordPress
由于是rpm方式安装的httpd等软件,yum源中版本略低,所以下载的WordPress包版本也相对较低,采用5.0版本
WordPress下载地址,请点击
进入网站向下翻!!!找到标记的版本下载。
下载后上传到虚拟机,可使用lrzsz包实现[yum install -y lrzsz]
在这里插入图片描述

第一种安装方式

1)将源码包解压到网页目录下

tar xf wordpress-5.0.3-zh_CN.tar.gz -C /var/www/html/

# 切换目录,进行配置
cd /var/www/html/
cp wp-config-sample.php wp-config.php

# 编辑修改!
vim wp-config.php

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb');		修改为要创建使用的数据库名称

/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');	修改管理数据库用户

/** MySQL数据库密码 */
define('DB_PASSWORD', '123123');	修改管理数据库用户口令

/** MySQL主机 */
define('DB_HOST', '192.168.40.17');	修改数据库所在主机的IP地址

# 以下默认即可
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

2)检查语法并重新启动所有服务

httpd -t
systemctl restart httpd

3)在40.17设备上登录数据库创建上述所需要的库和用户

# 常见数据库
create database wpdb;
# 创建连接数据库用户
grant all on wpdb.* to wpuser@'192.168.40.%' identified by '123123';

4)测试使用curl命令测试跳转是否成功

curl -I  www.my.wordpress.com

HTTP/1.1 302 Found
Date: Wed, 20 Nov 2019 11:16:54 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16
strict-transport-security: max-age=31536000
Location: https://www.my.wordpress.com/		## 实现成功跳转
Content-Type: text/html; charset=iso-8859-1  ## 但是跳转后会修改了字符集,目前还不知道原因

然后通过浏览器访问并配置WordPress

注意:直接访问时报告不安全,可跳过,也可按照下方的CA创建的第6步将CA导入添加信任即可

https://www.my.wordpress.com

访问后会自动跳转到一个install安装界面,因为我们需要创建一些数据库中所需要的表
出现如下界面:
在这里插入图片描述
上面这步完成后,数据库中会自动使用我们之前创建的 wpuser 用户创建出相关的表
登录查看

MariaDB [wpdb]> show tables;
+-----------------------+
| Tables_in_wpdb        |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)

下面则开始登录

在这里插入图片描述
在这里插入图片描述

我们用admin管理员登录后,下面是管理员才能看到的页面
在这里插入图片描述
而普通用户看到的页面则是如下:
在这里插入图片描述
可更换默认页面


第二种安装方式

登录数据库创建上述所需要的库和用户

MariaDB [(none)]> create database wpdb;
MariaDB [wpdb]> grant all on wpdb.* to wpuser@'192.168.40.%' identified by '123123';

将源码包解压到网页目录下

tar xf wordpress-5.0.3-zh_CN.tar.gz -C /var/www/html/
# 切换目录
cd /var/www/html/

# 授权管理数据库Apache用户ACL权限给wordpress目录全部权限
setfacl -Rm u:apache:rwx wordpress/

# 查看权限
getfacl wordpress/	
# file: wordpress/
# owner: 1006
# group: 1006
user::rwx
user:apache:rwx
group::r-x
mask::rwx
other::r-x

通过浏览器直接访问并设置

https://www.my.wordpress.com

出现如下界面:
在这里插入图片描述
继续!!!
在这里插入图片描述
继续!!!
在这里插入图片描述
然后又回到了之前的界面,后面就都一样了!!!
在这里插入图片描述

登录后 wp-config.php 文件自动会创建出来,并且内容不需要我们修改会自动生成!!!

在配置完成后要回收之前设置的ACL权限

setfacl -Rb wordpress/

安装完成!


自建CA并颁发证书

全部操作均在一台设备上
1 建立CA

cd /etc/pki/CA
# 创建CA私钥
(umask 077;openssl genrsa -out private/cakey.pem 4096)

CA为自己颁发证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650 << EOF
CN
beijing
beijing
Linux
devops
ca.Linux.com
[email protected]
EOF
# 此命令执行会出现一些信息,不用担心,不是报错,可使用echo $?查看返回值

# 创建已颁发证书记录文件
touch /etc/pki/CA/index.txt
# 创建证书序列号文件
echo 01 > /etc/pki/CA/serial

2 客户端申请证书

# 创建专用目录
mkdir /etc/httpd/conf.d/ssl/

cd /etc/httpd/conf.d/ssl/
# 创建私钥
(umask 066;openssl genrsa -out httpd.key 1024)

# 生成证书申请
openssl req -new -key httpd.key -out httpd.csr
输入:
	Country Name (2 letter code) [XX]:CN				此项必须创建CA时指定的相同
	State or Province Name (full name) []:beijing		此项必须创建CA时指定的相同
	Locality Name (eg, city) [Default City]:beijing
	Organization Name (eg, company) [Default Company Ltd]:Linux 	此项必须创建CA时指定的相同
	Organizational Unit Name (eg, section) []:devops
	Common Name (eg, your name or your server's hostname) []:www.my.wordpress.com	此项就是将来要通过https访问的域名
后面还有信息,可不填,如有需求就填写	
注意:生成证书申请的时候就会指定为哪个域名申请的,到时候访问的时候只能使用此域名实现https加密访问

# 将证书申请发往CA服务器
scp	/etc/httpd/conf.d/ssl/httpd.csr /etc/pki/CA/

3 CA颁发证书

openssl ca -in /etc/pki/CA/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 100
出现以下提示:
	在证书上签字 [y/n]? y
	证书的请求已认证,提交 [y/n]?y

4 将CA证书和客户端颁发的证书复制回客户端

cp /etc/pki/CA/certs/httpd.crt /etc/httpd/conf.d/ssl/
cp /etc/pki/CA/cacert.pem /etc/httpd/conf.d/ssl/    

5 编辑配置文件

vim /etc/httpd/conf.d/ssl.conf 

# 找到下面几项将路径更换为,自己的证书路径和CA的证书路径
SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key
SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem

保存退出重启

6 客户端测试

# 在客户端测试时,要确保DNS可以解析,也可以写到/etc/hosts文件中
# windows的hosts文件路径:
C: -> windows -> system32 -> drivers -> etc -> hosts

# 首先要将自搭建CA证书添加到Windows的根证书列表中
将你的CA证书传到桌面
打开控制面板->网络和Internet->internet选项->内容->证书->导入->找到CA证书导入即可
发布了63 篇原创文章 · 获赞 0 · 访问量 2216

猜你喜欢

转载自blog.csdn.net/qq_43058911/article/details/103147897