wordpress 6.5.2版本安装记录

环境准备

鉴于工作中用到红帽系的服务器操作系统居多,本文选择Rocky Linux 8.9版本作为部署环境,Apache、MariaDB、PHP等均通过手动安装的方式。如果您不了解Linux系统,也不熟悉LAMP,那建议您还是选择虚拟主机提供商的预装服务。

计划安装的版本如下:

  • 操作系统:Rocky Linux 8.9
  • Apache:2.4.37
  • MariaDB:10.6
  • PHP:8.3

如果个人安装操作系统进行测试,建议关闭selinux、firewalld,命令如下:

复制代码
# 临时修改selinux的模式为permissive
setenforce 0
# 建议修改/etc/selinux/config,修改为SELINUX=disabled,需要重启操作系统生效

# 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld

Apache安装配置

安装

Apache安装相对简单,建议直接通过yum安装即可,安装命令如下:

复制代码
yum install httpd

Rocky Linux 8.9默认安装的版本是2.4.37。

配置虚拟主机

创建运行账户,不建议使用apache账户运行

复制代码
useradd wptest

创建虚拟主机目录为/home/wptest/www/html

复制代码
# 创建目录
mkdir -p /home/wptest/www/html

#设置目录所有者和权限
chown wptest:wptest -R /home/wptest/www/html
chmod 755 -R /home/wptest/www/html

在/etc/httpd/conf.d目录下创建文件:wptest.conf,内容如下:

复制代码
<VirtualHost *:80>
ServerAdmin  admin@mailabc.cn
ServerName  www.mailabc.cn
ServerAlias  www
DocumentRoot /home/wptest/www/html
<Directory "/home/wptest/www/html/">
    Options  FollowSymLinks
    AllowOverride  All
    Require  all  granted
</Directory>
ErrorLog /var/log/httpd/wptest_error.log
CustomLog /var/log/httpd/wptest_access.log combined
</VirtualHost>

修改httpd运行账户为wptest,修改/etc/httpd/conf/httpd.conf配置文件:

复制代码
User wptest
Group wptest

配置httpd开机自启动

复制代码
systemctl enable httpd
systemctl start httpd

直接在浏览器中访问http://your_ip/可以出现apache默认的界面即表示安装完成。

MariaDB安装配置

配置MariaDB yum源

MariaDB的yum源可以直接到官方获取:https://mariadb.org/download/?t=repo-config\&d=Red+Hat+Enterprise+Linux+8\&v=10.6\&r_m=aliyun

也可以采用下面的内容:

复制代码
# MariaDB 10.6 RedHatEnterpriseLinux repository list - created 2024-04-08 13:57 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.6/rhel/$releasever/$basearch
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.6/rhel/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

在/etc/yum.repos.d 目录创建mariadb.repo文件,输入上面内容或者从官网获取的repo文件内容。然后执行下面命令建立缓存:

复制代码
yum makecache

安装MariaDB

最后采用下面的命令进行安装即可:

复制代码
yum install MariaDB-server MariaDB-client

配置MariaDB

首先启动服务,并设置开机自启动:

复制代码
systemctl start mariadb
systemctl enable mariadb

默认情况下,初始安装后,root账号(此root账号非操作系统root账号,是指MariaDB的root账号)密码为空,需要给root账户设置一个密码(网上五花八门的方法,很多不靠谱,这里针对的是10.6版本的MariaDB),建议按照下面的方法执行:

复制代码
# root账号登录MariaDB
mysql -u root

# 登录MariaDB之后,输入下面的命令修改root密码。下面命令中your_password换成你要改的密码
alter user root@localhost identified via mysql_native_password using password('your_password');

建议删除test数据库,登录数据库之后,执行如下命令:

复制代码
drop database test;

为wordpress创建数据库和账户

创建名为wptestdb的数据库(后面配置wordpress会用到):

复制代码
create database wptestdb;

授权wptest用户访问wptestdb数据库,并给wptest用户设置一个密码(需要修改下面your_password密码,后面配置wordpress会用到):

复制代码
grant all on blogdb.* to mailabc@localhost identified by 'your_password';

安装配置PHP

配置PHP yum源

配置EPEL yum源,并手动导入remi的yum源:

复制代码
yum install epel-release
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.9.rpm

小技巧:可以进入 Index of /enterprise 这里找你需要的操作系统版本对应的yum源。

安装PHP8.3

按照下面命令安装:

复制代码
yum install php83-php php83-php-mysqlnd php83-php-pecl-imagick php83-php-pecl-zip php83-php-gd php83-php-intl

小技巧:上面安装了很多php的插件,这些基本上都是能用到的,建议直接安装。要不然后面会有各种各样的小问题。

修改php-fpm的启动用户和组为wptest,这一步是和上面httpd配置相呼应。修改配置文件/etc/opt/remi/php83/php-fpm.d/www.conf 下面几个配置:

复制代码
user wptest
group wptest

#这里如果不配置,wptest用户将无法读取/var/opt/remi/php83/run/php-fpm/www.sock 这个scoket文件。
listen.acl_users = wptest

小技巧:这一步很重要,我在这里踩坑,每次重启php-fpm服务后/var/opt/remi/php83/run/php-fpm/www.sock 文件权限都会变为root,导致wptest用户无法读取该文件。上面的配置是通过acl权限列表的方式,对该文件增加wptest用户的访问权限。

配置自启动

复制代码
systemctl enable php83-php-fpm
systemctl start php83-php-fpm

测试php运行状态

在/home/wptest/www/html目录下创建phpinfo.php文件,内容如下:

复制代码
<?php phpinfo(); ?>

然后在浏览器中访问该文件,如http://your_ip/phpinfo.php,如果正常返回php的版本信息页面说明配置成功。

至此,LAMP环境配置完成。

wordpress安装

下载最新版本

复制代码
wget https://cn.wordpress.org/latest-zh_CN.zip

放到httpd虚拟主机目录下解压,示例中所在目录/home/wptest/www/html:

复制代码
gunzip latest-zh_CN.zip

解压之后,需要把文件放到上面html直属目录。

配置

通过下面命令,创建wordpress的配置文件:

复制代码
cp wp-config-sample.php wp-config.php

修改wp-config.php文件,需要定义:

  • DB_NAME:数据库名称,示例中对应wptestdb

  • DB_USER:访问数据库用户,示例中对应wptest

  • DB_PASSWORD:访问数据库用户对应的密码

    /** The name of the database for WordPress /
    define( 'DB_NAME', 'wptestdb' );
    /
    * Database username /
    define( 'DB_USER', 'wptest' );
    /
    * Database password /
    define( 'DB_PASSWORD', 'your_password' );
    /
    * Database hostname /
    define( 'DB_HOST', 'localhost' );
    /
    * Database charset to use in creating database tables. /
    define( 'DB_CHARSET', 'utf8' );
    /
    * The database collate type. Don't change this if in doubt. */
    define( 'DB_COLLATE', '' );

此外,下面这些也建议修改,可以 https://api.wordpress.org/secret-key/1.1/salt/ 直接生成替换掉下面内容即可:

复制代码
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

初始化

下面通过浏览器访问http://your_ip/进行初始化即可。

总结

至此,wordpress部署完成。后面有时间再介绍通过nginx做反向代理、部署https服务等。

实际部署过程中可能会遇到各种问题,但最终这些问题都是可以解决的,需要保持耐心。如果你也遇到了难题,可以留言探讨。

参考来源:wordpress 6.5.2版本安装记录 | MailABC邮件知识百科

相关推荐
JaguarJack1 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo1 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack2 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay3 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954483 天前
CTF 伪协议
php
BingoGo5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo6 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack6 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack7 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端