LAMP+Wordpress搭建个人博客

什么是LAMP

LAMP 的全称是 Linux + Apache + MySQL + PHP

  • Linux 是类 Unix 计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo 等。

  • Apache 是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

  • PHP 是一种在服务器端执行的嵌入 HTML 文档的脚本语言。

  • MySQL 是一个关系型数据库管理系统。

这些软件一个一个安装比较费力,特别是数据库。
因此有人把这些软件的安装部署过程集成为一个 Shell 脚本,而你只要下载并执行它就可以了。
可以使用如下命令安装

# 下载wget工具、unzip工具
yum install -y wget unzip

# 下载脚本
wget https://github.com/teddysun/lamp/archive/master.zip -O lamp.zip

# 解压缩
unzip lamp.zip

# 进入解压目录,增加权限,执行脚本
cd lamp-master
chmod 755 lamp.sh 
./lamp.sh

这里我不选择使用该方法,原因有二

  • 更精细的部署步骤会让你对 WordPress 的运作方式有更深的理解,比如使用了哪些软件,装了哪些包
  • 己搭建了网站,难免以后会碰到各种各样的服务器问题,尽早的接触 Linux,熟悉各项配置,对以后的运维工作会有很有帮助

什么是wordpress

Wordpress是一款全球流行的免费开源的建站程序,提供了海量的主题和丰富的插件。Wordpress最初是一款面向博客搭建的建站程序,但现在也有很多其他类型的网站都是使用它搭建的。数据显示这个蓝星上超过35%的网站都是基于wordpress的。无论是发布博文的个人博客,还是社交资讯网站,亦或者是电子商务和企业门户,借助wordpress,即便不会写代码,你也可以轻松搭建

搭建LAMP软件环境

# 更新软件包
[root@lxc ~]# yum update

# 安装httpd、MySQL
[root@lxc ~]# yum install -y httpd mariadb-server mariadb

# 启动apache服务和数据库服务
[root@lxc ~]# systemctl enable httpd mariadb
[root@lxc ~]# systemctl start httpd mariadb

# 安装php
[root@lxc ~]# yum install -y epel-release
# 下载外部php源
[root@lxc ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@lxc ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 查看可安装的php版本
[root@lxc ~]# yum list | grep php
# 安装指定版本的php和php-mysql
[root@lxc ~]# yum install -y php56w php56w-fpm php56w-mysql

# 查看端口是否都打开
[root@lxc ~]# ss -tanl
State       Recv-Q Send-Q                                        Local Address:Port                                                       Peer Address:Port              
LISTEN      0      128                                                       *:22                                                                    *:*                  
LISTEN      0      100                                               127.0.0.1:25                                                                    *:*                  
LISTEN      0      50                                                        *:3306                                                                  *:*                  
LISTEN      0      100                                                   [::1]:25                                                                 [::]:*                  
LISTEN      0      128                                                    [::]:80                                                                 [::]:*                  

# 查看http模块里有没有php模块
[root@lxc ~]# httpd -M
...
 php5_module (shared)
...

设置数据库密码确保连接

# 数据库安全脚本,为了安全用来初始化设置密码的
[root@lxc ~]# mysql_secure_installation

# 用户名密码登陆数据库 '-u'后面用户 '-p'后面密码
[root@lxc ~]# mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> quit
Bye

配置MySQL数据库

# 为wordpress配置一个数据库
[root@lxc ~]# mysql -uroot -p
Enter password:   # 根据提示输入MySQL密码

# 为wordpress创建一个叫wordpress的数据库
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

# 为这个用户配置数据库的访问权限
MariaDB [(none)]> grant all privileges on wordpress.* to 'wordpress'@'localhost' identified by '1';
Query OK, 0 rows affected (0.01 sec)

# 生效这些配置
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 退出MySQL
MariaDB [(none)]> exit;
Bye

安装并配置wordpress

# 下载wordpress
[root@lxc ~]# wget https://cn.wordpress.org/wordpress-5.6.2-zh_CN.tar.gz

# 解压wordpress安装包
[root@lxc ~]# tar xvzf wordpress-5.6.2-zh_CN.tar.gz

[root@lxc ~]# cp wordpress/wp-config-sample.php wordpress/wp-config.php

[root@lxc ~]# vim wordpress/wp-config.php 
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );

/** MySQL数据库用户名 */
define( 'DB_USER', 'wordpress' );

/** MySQL数据库密码 */
define( 'DB_PASSWORD', '123456' );

/** MySQL主机 */
define( 'DB_HOST', 'localhost' );



# 由于PHP默认访问/var/www/html/文件夹,所以需要把wordpress文件夹里的文件都复制到/var/www/html/文件夹
[root@lxc ~]# cp -ar wordpress/* /var/www/html/

# 修改/var/www/html/目录权限
[root@lxc ~]# chmod -R 755 /var/www/html/

浏览器输入IP地址访问,输入网站基本信息后,安装wordpress
wodpress
安装结束,我们已经拥有了一个自己的网址,但是这并不完美,别人访问网址难不成要记住IP地址?所以接下来要完成域名的解析工作

域名解析

我的域名是在腾讯云购买,其余云服务域名商的操作类似
首先进入控制台,进入域名解析管理页面,选择解析
解析
然后新手可以选择快速添加网站/邮箱解析,选择网站解析,立即设置,输入服务器的IP地址即可,此时就可以使用域名访问刚刚搭建的博客了

部署HTTPS

但此时使用域名访问仍会发现一个问题,以我的chrome浏览器为例,浏览器会自动提示不安全,因为没有使用HTTPS
https

因此,下面接着部署HTTPS

  • 首先去申请HTTPS证书,有免费版的,我这里直接在腾讯云,当然也可以在宝塔等平台申请
    • 申请HTTPS证书时需要输入域名,可能需要等待片刻
  • 然后将申请到的HTTPS证书下载到本地,将压缩包解压
    • 解压后的文件夹中会有Apache、IIS、Nginx、Tomcat的子文件夹
    • 使用哪一种Web服务器就将对应子文件夹中的文件部署在服务器的配置文件中

这里我以Apache为例

  • 安装 mod_ssl 模块和上传ssl文件
# 安装mode_ssl模块
[root@lxc ~]# yum install -y mod_ssl

# 在Apache的目录下新建一个文件夹,名称随意。我这边的文件夹名字是cert。
[root@lxc ~]# mkdir /etc/httpd/cert

# 然后使用远程拷贝软件将Apache子文件夹中的三个文件放到这个文件夹里面
  • 修改 ssl 配置文件
[root@lxc ~]# vim /etc/httpd/conf.d/ssl.conf 

SSLCertificateFile /etc/httpd/cert/2_xxx.xxx.crt
SSLCertificateKeyFile /etc/httpd/cert/3_xxx.xxx.key
SSLCertificateChainFile /etc/httpd/cert/1_root_bundle.crt
# 也可能是以下形式(视证书而定)
SSLCertificateFile /etc/httpd/cert/xxx_public.crt
SSLCertificateKeyFile /etc/httpd/cert/xxx.key
SSLCertificateChainFile /etc/httpd/cert/xxx_chain.crt

# 继续修改443端口站点信息
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName www.xxx.xxx:443  # 域名:443

<Directory "/var/www/html">
        Options FollowSymLinks ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
</Directory>
...
</VirtualHost>
  • 修改Apache配置文件
[root@lxc ~]# vim /etc/httpd/conf/httpd.conf
# 找到该行将#去掉,没有则添加
LoadModule ssl_module modules/mod_ssl.so 

# 部分需要添加该行,但是我添加报错
Include /etc/httpd/conf.d/ssl.conf
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值