ubuntu

如何在Ubuntu上使用MariaDB进行Web开发

小樊
48
2025-10-16 14:14:03
栏目: 云计算

在Ubuntu上使用MariaDB进行Web开发的完整流程

1. 准备基础环境

在Ubuntu上搭建Web开发环境,需先安装Nginx(Web服务器)MariaDB(数据库)PHP(服务器端脚本)。推荐使用apt包管理器快速安装:

sudo apt update && sudo apt upgrade -y  # 更新系统包
sudo apt install nginx mariadb-server php-fpm php-mysql -y  # 安装Nginx、MariaDB、PHP及MySQL扩展

安装完成后,启动并设置服务开机自启:

sudo systemctl start nginx mariadb php-fpm  # 启动服务
sudo systemctl enable nginx mariadb php-fpm  # 开机自启

验证Nginx是否运行:在浏览器访问服务器IP,应看到“Welcome to Nginx”页面。

2. 配置MariaDB数据库

2.1 运行安全脚本

MariaDB安装后需运行mysql_secure_installation,设置root密码、删除匿名用户、禁用远程root登录等:

sudo mysql_secure_installation

按提示操作(如设置root密码、移除测试数据库),提升数据库安全性。

2.2 创建数据库与用户

登录MariaDB控制台:

sudo mysql -u root -p  # 输入root密码

创建数据库(如my_web_db)和专用用户(如web_user),并授权:

CREATE DATABASE my_web_db;  -- 创建数据库
CREATE USER 'web_user'@'localhost' IDENTIFIED BY 'StrongPassword123';  -- 创建用户(强密码)
GRANT ALL PRIVILEGES ON my_web_db.* TO 'web_user'@'localhost';  -- 授权用户对数据库的所有权限
FLUSH PRIVILEGES;  -- 刷新权限使变更生效
EXIT;  -- 退出控制台

注意:避免使用root用户直接连接Web应用,降低安全风险。

3. 配置PHP与MariaDB连接

确保PHP已启用mysqli(传统方式)或pdo_mysql(现代方式)扩展,用于连接MariaDB:

sudo phpenmod mysqli pdo_mysql  # 启用扩展
sudo systemctl restart php-fpm  # 重启PHP-FPM服务

验证扩展是否加载:

php -m | grep -E 'mysqli|pdo_mysql'  # 应输出mysqli和pdo_mysql

3.1 测试PHP连接MariaDB

创建测试脚本/var/www/html/testdb.php(需确保/var/www/html为Nginx默认根目录):

<?php
$servername = "localhost";
$username = "web_user";
$password = "StrongPassword123";
$dbname = "my_web_db";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "数据库连接成功!";
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
$conn = null;
?>

在浏览器访问http://服务器IP/testdb.php,若显示“数据库连接成功!”则说明配置正确。

4. 部署Web应用(以WordPress为例)

4.1 下载并配置WordPress

下载WordPress最新版本:

cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz  # 解压
sudo mv wordpress/* .  # 移动文件到根目录
sudo rm -rf wordpress latest.tar.gz  # 删除临时文件

设置目录权限:

sudo chown -R www-data:www-data /var/www/html  # 赋予Nginx用户所有权
sudo chmod -R 755 /var/www/html  # 设置合理权限

4.2 创建WordPress配置文件

复制示例配置文件并修改数据库信息:

cd /var/www/html
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

修改以下内容(对应之前创建的数据库和用户):

define('DB_NAME', 'my_web_db');
define('DB_USER', 'web_user');
define('DB_PASSWORD', 'StrongPassword123');
define('DB_HOST', 'localhost');

保存并退出(Ctrl+OEnterCtrl+X)。

4.3 完成WordPress安装

在浏览器访问http://服务器IP,按照WordPress向导设置站点标题、管理员账号等信息,即可完成安装。

5. 安全加固

5.1 限制MariaDB远程访问(可选)

若需远程访问数据库,编辑MariaDB配置文件:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

找到bind-address = 127.0.0.1,改为bind-address = 0.0.0.0(允许所有IP访问),保存后重启服务:

sudo systemctl restart mariadb

然后登录MariaDB,授权远程用户:

GRANT ALL PRIVILEGES ON my_web_db.* TO 'web_user'@'%' IDENTIFIED BY 'StrongPassword123';
FLUSH PRIVILEGES;

警告:远程访问需配合防火墙(如ufw)限制IP范围,避免未授权访问。

5.2 配置HTTPS(推荐)

使用Let’s Encrypt免费SSL证书,加密Web流量:

sudo snap install --classic certbot  # 安装Certbot
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com  # 获取证书

按提示操作,Certbot会自动配置Nginx支持HTTPS。

通过以上步骤,你已在Ubuntu上搭建了MariaDB支持的Web开发环境,可部署WordPress、Typecho等内容管理系统,或开发自定义Web应用。

0
看了该问题的人还看了