ubuntu lamp服务器配置要点
导读:Ubuntu LAMP服务器配置要点 一、系统准备与基础更新 在配置LAMP前,需确保系统处于最新状态,以避免已知安全漏洞。执行以下命令更新软件包列表及已安装的包: sudo apt update && sudo apt u...
Ubuntu LAMP服务器配置要点
一、系统准备与基础更新
在配置LAMP前,需确保系统处于最新状态,以避免已知安全漏洞。执行以下命令更新软件包列表及已安装的包:
sudo apt update &
&
sudo apt upgrade -y
建议使用Ubuntu LTS(长期支持)版本(如20.04、24.04),以获得更长的安全更新周期。
二、LAMP组件安装
LAMP由Apache(Web服务器)、MySQL(数据库)、PHP(脚本语言)组成,安装步骤如下:
- 安装Apache:运行
sudo apt install apache2
,安装完成后通过浏览器访问服务器IP,若看到Apache默认页面则说明成功。 - 安装MySQL:运行
sudo apt install mysql-server
,安装过程中需设置root用户密码(强密码,包含大小写字母、数字和符号)。 - 安装PHP及扩展:运行
sudo apt install php libapache2-mod-php php-mysql
,安装后重启Apache以加载PHP模块:sudo systemctl restart apache2
。
三、Apache配置优化
- 启用必要模块:Apache需启用
rewrite
(URL重写,用于WordPress等框架)、headers
(设置HTTP头,增强安全性)模块,执行:
sudo a2enmod rewrite headers
,然后重启Apache:sudo systemctl restart apache2
。 - 修改默认配置:编辑Apache默认站点配置文件(
/etc/apache2/sites-available/000-default.conf
),调整以下参数:- 设置
DirectoryIndex
优先加载PHP文件:DirectoryIndex index.php index.html
; - 关闭目录列表(防止敏感文件泄露):在
< Directory>
块中添加Options -Indexes
; - 设置默认字符集为UTF-8(避免乱码):在
apache2.conf
中添加AddDefaultCharset UTF-8
。
- 设置
- 配置虚拟主机(可选):如需托管多个网站,可在
/etc/apache2/sites-available/
下创建配置文件(如example.com.conf
),内容示例:
启用配置:< VirtualHost *:80> ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${ APACHE_LOG_DIR} /error.log CustomLog ${ APACHE_LOG_DIR} /access.log combined < /VirtualHost>
sudo a2ensite example.com.conf
,然后重启Apache。
四、MySQL安全配置
- 运行安全脚本:安装后执行
sudo mysql_secure_installation
,按提示完成以下操作:- 设置root密码(若未设置);
- 删除匿名用户;
- 禁止root远程登录;
- 删除测试数据库。
- 日常安全维护:
- 使用预处理语句(PDO或MySQLi)防止SQL注入;
- 为用户分配最小权限(如仅授予
SELECT
、INSERT
权限,而非ALL
); - 定期备份数据库(使用
mysqldump
或工具如Duplicity
)。
五、PHP安全与性能配置
- 修改php.ini文件:编辑
/etc/php/7.x/apache2/php.ini
(版本号因安装的PHP版本而异),调整关键参数:- 关闭错误显示(防止敏感信息泄露):
display_errors = Off
; - 开启错误日志(便于排查问题):
log_errors = On
,并设置error_log
路径; - 限制上传文件大小(避免服务器被大文件占满):
upload_max_filesize = 10M
,post_max_size = 10M
; - 禁用危险函数(如
eval
、exec
):在disable_functions
中添加eval,exec,system
。
- 关闭错误显示(防止敏感信息泄露):
- 启用OpCode缓存:安装OPcache扩展(
sudo apt install php-opcache
),并在php.ini
中启用:
重启Apache使配置生效。zend_extension=opcache.so opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60
六、安全加固措施
- 防火墙配置:使用UFW(Uncomplicated Firewall)限制访问,仅开放必要端口:
- 允许SSH(默认22端口,若修改了端口需对应调整):
sudo ufw allow 22/tcp
; - 允许HTTP(80端口)和HTTPS(443端口):
sudo ufw allow 'Apache Full'
; - 启用防火墙:
sudo ufw enable
,查看状态:sudo ufw status
。
- 允许SSH(默认22端口,若修改了端口需对应调整):
- SSH安全加固:编辑
/etc/ssh/sshd_config
,修改以下参数:- 禁止root直接登录:
PermitRootLogin no
; - 使用密钥认证(更安全):
PasswordAuthentication no
; - 修改SSH默认端口(如2222):
Port 2222
(需在防火墙中开放该端口);
重启SSH服务:sudo systemctl restart sshd
。
- 禁止root直接登录:
- 暴力破解防护:安装Fail2Ban(
sudo apt install fail2ban
),编辑/etc/fail2ban/jail.local
,启用SSH防护:
重启Fail2Ban:[sshd] enabled = true port = 22 filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 600
sudo systemctl restart fail2ban
。 - 定期更新与备份:
- 定期执行
sudo apt update & & sudo apt upgrade
,确保系统和软件包最新; - 备份网站文件(
/var/www/html
)和数据库(使用mysqldump
),存储到外部设备或云存储。
- 定期执行
七、测试与验证
- 验证Apache:浏览器访问服务器IP,应看到Apache默认页面;
- 验证PHP:在
/var/www/html
下创建info.php
文件,内容为< ?php phpinfo(); ?>
,访问该文件应显示PHP信息页面; - 验证MySQL:登录MySQL(
mysql -u root -p
),执行简单查询(如SHOW DATABASES;
),确认数据库正常运行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp服务器配置要点
本文地址: https://pptw.com/jishu/725959.html