一、安装Apache
- 安装Apache
yum -y install httpd
- 开启Apache服务
systemctl start httpd.service
- 设置Apache服务开机启动
systemctl enable httpd.service
- 验证Apache服务是否安装成功
- 在本机浏览器中输入虚拟机的IP地址,CentOS7查看IP地址的方式为:
bash ip addr - 阿里云用户不需要使用此方式查看,外网IP已在主机列表中显示。
- 如果访问不成功(阿里云用户使用外网访问通常能成功,无需以下步骤),CentOS7使用Firewall-cmd防火墙,需执行以下操作以允许外网访问Apache主目录:
bash firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload - 如果出现报错:
FirewallD is not running,需启动防火墙服务:bash systemctl start firewalld.service - 再次访问外网IP,如果看到Apache默认页面(带有“Testing 123…”字样),则表示Apache服务安装成功。
- 如果阿里云无法访问,需在管理实例中添加安全组规则。
二、安装PHP
- 安装PHP
yum -y install php
- 重启Apache服务
systemctl restart httpd
- 测试PHP是否安装成功
- 在目录
/var/www/html下创建info.php文件:bash vi /var/www/html/info.php - 文件内容:
php <?php phpinfo(); ?> - 在浏览器中访问
IP地址/info.php,如果显示PHP服务器参数等信息,则表示PHP安装成功。
三、安装MySQL
- 下载MySQL
wget https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
- 安装MySQL
rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server
- 重启MySQL服务
service mysqld restart
- 输出:
Redirecting to /bin/systemctl restart mysqld.service - 直接输入
mysql即可连接到服务器。
- 设置MySQL用户密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');- 提示成功后,退出MySQL:
sql QUIT; - 再次连接MySQL时需输入密码。
四、PHP和MySQL关联
- 搜索PHP模块
yum search php
- 安装PHP-MySQL模块
yum -y install php-mysql
五、安装常用PHP模块
- 安装GD库、LDAP、XML等模块
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
- 重启Apache服务
systemctl restart httpd.service
- 再次运行
info.php查看安装结果
六、远程连接服务器数据库
- 连接报错处理
- 错误:
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' - 原因:MySQL未开启远程访问。
- 解决方法:
sql USE mysql; UPDATE user SET host='%' WHERE user='root'; FLUSH PRIVILEGES; - 如果仍有报错,可忽略并继续执行。
- 连接报错处理
- 错误:
2003 Can't connect to MySQL server on '192.168.0.1' (10038) - 原因:防火墙未开放3306端口。
- 解决方法:
bash firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload
七、Firewall常用命令
- 查看防火墙状态
firewall-cmd --state
- 重新载入配置
firewall-cmd --reload
- 列出支持的Zone
firewall-cmd --get-zones
- 列出支持的服务
firewall-cmd --get-services
- 查看FTP服务是否支持
firewall-cmd --query-service ftp
- 临时开放FTP服务
firewall-cmd --add-service=ftp
- 永久开放FTP服务
firewall-cmd --add-service=ftp --permanent
- 永久移除FTP服务
firewall-cmd --remove-service=ftp --permanent
- 永久添加80端口
firewall-cmd --add-port=80/tcp --permanent
- 查看防火墙规则
iptables -L -n - 查看帮助
bash man firewall-cmd
总结
LAMP环境(Linux + Apache + MySQL + PHP)搭建完成,可通过远程连接服务器数据库进行进一步操作。