逍遥油 發表於 2023-10-20 00:00:00

CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)

<p>
        <strong>准备篇:</strong></p>
<p>
        centos 7.0系统安装配置图解教程</p>
<p>
         </p>
<p>
        <strong>一、配置防火墙,开启80端口、3306端口</strong></p>
<p>
        centos 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。</p>
<p>
        <strong>1、关闭firewall:</strong></p>
<p>
        systemctl stop firewalld.service #停止firewall<br>
        systemctl disable firewalld.service #禁止firewall开机启动</p>
<p>
        <strong>2、安装iptables防火墙</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_35328">
                        <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>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">yum install iptables-services #安装</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">vi /etc/sysconfig/iptables #编辑防火墙配置文件</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain"># firewall configuration written by system-config-firewall</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain"># manual customization of this file is not recommended.</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">*filter</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">:input accept </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">:forward accept </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">:output accept </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain plain">-a input -m state --state established,related -j accept</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="plain plain">-a input -p icmp -j accept</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="plain plain">-a input -i lo -j accept</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="plain plain">-a input -m state --state new -m tcp -p tcp --dport 22 -j accept</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="plain plain">-a input -m state --state new -m tcp -p tcp --dport 80 -j accept</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="plain plain">-a input -m state --state new -m tcp -p tcp --dport 3306 -j accept</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="plain plain">-a input -j reject --reject-with icmp-host-prohibited</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="plain plain">-a forward -j reject --reject-with icmp-host-prohibited</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="plain plain">commit</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        :wq! #保存退出</p>
<p>
        systemctl restart iptables.service #最后重启防火墙使配置生效<br>
        systemctl enable iptables.service #设置防火墙开机启动</p>
<p>
        <strong>二、关闭selinux</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_465789">
                        <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>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">vi /etc/selinux/config</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">#selinux=enforcing #注释掉</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">#selinuxtype=targeted #注释掉</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">selinux=disabled #增加</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        :wq! #保存退出</p>
<p>
        setenforce 0 #使配置立即生效</p>
<p>
        <strong>安装篇:</strong></p>
<p>
        <strong>一、安装apache</strong></p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" alt="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" height="382" src="https://zhuji.jb51.net/uploads/img/202305/7bef38df05f3b93784c15b576fea4cb3.jpg" width="640"></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_307704">
                        <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>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">yum install httpd #根据提示,输入y安装即可成功安装</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">systemctl start httpd.service #启动apache</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">systemctl stop httpd.service #停止apache</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">systemctl restart httpd.service #重启apache</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">systemctl enable httpd.service #设置apache开机启动</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        在客户端浏览器中打开服务器ip地址,会出现下面的界面,说明apache安装成功</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" alt="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" height="484" src="https://zhuji.jb51.net/uploads/img/202305/b20936f2a39fca39f6e82499300a3f82.jpg" width="640"></p>
<p>
        <strong>二、安装mariadb</strong></p>
<p>
        centos 7.0中,已经使用mariadb替代了mysql数据库</p>
<p>
        1、安装mariadb</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" alt="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" height="383" src="https://zhuji.jb51.net/uploads/img/202305/d7640fd68ebdc40859c47aa44fd9546b.jpg" width="640"></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_863190">
                        <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>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">yum install mariadb mariadb-server #询问是否要安装,输入y即可自动安装,直到安装完成</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">systemctl start mariadb.service #启动mariadb</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">systemctl stop mariadb.service #停止mariadb</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">systemctl restart mariadb.service #重启mariadb</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">systemctl enable mariadb.service #设置开机启动</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        2、为root账户设置密码</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" alt="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" height="384" src="https://zhuji.jb51.net/uploads/img/202305/e1c7e301e6c390f0461ed82d5c4b1f7e.jpg" width="640"></p>
<p>
        mysql_secure_installation<br>
        回车,根据提示输入y<br>
        输入2次密码,回车<br>
        根据提示一路输入y<br>
        最后出现:thanks for using mysql!<br>
        mariadb密码设置完成,重新启动 mariadb:<br>
        systemctl restart mariadb.service #重启mariadb</p>
<p>
        <strong>三、安装php</strong></p>
<p>
        1、安装php</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" alt="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" height="386" src="https://zhuji.jb51.net/uploads/img/202305/5c01ca21a3f60fa435ca899a2594f87e.jpg" width="640"></p>
<p>
        yum install php #根据提示输入y直到安装完成</p>
<p>
        2、安装php组件,使php支持 mariadb</p>
<p>
        yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash</p>
<p>
        #这里选择以上安装包进行安装,根据提示输入y回车</p>
<p>
        systemctl restart mariadb.service #重启mariadb</p>
<p>
        systemctl restart httpd.service #重启apache</p>
<p>
        <strong>配置篇</strong></p>
<p>
        <strong>一、apache配置</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_674844">
                        <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>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">vi /etc/httpd/conf/httpd.conf #编辑文件</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">serversignature on #添加,在错误页中显示apache的版本,off为不显示</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">options indexes followsymlinks #修改为:options includes execcgi followsymlinks(允许服务器执行cgi及ssi,禁止列出目录)</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">#addhandler cgi-script .cgi #修改为:addhandler cgi-script .cgi .pl (允许扩展名为.pl的cgi脚本运行)</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">allowoverride none  #修改为:allowoverride all (允许.htaccess)</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">adddefaultcharset utf-8 #修改为:adddefaultcharset gb2312 (添加gb2312为默认编码)</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">#options indexes followsymlinks  #修改为 options followsymlinks(不在浏览器上显示树状目录结构)</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="plain plain">directoryindex index.html  #修改为:directoryindex index.html index.htm default.html default.htm index.php(设置默认首页文件,增加index.php)</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="plain plain">maxkeepaliverequests 500 #添加maxkeepaliverequests 500 (增加同时连接数)</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        :wq! #保存退出</p>
<p>
        systemctl restart httpd.service #重启apache</p>
<p>
        rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页</p>
<p>
        <strong>二、php配置</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_402830">
                        <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>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">vi /etc/php.ini #编辑</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="plain plain">date.timezone = prc #把前面的分号去掉,改为date.timezone = prc</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="plain plain">disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="plain plain">#列出php可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="plain plain">expose_php = off #禁止显示php版本的信息</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="plain plain">short_open_tag = on #支持php短标签</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="plain plain">open_basedir = .:/tmp/ #设置表示允许访问当前目录(即php脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        :wq! #保存退出</p>
<p>
        systemctl restart mariadb.service #重启mariadb<br>
        systemctl restart httpd.service #重启apache</p>
<p>
        <strong>测试篇</strong></p>
<p>
        cd /var/www/html<br>
        vi index.php #输入下面内容</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterphp" id="highlighter_926339">
                        <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="php plain">&lt;?php</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="php plain">phpinfo();</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="php plain">?&gt;</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
</div>
<p>
        :wq! #保存退出</p>
<p>
        在客户端浏览器输入服务器ip地址,可以看到如下图所示相关的配置信息!</p>
<p>
        <img style="max-width:100%!important;height:auto!important;"title="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" alt="CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)" height="484" src="https://zhuji.jb51.net/uploads/img/202305/b776432590bfe128df5c1ddb17fd5779.jpg" width="640"></p>
<p>
        注意:apache默认的程序目录是/var/www/html</p>
<p>
        权限设置:chown apache.apache -r /var/www/html</p>
<p>
        至此,centos 7.0安装配置lamp服务器(apache+php+mariadb)教程完成!</p>
頁: [1]
查看完整版本: CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)