在本地测试的很多时候需要在linux系统下搭建环境,所以今天写一下在centos7下如何安装配置Apache、PHP和Mysql。
一、安装Apache
yum install httpd
安装完成之后,关于Apache的一下操作命令
systemctl start httpd //启动apache
systemctl stop httpd //停止apache
systemctl restart httpd //重启apache
systemctl enable httpd //设置apache开机启动
启动Apache之后看看状态是否成功开启
systemctl ststus httpd
查询一下虚拟机的ip地址
然后在本机的浏览器访问
可以看到虽然服务已经成功开启了,但是在本机还无法访问。这是因为centos的有关端口没没有开放。
为了让其他机器可以访问我们的服务器,可能需要进行一些设置:
需要将http服务器加入防火墙以允许外部访问,并在防火墙中开放80端口
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
这里的--permanent参数表示这是一条永久防火墙规则。
如果想要自己定义端口的话可以如下配置
firewall-cmd --zone=public --add-port=81/tcp --permanent
完成上述配置之后要重启防火墙才能使规则生效
systemctl restart firewall
然后再访问试试
可以看到这次就能成功访问了,这个页面是Apache默认的页面。
在Apache安装完成之后我们需要了解一下httpd服务器的配置文件,大致要知道这些配置文件是干嘛的以及存放在什么位置。
主要来看看httpd服务程序的主配置文件(/etc/httpd/conf/httpd.conf),主配置文件最为常见的参数包括:
从上面表格中可以得知DocumentRoot正是用于定义网站数据保存路径的参数,其参数的默认值是把网站数据存放到了/var/www/html目录中的,而网站首页的名称应该叫做index.html。如果是要在该环境下测试代码的话,文件都是放在这个目录下的。
二、PHP安装
PHP一般在centos都安装了,即使没有安装也很简单,一句命令就可以搞定。
yum install php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
此处不仅安装了php,还安装了php的一些扩展。
安装完成后重启Apache服务器
systemctl restart httpd.service
在 /var/www/html/ 目录下新建test.php,写入如下代码并保存
phpinfo();
?>
在本机访问test.php
可以看到服务器已经可以解析php文件了。
三、安装mysql
下载并安装MySLQ官方的yum respository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装mysql服务器
yum -y install mysql-community-server
安装完成之后首先运行mysql,接着看看mysql的运行状态
systemctl start mysqld
systemctl status mysqld
此时,mysql已经正常运行了,不过想要进入mysql要先找出root用户的初始密码,此密码是安装时自动随机设置的。可以通过如下命令在日志文件中找出密码,然后通过该密码进入mysql。
grep "password" /var/log/mysqld.log
使用初始密码进入数据库
mysql -u root -p
使用初始密码登录进入mysql后,必须修改初始密码后才能操作数据库,使用如下命令修改数据库密码
看到我们重新设置的密码提示说不符合安全设定
mysql从5.6版本后引入了validate_password插件用于检测密码强度,密码如果不符合预定义的策略会返回错误。
我们先设置一个符合规定的密码
重新进入mysql之后,先看看完整的初始密码规则(如果想要查看完整的规则必须是重新设置密码之后才可以)
mysql> SHOW VARIABLES LIKE 'validate_password%';
(1)validate_password_length 固定密码的总长度;
(2)validate_password_dictionary_file 指定密码验证的文件路径;
(3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
(4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
(5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
(6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
我们可以通过如下命令修改该密码规则,修改后密码就可以设置的很简单
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
接着可以设置一个简单的密码了
到此,数据库的设置就完成了。
最后,删除前面安装的yum respository
yum -y remove mysql57-community-release-el7-10.noarch
至此,我们就已经搭建好了 PHP+Apache+MySQL 的环境。