分享

CentOS+Apache配置详细版

 步梦九渊 2011-06-01
一、CentOS 5.5 操作系统的安装CentOS 操作系统是商业版Red Hat Enterprise Linux(RHEL)的免费版,是架构 LAMP 的理想操作系统,稳定性非常好,它主要用于服务器而不是桌面环境。CentOS 的安装应该比较轻松,因为可以进行语言选择,英文不好的就中文吧,下面主要介绍几个需要注意的步骤。
1. 硬盘分区
在硬盘分区步骤中,我们有三个选项:删除硬盘所有分区、删除Linux分区、自定义安装。我们推荐使用 LVM+自定义分区大小 的方式进行来硬盘分区, 不了解 LVM 的嘛就去Google上面百度一下咯……

如上图所示,在这个界面一定要勾选“检验和修改分区方案”,进入下一步。

从上图可以看出,系统已经帮我们构建了 LVM ,我们只要在这一步骤中调整分区大小就可以了,当然可以根据实际情况来进行划分,在这里我们创建了:/(根目录),/var(日志),/home(用户目录),/www(网站目录)以及 SWAP 分区。(注:SWAP 分区一般设为物理内存的2倍大小或更多)
2. 网络配置

在这一步骤,我们需要进行网络设置,配置网卡IP, 网关以及DNS等,确保网络畅通。注:请在配置时留意网卡编号,因为一般服务器都配有多块网卡。
3. 安装模式的选择

在这一步骤,我们就将系统默认的勾选掉,采取最小化方式安装。当然你可以选择 Server 或其他模式。Server模式系统一般会帮你安装好Apache, MySQL等等软件,但是我们还需要更新版本。
4. 安装完毕重新引导系统后
安装结束后,我们进行一下检查工作:
检查有无系统级错误信息
shell> more /var/log/messages  # 检查硬件配置是否有错误信息
shell> dmesg  # 检查网卡设置是否正确
shell> ifconfig  # 检查网络是否正常
shell> ping
5. 配置系统默认的启动服务
setup 是 RedHat 系列里面内置的一个图形化配置工具,在里面我们可以进行一些系统设置,如网络配置,防火墙配置以及系统启动服务配置等。

(1) 配置系统服务
shell> setup
系统安装后默认会加载一些服务,有些服务并是我们不需要的,这里我们只勾选以下服务: anacron,crond,cpuspeed,iptables,irqbalance,messagebus,microcode_ctl ,network,rawdevices,readahead_early,readahead_later,smartd,sshd,syslog,vsftpd,xinetd,yum-updatesd。如果需要以后还可以通过 chkconfig 指令添加。
(2) 配置防火墙
在 Firewall Configuration 选项中,进行防火墙配置,首先启动防火墙,关闭 SELINUX,然后放开 HTTP 80, SSH 22, FTP 21 等这些常用端口。
注:SELINUX 的禁用需要重新启动才能生效。
6. 配置 SSH 服务
shell> vi /etc/ssh/sshd_config
PermitRootLogin no  # 禁止root登录,根据实际情况配置
Protocol 2  # 仅使用SSH2协议
ServerKeyBits 1024  # 使用1024bit加密
PermitEmptyPasswords no  # 禁止空密码
# 启动SSH服务,或者使用 service sshd start
shell> /etc/init.d/sshd start
5. 配置 yum 源
(1) 配置搜狐镜像网站的yum源。注:这步是非必须的,只是视地域情况而定,选择较快的源)
# 获取搜狐Centos 5.4源配置文件
shell> cd /etc/yum.repos.d
shell> mv CentOS-Base.repo  CentOS-Base.repo.bak
shell> wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
shell> mv CentOS-Base-sohu.repo CentOS-Base.repo
# 导入软件包的GPG Key
shell> rpm --import http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
(2) 定义非官方yum库
有时官方提供的软件是当前的稳定版本,而不是最新版本,因此我们需要一些非官方yum源,如下面我们定义一个非官方yum库用来更新 PHP版本至5.2.14。
shell> rpm --import http://www./media/RPM-GPG-KEY-jlitka
shell> vi /etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www./media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www./media/RPM-GPG-KEY-jlitka
(3) 关闭yum fastestmirror 功能
shell> vi /etc/yum/pluginconf.d/fastestmirror.conf
enabled=0
(4) 更新系统软件库
shell>yum update
# 安装后通过以下指令查看当前系统已安装包版本信息
shell> yum list installed | grep mysql
shell> rpm -qa | grep mysql
6. 准备工作
操作系统已经安装好了,我们就来进行一些准备工作,譬如创建网站目录,日志目录等。然后安装服务器的相关软件。
(1) 创建网站目录和日志目录
shell> mkdir -p /www/mysql  # MySQL数据库文件
shell> mkdir -p /www/htdocs  # 网站主目录
shell> mkdir -p /var/log/php  # PHP日志目录
shell> mkdir -p /var/log/mysql  # MySQL日志目录
# 改变MySQL属主和用户组
shell> chown -R mysql:mysql /www/mysql
shell> chown -R mysql:mysql /var/log/mysql
# 改变网站目录属主和用户组
shell> chown -R apache:apache /www/htdocs
shell> chown -R apache:apache /var/log/php
注:如果 mysql 等用户不存在,则需要事先通过 useradd 指令创建。这里我们创建的 www 用户和用户组,用于 Nginx 守护进程。
shell> useradd -s /sbin/nologin -M mysql

二、服务器软件的安装与配置1.  yum 安装 Apache + PHP + MySQL
shell> yum -y install gcc gcc-c++ autoconf make aclocal libtool expat-devel libxml2-devel httpd php php-devel mysql mysql-server mysql-devel libevent libevent-devel ImageMagick ImageMagick-devel php-mysql mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mcrypt php-mbstring php-ldap php-pear php-xmlrpc php-pecl-memcache mysql-connector-odbc libdbi-dbd-mysql
在安装过程中,我们看到使用了上述我们的非官方源进行更新,通过这种方式安装的软件版本分别为:Apache 2.2.15 , MySQL 5.1.50 , PHP 5.2.14(截止到2010-09-16)。如果不是请检查 utterramblings.repo 源的配置是否正确。
2. MySQL 的启动与基本配置
系统已经默认安装好了 MySQL 数据库,我们来稍作配置后然后启动它,因为初次启动会安装数据库文件,所以要对my.cnf里的配置进行一些修改,尤其是数据库文件存放位置。
# 复制一个样本,/usr/share/mysql 目录下有好多样本,请自主选择
shell> cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
修改配置文件,我们稍作修改
# 注:是在原有my.cnf基础上进行修改,没有的选项添加
shell> vi /etc/my.cnf  
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8
[mysqld]
user = mysql
datadir = /www/mysql
log-error = /var/log/mysql/mysql_error.log
log-bin=/var/log/mysql/mysql-bin
character-set-server = utf8
启动 MySQL,或者使用 service mysqld start ,系统会提示安装数据库,然后启动成功。否则请查看由 log-error 配置项定义的错误信息
shell> /etc/init.d/mysqld start
MySQL 初始安装启动后是可以用匿名空密码登陆的,我们需要删除匿名用户,更改root账户密码
shell> mysql
mysql> UPDATE mysql.user SET password = PASSWORD('cmstop') WHERE user = 'root';
mysql> DELETE FROM mysql.user WHERE user = '';
mysql> FLUSH PRIVILEGES;
# 查看MySQL 支持插件情况  注:这种方式安装的MySQL 默认支持 InnoDB, 查看该值后面是否为 YES
mysql> SHOW VARIABLES LIKE '%have%';
# 查看MySQL 字符集,应该都是 utf8
mysql> SHOW VARIABLES LIKE '%char%';
3. Apache配置与启动
终于进入到Web服务器环节了,现在对 Apache 的配置文件稍作修改,检查 Apache和PHP 是否可以正常运行。
# 备份一下,以防杯具发生。。。
shell> cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
shell> vi /etc/httpd/conf/httpd.conf
ServerTokens OS  # 设为 Prod 出现错误页时不显示操作系统名称
ServerSignature Off  # 设为 Off 错误页中不显示Apache版本
ServerAdmin root@localhost  # 将管理员邮箱设置为自己常用的邮箱
ServerName www.:80  # 根据实际情况修改,端口号为80
DocumentRoot "/www/htdocs"  # 修改为默认网站主目录
# 启动Apache服务,或使用 service httpd start, 检查是否正常运行
shell>/etc/init.d/httpd start
Apache正常启动后,打开浏览器,输入http://服务器IP地址 ,如:http://192.168.1.189。当出现类似页面,表示Apache服务已经正常运行。打不开?检查下防火墙开启 80 端口了没有)



4. 下面我们进行 PHP 的运行检查


shell> vi /www/htdocs/phpinfo.php
浏览器输入http://服务器IP地址/phpinfo.php。如http://192.168.1.189/phpinfo.php 。出现类似 PHP 信息页面,这说明我们的 Apache 和 PHP 都可以运行正常。

5. 添加 Apache与 MySQL 服务为开机自启动
shell> chkconfig httpd on
shell> chkconfig mysqld on
6. 修改 PHP 配置文件并安装 Zend Optimizer 扩展
shell> vi /etc/php.ini
short_open_tag = On
output_buffering = 4096
max_execution_time = 600
post_max_size = 32M
allow_url_fopen = On
open_basedir = /www/htdocs/
upload_max_filesize = 32M
log_errors = On
error_reporting = E_ALL & ~E_NOTICE " E_STRICT
display_errors = Off
error_log = /var/log/php/php_error.log
magic_quotes_gpc = Off
下载相应 Zend Optimizer 扩展,分别对应32位和64位:
shell> wget http://download./ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
shell> wget http://download./ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
shell> tar xvzf ZendOptimizer-3.3.9...
# 注:如果是64位操作系统,则路径为:/usr/lib64/php/modules
shell> cp ZendOptimizer-3.3.9.../data/5_2_x_comp/ZendOptimizer.so /usr/lib/php/modules/ZendOptimizer.so
修改php.ini 在其中加上,这种方式不需要更改extension_dir
shell> vi /etc/php.ini
extension = ZendOptimizer.so
重启 Apache 后生效。
三、配置Apache的服务器端包含

编辑 Apache 的配置文件:

shell> vi /etc/httpd/conf/httpd.conf

查看是否包含以下两行,并且去掉行前注释:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

找到 Options Indexes FollowSymLinks 此行,修改成:

Options Indexes FollowSymLinks Includes


四、安装 CmsTop 大众版



1. 配置 Apache 虚拟主机

shell> mkdir /www/htdocs/demo

shell> vi /etc/httpd/conf/httpd.conf

找到 # NameVirtualHost *:80,去掉此行注释

然后在文件最后添加我们虚拟主机 demo 的配置信息:

    ServerName www.demo.loc
     DocumentRoot /www/htdocs/demo
     
        DirectoryIndex index.shtml index.html index.php
         Allow from all
         AllowOverride All

重新启动 Apache 服务。可以向/www/htdocs/demo目录丢个文件,测试下虚拟主机是否工作正常。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多