每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘。虽然有像xampp这样的集成包,但是在生产环境的Linux发行版上,还是通过包管理工具安装会放心。这次新买的服务器是CentOS 7(7.2)系统,相关配置也都以此版本为主,为方便操作,直接使用root
用户配置。
CentOS 7的源比较旧,自带的PHP是PHP 5.4,我们想要的是PHP 5.6,这就需要执行以下命令添加额外的remi源。
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm |
准备工作完成后,执行以下命令:
#yum install httpd#yum install mariadb mariadb-server#yum install --enablerepo=remi --enablerepo=remi-php56 php php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit |
apache,mysql,php56就安装完了,从上面指令会发现没有mysql和mysql-server。这是由于mysql存在版权问题,自CentOS 7已经被移除,取而代之的是mariadb和mariadb-server,它们被设计成与mysql,mysql-server完全兼容;而php除了自身外还安装了mbstring,mcrypt,mysqlnd等插件,这些在大部分项目中都是必要的,如果没有安装可能会出现打开网站一片空白,查看日志也没错误的情况。
现在我们看下apache的配置。apache安装完后就可以直接使用了,执行下命令先手动启动,并将它添加到开机启动。
#systemctl start httpd #手动启动#systemctl enable httpd #添加开机启动 |
执行netstat -tln检查下80端口是否在监听,如果有在监听说明启动成功了。
然后打开apache的默认配置文件,位于/etc/httpd/conf/httpd.conf
,找到DocumentRoot
这一行,通常结果是
DocumentRoot "/var/www/html”` |
,它表示网站根目录位于/var/www/html
。在该目录下执行echo "It Works!" > index.html
(如果已经有该文件就不用自己创建了)。然后执行如下命令测试网站是否能正常访问。
#curl http://127.0.0.1/It Works! #输出该结果表示一切正常 |
当然,也可以直接在浏览器中访问测试。需要注意的是,如果你是从别的电脑访问,那么要先执行下iptables -F
清空下防火墙,否则访问不了。
然后我们看下PHP的配置。正常来讲,安装完php56之后,会在apache下生成相应的配置文件,确认下有生成以下文件:/etc/httpd/conf.modules.d/10-php.conf,/etc/httpd/modules/libphp5.so,/etc/httpd/conf.d/php.conf
。
同样在网站根目录下执行以下命令创建php测试文件:
#echo "<?php phpinfo; ?>" > info.php |