Ubuntu LAMP服务器配置要点
在配置LAMP前,需确保系统处于最新状态,以避免已知安全漏洞。执行以下命令更新软件包列表及已安装的包:
sudo apt update && sudo apt upgrade -y
建议使用Ubuntu LTS(长期支持)版本(如20.04、24.04),以获得更长的安全更新周期。
LAMP由Apache(Web服务器)、MySQL(数据库)、PHP(脚本语言)组成,安装步骤如下:
sudo apt install apache2,安装完成后通过浏览器访问服务器IP,若看到Apache默认页面则说明成功。sudo apt install mysql-server,安装过程中需设置root用户密码(强密码,包含大小写字母、数字和符号)。sudo apt install php libapache2-mod-php php-mysql,安装后重启Apache以加载PHP模块:sudo systemctl restart apache2。rewrite(URL重写,用于WordPress等框架)、headers(设置HTTP头,增强安全性)模块,执行:sudo a2enmod rewrite headers,然后重启Apache:sudo systemctl restart apache2。/etc/apache2/sites-available/000-default.conf),调整以下参数:
DirectoryIndex优先加载PHP文件:DirectoryIndex index.php index.html;<Directory>块中添加Options -Indexes;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。sudo mysql_secure_installation,按提示完成以下操作:
SELECT、INSERT权限,而非ALL);mysqldump或工具如Duplicity)。/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。sudo apt install php-opcache),并在php.ini中启用: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
重启Apache使配置生效。sudo ufw allow 22/tcp;sudo ufw allow 'Apache Full';sudo ufw enable,查看状态:sudo ufw status。/etc/ssh/sshd_config,修改以下参数:
PermitRootLogin no;PasswordAuthentication no;Port 2222(需在防火墙中开放该端口);sudo systemctl restart sshd。sudo apt install fail2ban),编辑/etc/fail2ban/jail.local,启用SSH防护:[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600
重启Fail2Ban:sudo systemctl restart fail2ban。sudo apt update && sudo apt upgrade,确保系统和软件包最新;/var/www/html)和数据库(使用mysqldump),存储到外部设备或云存储。/var/www/html下创建info.php文件,内容为<?php phpinfo(); ?>,访问该文件应显示PHP信息页面;mysql -u root -p),执行简单查询(如SHOW DATABASES;),确认数据库正常运行。