内容概要:本文详细介绍了如何在 Ubuntu 虚拟机环境中配置 PostgreSQL 和 MySQL,以及如何将 WordPress 集成到 PostgreSQL 中。主要包括设置 PostgreSQL 访问权限、修改配置文件、安装必要的 PHP 扩展、克隆 GitHub 项目并调整 WordPress 配置文件等内容。
适合人群:具备一定 Linux 和数据库基础的技术人员,特别是对 WordPress 和 PostgreSQL 集成有兴趣的开发者。
使用场景及目标:本文适用于希望将 WordPress 后端数据库从 MySQL 迁移到 PostgreSQL 的场景,旨在提升系统性能和安全性。
阅读建议:本文涉及多个步骤和技术细节,建议按部就班地操作,并仔细检查每个命令和配置项。对于初学者,可以先熟悉每一步骤的具体意义再进行实际操作。
wordpress
WordPress是一个开源的内容管理系统(CMS)和博客平台,它使用PHP和MySQL构建。该平台提供了一个直观和用户友好的界面,使用户能够轻松地创建、编辑和管理网站内容。WordPress拥有庞大的主题和插件库,用户可以根据需求选择适合自己网站风格的主题,并通过添加插件来扩展网站的功能。它支持多种语言,包括中文,并且足够灵活,可以适应从个人博客到大型企业网站的各种需求。由于其易用性、可扩展性和强大的社区支持,WordPress已成为世界上最受欢迎的网站构建器之一。
在安装之前,你需要准备以下环境: 搭建LAMP环境
安装apache
sudo apt update
sudo apt install apache2
安装完成后,启动并检查Apache是否运行:
sudo systemctl start apache2
sudo systemctl status apache2
安装PHP及其相关扩展:
sudo apt install php libapache2-mod-php php-mysql
安装MySQL并进行简单配置(只有MySQL在另一台虚拟机下载):
sudo apt install mysql-server
sudo mysql_secure_installation
mysql -u root -p
在MySQL命令行中运行以下命令:
#创建数据库
CREATE DATABASE wordpressdb;
#创建用户
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
#为用户添加访问数据库的权限
GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpressuser'@'localhost';
#修改mysql配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address =127.0.0.1改成10.0.2.4(本机IP地址)
#重新加载数据库
FLUSH PRIVILEGES;
EXIT;
下载并安装WordPress
先进入目录/var/www/html/
cd /var/www/html
#使用以下命令下载最新版本的WordPress
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
配置WordPress
为WordPress目录设置合适的权限:
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
复制并配置WordPress配置文件:
cd /var/www/html/wordpress
#备份wordpress配置文件
cp wp-config-sample.php wp-config.php
编辑wp-config.php文件:
sudo vi wp-config.php
将以下部分替换为你创建的数据库信息:
define( 'DB_NAME', 'wordpressdb' );
define( 'DB_USER', 'wordpressuser' );
define( 'DB_PASSWORD', 'changeme' );
define( 'DB_HOST', 'localhost(数据库所在虚拟机的IP地址)' );
两台虚拟机执行如下相同操作
grant all privileges on test.* to root@'%';(UPDATE mysql.user SET Host = '%' WHERE User = 'root' AND Host = 'localhost';)
SELECT user, host FROM mysql.user;
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address改为0.0.0.0
更改完成后进入navicat进行测试连接
由于默认安装完postgresql只允许本机访问,如果需要其他方式使用(后端连接、navicat)需要修改配置文件postgresql.conf和pg_hba.conf。文件位置一般为/etc/postgresql/12/main/postgresql.conf和/etc/postgresql/12/main/pg_hba.conf。
修改配置文件
重启postgresql数据库
环境准备
PHP 8.1
PostgreSQL 14或兼容版本
WordPress 最新稳定版
Wordpress
进到ubuntu1里面的wordpress的/var/www/html/wordpress/wp-config.php修改配置文件,,如下图,修改成相应创建的内容
(1)进到wordpress里面的wp-content目录
cd wp-content
(2)下载pg4wp
git clone https://github.com/PostgreSQL-For-Wordpress/postgresql-for-wordpress.git pg4wp-temp
(3)将文件里面pg4wp-temp/pg4wp的pg4wp放到和wp-content目录同级
mv pg4wp-temp/pg4wp Pg4wp
(4)删除文件
rm -rf pg4wp-temp
(5)将文件PG4(在wp-content)里面的db.php放到和wp-content目录同级
cp Pg4wp/db.php db.php
(6)下载php8.1的扩展包
apt-get install php8.1-pgsql php8.1-pdo-pgsql
(7)修改php的配置文件/etc/php/8.1/apache2/php.ini,将下面两个(在939和941行前面)的分号去掉extension=pdo_pgsql和extension=pgsql
(8)进到wordpress登录界面可能还出现Connection Information的情况,只需要在/var/www/html/wordpress/wp-config.php里面添加define(‘FS_METHOD’, direct;);即可登录进去