/ 中存储网

CentOS系统安装配置Apache、PHP、MySQL服务器环境

2014-01-08 09:04:01 来源:kejihao

一 13 2013

第一次接触Centos 系统, 配置服务器的一下东西,保存下来,备忘。

 昨天被林哥缠住,要我给他配置服务器。说实话,我是真心不想弄,上个星期弄了一天,所有的东西都配置好了,但是就是SSH没法用,弄得我“淡淡忧伤”`````最终只能重装系统。。。。后来想明白了,应该是系统自带的SSH跟后来的安装的SSH配置文件有冲突```

准备工作:

1.设置超级管理员账号,并且用超级管理员账号登陆。下面的命令都是在超级终端下进行的,需要超级管理员权限。

2.设置端口和防火墙。

主要是开启那个80和3306端口。打开超级终端

vi /etc/sysconfig/iptables

按i键进行编辑,把下面这两句话添加到

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

后面并把汉字注释删除

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT//允许80端口通过防火墙

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT//允许3306端口通过防火墙

3.把SELINUX关闭

vi /etc/selinux/config

#SELINUX=enforcing       #注释掉#SELINUXTYPE=targeted    #注释掉

SELINUX=disabled         #增加

然后按ESC退出编辑,:wq保存

重启电脑

reboot

安装

一、安装MySQL

在终端中输入

yum install mysql mysql-server

安装完毕,让 MySQL 能够随系统自动启动(两行命令):

chkconfig --levels 235 mysqld on

/etc/init.d/mysqld start

设置 MySQL 数据 root 账户的密码:

mysql_secure_installation

当出现如下提示时候直接按回车:

Enter current password for root

出现如下提示时按Y

Set root password? [Y/n]

出现如下提示输入你需要设置的密码,回车后在输入一次确认:

New password:

接下来还会有四个确认都直接回车就好了:

Remove anonymous users? [Y/n]

Disallow root login remotely? [Y/n]

Remove test database and access to it? [Y/n]

Reload privilege tables now? [Y/n]

至此,MySQL就安装好了。

二、安装 Apache 组件

由于 CentOS 已经封装了 Apache,直接运行安装:

yum install httpd

配置系统让 Apache 随系统启动:

chkconfig --levels 235 httpd on

/etc/init.d/httpd start

配置完毕,启动 Apache:

现在就可以直接访问一下本机的Ip了,在里面会显示 Apache的测试页面

三、安装 PHP

输入如下指令安装 PHP:

yum install php

需要重新启动 Apache 服务:

 /etc/init.d/httpd restart

四、将 PHP 模块和 MySQL 模块关联起来

还需要将 PHP 和 MySQL 关联起来,才能正常工作。搜索模块:

yum search php

安装相关模块:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

需要重启 Apache 模块才能生效:

/etc/init.d/httpd restart

到这里就结束安装了,下面就是配置文件的修改了。

修改配置文件

一、Apache配置

vi /etc/httpd/conf/httpd.conf

编辑文件

ServerTokens OS     在44行  修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)

ServerSignature On  在536行 修改为:ServerSignature Off (在错误页中不显示Apache的版本)

Options Indexes FollowSymLinks  在331行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)

#AddHandler cgi-script .cgi 在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)

AllowOverride None  在338行 修改为:AllowOverride All (允许.htaccess)

AddDefaultCharset UTF-8 在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)

Options Indexes MultiViews FollowSymLinks 在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)

DirectoryIndex index.html index.html.var  在402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php

Default.php index.html.var  (设置默认首页文件,增加index.php)

KeepAlive Off   在76行 修改为:KeepAlive On (允许程序性联机)

MaxKeepAliveRequests 100   在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数)

:wq!  #保存退出

   /etc/init.d/httpd restart

重启

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html

删除默认测试页

二、php配置

vi  /etc/php.ini

#编辑

date.timezone = PRC     #在946行 把前面的分号去掉,改为date.timezone = PRC

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,

   

#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

expose_php = Off        #在432行 禁止显示php版本的信息

magic_quotes_gpc = On   #在745行 打开magic_quotes_gpc来防止SQL注入

open_basedir = .:/tmp/  #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站

:wq!  #保存退出

#重启MySql

/etc/init.d/mysqld restart

#重启Apche

/etc/init.d/httpd restart

至此就算是结束了``````