CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解
<p>每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘。虽然有像xampp这样的集成包,但是在生产环境的Linux发行版上,还是通过包管理工具安装会放心。这次新买的服务器是CentOS 7(7.2)系统,相关配置也都以此版本为主,为方便操作,直接使用<code>root</code>用户配置。</p>
<p>
CentOS 7的源比较旧,自带的PHP是PHP 5.4,我们想要的是PHP 5.6,这就需要执行以下命令添加额外的remi源。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_964313">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">rpm -ivh http:</code><code class="bash plain">//rpms</code><code class="bash plain">.famillecollet.com</code><code class="bash plain">/enterprise/remi-release-7</code><code class="bash plain">.rpm</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
准备工作完成后,执行以下命令:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_616699">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#yum install httpd</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments">#yum install mariadb mariadb-server</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments">#yum install --enablerepo=remi --enablerepo=remi-php56 php php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
apache,mysql,php56就安装完了,从上面指令会发现没有mysql和mysql-server。这是由于mysql存在版权问题,自CentOS 7已经被移除,取而代之的是mariadb和mariadb-server,它们被设计成与mysql,mysql-server完全兼容;而php除了自身外还安装了mbstring,mcrypt,mysqlnd等插件,这些在大部分项目中都是必要的,如果没有安装可能会出现打开网站一片空白,查看日志也没错误的情况。</p>
<p>
现在我们看下apache的配置。apache安装完后就可以直接使用了,执行下命令先手动启动,并将它添加到开机启动。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_476235">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#systemctl start httpd #手动启动</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments">#systemctl enable httpd #添加开机启动</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
执行netstat -tln检查下80端口是否在监听,如果有在监听说明启动成功了。</p>
<p>
然后打开apache的默认配置文件,位于<code>/etc/httpd/conf/httpd.conf</code>,找到<code>DocumentRoot</code>这一行,通常结果是</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_118021">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">DocumentRoot "</code><code class="bash plain">/var/www/html</code><code class="bash plain">”`</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
,它表示网站根目录位于<code>/var/www/html</code>。在该目录下执行<code>echo "It Works!" > index.html</code>(如果已经有该文件就不用自己创建了)。然后执行如下命令测试网站是否能正常访问。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_932101">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#curl http://127.0.0.1/</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">It Works! </code><code class="bash comments">#输出该结果表示一切正常</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
当然,也可以直接在浏览器中访问测试。需要注意的是,如果你是从别的电脑访问,那么要先执行下<code>iptables -F</code>清空下防火墙,否则访问不了。</p>
<p>
然后我们看下PHP的配置。正常来讲,安装完php56之后,会在apache下生成相应的配置文件,确认下有生成以下文件<code>:/etc/httpd/conf.modules.d/10-php.conf,/etc/httpd/modules/libphp5.so,/etc/httpd/conf.d/php.conf</code>。</p>
<p>
同样在网站根目录下执行以下命令创建php测试文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_407855">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#echo "<?php phpinfo; ?>" > info.php</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
访问下http://localhost/info.php,能显示PHP的配置信息即表示PHP安装成功,如果不行,执行<code>apachectl restart</code>重启下Apache服务器试试,如果失败再从其他地方找原因。</p>
<p>
最后看下mysql的安装与配置。执行以下命令,先手动启动,然后添加到开机启动,接着启动mysql服务器的初始配置。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_479463">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#systemctl start mariadb </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments">#systemctl enable mariadb</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments">#mysql_secure_installation #完成mysql首次初始化</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
完成以后,执行</p>
<p>
<code>mysql -uroot -p<</code>刚才设置的密码>登陆看看,如果成功说明mysql配置OK。</p>
<p>
至此服务器的配置就完成了。</p>
<p>
额外的配置</p>
<p>
现代的PHP开发,基本上都构建在composer之上,执行以下命令安装composer是必要的。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_841042">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments">#yum install --enablerepo=remi --enablerepo=remi-php56 composer</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
phpMyAdmin用来管理MySQL也很方便,在<code>/var/www/html</code>下面,下载并解压就完成可以了。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_881935">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">wget https:</code><code class="bash plain">//files</code><code class="bash plain">.phpmyadmin.net</code><code class="bash plain">/phpMyAdmin/4</code><code class="bash plain">.6.5.1</code><code class="bash plain">/phpMyAdmin-4</code><code class="bash plain">.6.5.1-all-languages.zip</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">mv</code> <code class="bash plain">phpMyAdmin-4.6.5.1-all-languages phpMyAdmin</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
建议phpMyAdmin禁止root登陆,会比较安全,修改方法:进入<code>phpMyAdmin</code>目录,打开<code>libraries/config.default.php</code>,找到以下这行,</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_883319">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">cfg[</code><code class="bash string">'Servers'</code><code class="bash plain">][$i][</code><code class="bash string">'AllowRoot'</code><code class="bash plain">] = </code><code class="bash functions">true</code><code class="bash plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
将<code>true</code>改为<code>false</code>即可。</p>
<p>
以上所述是小编给大家介绍的CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!</p>
頁:
[1]