在CentOS搭建PHP开发环境,每个学习PHP开发的人都会接触。在网上随便搜一下就有大把参考资料,鉴于每次都得查资料,不如自己记录一下。为什么选择在CentOS 7上来搭建呢?因为CentOS 7系统上LAMP开发环境中的“M”有所变化,据说由于MySQL被Oricle公司收购后,CentOS怕Oricle对MySQL动手脚(主要可能是收费等,违背了CentOS开源,天生骄傲,又是一个有关情怀的问题),就把MySQL给换成了MariaDB(增强的,免费提供的MySQL替代数据库)。虽然是在CentOS 7上搭建,我们也会兼顾一下CentOS其他版本。
一、LAMP简介
LAMP是Linux、Apache、Mysql(从CentOS 7开始,M指MariaDB)和PHP的缩写。Linux服务器、Apache服务器、MySQL数据库管理系统和PHP开发语言,都是免费的。这个黄金搭档的稳定性、高可用性成了许多企业级应用的首选。
二、搭建说明
建议的安装顺序是Apache、MySQL/MariaDB、PHP,当然这不是固定的。至于MySQL和MariaDB的有什么区别呢?区别是只有名字不同,MariaDB安装和使用都和MySQL一模一样。说白了CentOS就是给MySQL换了个名字,仅此而已。
三、搭建过程
搭建过程只有几个命令极其简单。但请读者自己实践,并注意每一个步骤的测试过程。
1、安装Apache服务器
1).安装:
sudo yum install httpd
这里唯一需要注意的是安装Apache实质上就是安装一个http服务器,所以这个安装命令安装的httpd。
2).启动:
sudo service httpd start
centos 7 也可以运行命令:
sudo systemctl start httpd
由于centos 7 将service命令和chkconfig命令做了调整,整合到一个systemctl命令中了,所以这条命令也是可以的。
3).测试:
在CentOS 7上打开浏览器,浏览一下:http://localhost ,你应该可以看到一个全新的欢迎界面。注意:目前通过IP地址在本机之外是无法访问Apache服务器的,因为默认Linux的防火墙是将80端口屏蔽掉的,所以无法访问。
2、防火墙配置
1).修改防火网配置
sudo vim /etc/sysconfig/iptables
用vim打开防火墙的配置文件,如上。
2).按照如下添加
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
就是在22端口的下方添加一个打开80端口的配置。
3).重启防火墙
sudo service iptables restart
CentOS 7 也可以运行命令:
sudo systemctl restart iptables
4).测试
在另一台电脑上输入IP来访问你的服务器吧,比如:http://192.168.1.110。如果你可以看到欢迎界面,恭喜你的Apache服务器已经开始为你服务了。
3、安装MySQL/MariaDB
在目前CentOS 7上使用yum命令安装MySQL默认就是安装MariaDB,所以上命令:
sudo yum install mysql mysql-devel
CentOS 7为了保险你可以再运行如下命令:
sudo yum install mariadb-server
2).启动
CentOS 7 之前使用如下命令:
sudo service mysqld start
CentOS 7 使用如下命令:
sudo service mariad start
或者
sudo systemctl start mariad
3).测试
执行命令
mysql -u root -p
输入两次回车,如果你看到如下输出,证明你已经完成了这一步的安装。
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.40-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
4、PHP安装
1).安装PHP
sudo yum install php php-devel
2).安装PHP扩展
sudo yum install <span style="font-family: Arial, Helvetica, sans-serif;">php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt</span>
3).测试
现在你需要重新启动Apache服务器,让Apache服务器认识一下PHP和MySQL。
sudo service httpd restart
由于Apache默认网站的根目录放到 /var/www/html下,所以我们建一个index.php放到这个目录下,内容如下:
<?php
phpinfo();
然后访问 http://192.168.1.110,如果看到了phpinfo()的信息,祝贺你,你已经成功搭建了LAMP。
5、总结
其实这个搭建过程很简单,主要命令就这么几个,你也可以一气呵成。
1).安装
sudo yum install httpd mysql mysql-devel mariadb-server php php-devel php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
2).启动服务
#启动Apache
sudo service httpd start
#启动MySQL(CentOS 7一下系统)
sudo service mysqld start
#启动MySQL(CentOS 7)
3).注意调整一下防火墙,然后测试就OK了。
还有一个问题,就是关于设置开机启动的问题,这个很容易解决:
sudo chkconfig httpd on
sudo chkconfig mysqld on
CentOS 7 也可以运行命令:
sudo systemctl enable httpd
sudo systemctl enable Mariadb