Apache无法启动
sudo tail -f /var/log/apache2/error.log查看实时错误日志,常见原因包括配置文件语法错误、模块未加载、权限不足等。sudo apachectl configtest,若输出“Syntax OK”则配置文件无问题,否则根据提示修复(如000-default.conf中模块路径错误)。www-data)有权访问网站目录,执行sudo chown -R www-data:www-data /var/www/html更改所有权,sudo chmod -R 755 /var/www/html设置合理权限。MariaDB/MySQL无法启动
sudo journalctl -u mariadb(或sudo journalctl -u mysql)查看详细错误日志,常见原因包括配置文件错误(如my.cnf中innodb_buffer_pool_size设置超过系统内存)、端口冲突(3306被占用)。/etc/mysql/mariadb.conf.d/50-server.cnf,确保配置项合理(如innodb_buffer_pool_size设置为系统内存的50%-80%,避免过大)。sudo systemctl restart mariadb,若仍无法启动,尝试sudo systemctl reset-failed mariadb重置服务状态。PHP无法正常工作(如无法解析.php文件)
sudo a2enmod php7.x(如php7.4,根据安装版本调整)启用PHP模块,然后sudo systemctl restart apache2重启Apache。/etc/apache2/mods-available/php7.load)中包含SetHandler application/x-httpd-php,以正确处理.php文件。/var/www/html下创建info.php(内容为<?php phpinfo(); ?>),通过浏览器访问http://服务器IP/info.php,若能看到PHP信息页面则配置成功。网站文件权限问题(如“Permission denied”错误)
/var/www/html)的所有权赋予www-data用户和组,执行sudo chown -R www-data:www-data /var/www/html。sudo chmod -R 755 /var/www/html设置目录权限(755:所有者可读写执行,其他用户可读执行),对于上传目录(如uploads)可设置为775(允许组用户写入)。MariaDB root密码忘记或无法登录
sudo systemctl stop mariadb),以安全模式启动(sudo mysqld_safe --skip-grant-tables &),无密码登录(mysql -u root),执行以下SQL语句重置密码:FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
退出(exit),重启MariaDB服务(sudo systemctl restart mariadb)。PHP模块缺失(如“Call to undefined function”错误)
php-mysql模块(sudo apt install php-mysql),“undefined function mysqli_connect()”需安装php-mysqli模块。sudo phpenmod 模块名(如sudo phpenmod mysql)启用模块,然后重启Apache(sudo systemctl restart apache2)。防火墙阻止HTTP/HTTPS访问
ufw(Uncomplicated Firewall)允许Apache服务,执行sudo ufw allow 'Apache Full'(同时允许HTTP端口80和HTTPS端口443),然后启用防火墙(sudo ufw enable)。sudo ufw status,确认“Apache Full”规则处于“ACTIVE”状态。