在Ubuntu下配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境并确保其安全性,可以遵循以下步骤:
首先,更新系统包列表并安装Nginx:
sudo apt update
sudo apt install nginx
安装完成后,通过浏览器访问服务器IP地址,检查Nginx是否安装成功。
接下来,安装MySQL或MariaDB:
sudo apt install mysql-server
安装过程中,系统会提示设置MySQL的root密码,请务必设置一个强密码。
安装完成后,运行以下命令以安全配置MySQL:
sudo mysql_secure_installation
按照提示操作,包括更改root密码、删除匿名用户、禁止远程root登录等。
安装PHP及其必要的扩展:
sudo apt install php-fpm php-mysql
编辑Nginx的默认配置文件:
sudo vim /etc/nginx/sites-available/default
在server
块中,找到location ~ \.php$
部分,确保以下配置存在且未被注释:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
保存并退出编辑器,然后重启Nginx服务:
sudo systemctl restart nginx
/etc/ssh/sshd_config
文件,更改SSH默认端口为一个非标准端口,例如2222,以减少暴力破解攻击的风险。/etc/ssh/sshd_config
文件,将PubkeyAuthentication
设置为yes
,并禁用密码认证。ufw
允许必要的端口,如SSH(修改后的端口)和HTTP:sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
unattended-upgrades
包实现系统的自动更新,并定期手动运行sudo apt update && sudo apt upgrade
以安装最新的安全补丁。最后,通过创建一个info.php
文件在网站的根目录来测试PHP配置是否正确:
<?php
phpinfo();
?>
保存文件后,通过浏览器访问服务器的IP地址加上/info.php
,如果能看到PHP的信息,则说明配置成功。
以上步骤涵盖了在Ubuntu下安装和配置LNMP环境的基本流程,以及一系列安全加固措施,以确保服务器的安全性和稳定性。