在开始部署前,确保你的Ubuntu系统已更新到最新版本,以避免软件包冲突:
sudo apt update && sudo apt upgrade -y
Apache是LAMP架构中的核心Web服务器,负责处理HTTP请求并返回网页内容。
sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
http://your_server_ip(将your_server_ip替换为服务器实际IP),若看到Apache默认欢迎页面(包含“Apache2 Ubuntu Default Page”字样),则说明安装成功。MySQL用于存储网站数据(如用户信息、文章内容等),是动态网站的核心数据层。
sudo apt install mysql-server -y
sudo mysql_secure_installation
按提示输入root密码(建议使用强密码,包含大小写字母、数字和符号),并根据需要选择“Y”确认其他安全选项。sudo mysql -u root -p
输入密码后进入MySQL命令行界面(显示mysql>提示符)。PHP是服务器端脚本语言,用于处理动态内容(如表单提交、数据库交互)。LAMP中的“P”即指PHP。
php-mysql用于连接MySQL数据库,php-curl用于网络请求,php-gd用于图片处理等):sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
注:
libapache2-mod-php是Apache与PHP的连接器,确保Apache能解析PHP文件。
sudo systemctl restart apache2
/var/www/html)下创建info.php文件:sudo nano /var/www/html/info.php
输入以下内容并保存(Ctrl+O→Enter→Ctrl+X):<?php phpinfo(); ?>
打开浏览器访问http://your_server_ip/info.php,若看到PHP配置信息页面(包含PHP版本、扩展列表等),则说明PHP安装成功。若需要托管多个网站(如example.com和test.com),需配置虚拟主机。以下以example.com为例:
/var/www/example.com)并设置权限:sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com
/etc/apache2/sites-available/目录下创建新配置文件(如example.com.conf):sudo nano /etc/apache2/sites-available/example.com.conf
输入以下内容(替换example.com为你的域名,/var/www/example.com/public_html为网站根目录):<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
000-default.conf):sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2
http://example.com,若看到网站根目录下的默认页面(或你上传的文件),则说明虚拟主机配置成功。将你的网站文件(如HTML、CSS、PHP文件)上传到网站根目录:
/var/www/htmlexample.com):/var/www/example.com/public_html上传方式可选择FTP(如FileZilla)、SCP(如scp -r local_folder user@your_server_ip:/var/www/example.com/public_html)或SFTP。
登录MySQL:
sudo mysql -u root -p
创建数据库:
为网站创建专用数据库(如example_db):
CREATE DATABASE example_db;
创建数据库用户并授权:
创建一个仅能访问该数据库的用户(如example_user),并设置密码(如StrongPassword123):
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'StrongPassword123';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
退出MySQL:
EXIT;
配置网站连接数据库:
在网站代码中(如config.php),添加以下内容(替换为你的数据库信息):
<?php
$servername = "localhost";
$username = "example_user";
$password = "StrongPassword123";
$dbname = "example_db";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
访问该文件(如http://example.com/config.php),若显示“Connected successfully”,则说明数据库连接成功。
index.html文件(如/var/www/example.com/public_html/index.html),内容如下:<!DOCTYPE html>
<html>
<head>
<title>Welcome to My Website</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
访问http://example.com,若看到“Hello, World!”标题,则说明静态页面部署成功。index.php文件(如/var/www/example.com/public_html/index.php),内容如下:<?php
echo "Hello, PHP!";
?>
访问http://example.com/index.php,若看到“Hello, PHP!”,则说明动态页面部署成功。sudo systemctl status apache2),防火墙是否允许HTTP(端口80)流量(sudo ufw allow 'Apache')。libapache2-mod-php模块,且Apache已重启(sudo systemctl restart apache2)。按照以上步骤操作,即可在Ubuntu系统上成功部署LAMP环境并运行网站。