在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”页面。
MariaDB安装后需运行mysql_secure_installation,设置root密码、删除匿名用户、禁用远程root登录等:
sudo mysql_secure_installation
按提示操作(如设置root密码、移除测试数据库),提升数据库安全性。
登录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应用,降低安全风险。
确保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
创建测试脚本/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,若显示“数据库连接成功!”则说明配置正确。
下载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 # 设置合理权限
复制示例配置文件并修改数据库信息:
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+O→Enter→Ctrl+X)。
在浏览器访问http://服务器IP,按照WordPress向导设置站点标题、管理员账号等信息,即可完成安装。
若需远程访问数据库,编辑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范围,避免未授权访问。
使用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应用。