`
sealbird
  • 浏览: 569813 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录 && 将apache安装为系统服务

阅读更多
from http://blog.csdn.net/orzorz/archive/2010/03/07/5353213.aspx
文中的Linux操作系统为CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录下来以供参考:


一. Apache Web服务器的源代码安装,Tarball安装方式:
1. 源码包:httpd-2.2.6.tar.gz 从 www.apache.org 下载到此目录下:/usr/local/src 同时在 /usr/local 下创建一个httpd目录:mkdir httpd
2. 解压安装包:tar -zxvf httpd-2.2.6.tar.gz
3. 进入解压后的安装包:cd httpd-2.2.6
4. 配置:./configure --prefix=/usr/local/webserver/httpd --enable-cgi ( 意义支持CGI)
5. 编译:make
6. 安装:make install
7. 启动web服务:
   /usr/local/httpd/bin/apachectl start 或 service httpd start
   或者:开机后立即启动web服务
   vi /etc/rc.d/rc.local
   新加一行
   /usr/local/httpd/bin/apachectl start 或 chkconfig --level 345 httpd on
8. 配置Apache服务器
   Apache 配制文件及目录是:/usr/local/ webserver/ httpd/conf/httpd.conf
   Apache默认存放主页的位置应该是:/usr/local/ webserver/ httpd/apache/htdocs
   DocumentRoot "/usr/local/ webserver/ httpd/htdocs" 这个是存放网页的目录,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件。
   <Directory "/opt/apache/htdocs"  这句应该和DocumentRoot 的目录保持一致。
    系统自动添加了这一行,如果没有则自己加入这一行。
   LoadModule php5_module        modules/libphp5.so
   找到: DirectoryIndex index.html index.html.var
   改为: DirectoryIndex index.html index.html.var index.php
   找到: AddType application/x-tar .tgz
   添加: AddType application/x-httpd-php .php (注意空格)   
   这两项配置就是告诉Apache Server,以后收到的Url用户请求,凡是以php作为后缀,就需要调用php5_module模块mod_php5.so/ php5apache2.dll)进行处理。 mod_php 是把PHP做为APACHE一个内置模块。让apache http服务器本身能够支持PHP语言,不需要每一个请求就启动PHP解释器来解释PHP 。

unix/linux 下,so后缀文件是一个DSO文件,DSO与windows系统下的dll是等价概念,都是把一堆函数封装在一个二进制文件中。调用它们的进程把它们装入内存后,会将其映射到自己的地址空间。DSO全称为Dynamic Shared Object,即动态共享对象。DLL全称为Dynamic Link Library 即动态链接库。

注 :对存放网页的目录执行命令:chmod 755 目录名 chmod -R 755 目录名
9. 重启apache服务器:/usr/local/httpd/bin/apachectl restart

二、编译安装MySQL (源码包安装)
1. /usr/sbin/groupadd mysql            // 建立mysql组
2. /usr/sbin/useradd -g mysql mysql    // 建立mysql用户并且加入到mysql组中
3. tar zxvf mysql-5.1.38.tar.gz
4. cd mysql-5.1.38/
5.  ./configure --prefix=/usr/local/webserver/mysql/ --enable-thread-safe-client
6. make && make install
7. cp /usr/local/src/mysql/support-files/my-medium.cnf /etc/my.cnf 在 support-files目录下有4个模版文件,我们选择其中一个Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数);
8. cd /usr/local/mysql     //进入mysql目录
9. /usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir= /usr/local/webserver/mysql /data --user=mysql  //初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限;
10. chown -R root .       //设定root能访问/usr/local/mysql;
11. chown -R mysql data   //设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,mysql_install_db时产生;
12. chown -R mysql data/.  //设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件;
13. chgrp -R mysql .    //(此处 .前面有空格哦)设定mysql组能够访问/usr/local/mysql;
14. /usr/local/mysql/bin/mysqld_safe --user=mysql &   //运行mysql;
15. /usr/local/src/mysql/bin/mysqladmin -u root password 'yourpassword' //MYSQL默认安装密码为空,为mysql设置密码,利用的是/usr/local/src/mysql/bin/下的mysqladmin文件;
16. 启动MySQL服务:
    cp /usr/local/src/mysql/support-files/mysql.server /etc/init.d/mysql
    vi /etc/init.d/mysql
    修改如下定义使其内容为:
    basedir=/usr/local/webserver/mysql
    datadir=/usr/local/webserver/mysql/data

    chmod +x mysql   //赋予shell脚本可执行权限:
    chkconfig --level 345 mysql on 
    service mysql restart
    Shutting down MySQL...                  [  OK  ]
    Starting MySQL                               [  OK  ] 

17. 连接:
   /usr/local/src/mysql/bin/mysql -u root -p
   Enter password:
   Welcome to the MySQL monitor.  Commands end with ; or \g.
   Your MySQL connection id is 5 to server version: 4.1.14-standard
   Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
   mysql>

三、PHP的源代码安装,Tarball安装方式:
1. 源码包:php-5.2.4.tar.gz,从www.php.net 下载到此目录下:/usr/local/src 同时在/usr/local下创建一个php目录:mkdir php
2. 解压安装包:tar -zxvf php-5.2.4.tar.gz
3. 进入解压后的安装包:cd php-5.2.4
4. 配置:./configure --prefix=/usr/local/ webserver/ php   设置PHP5 的安装路径。
    --with-apxs2=/usr/local/ webserver/ httpd/bin/apxs    告诉PHP查找Apache 2.0的地方
    --with-libxml-dir=/usr/local/src/libxml2            告诉PHP放置libxml2库的地方。(在安装PHP检查是否先安装了libxml套件)
    --with-pdo-mysql=/usr/local/ webserver/ mysql           变量激活PDO(PHP数据对象抽象层)
    --with-mysql=/usr/local/ webserver/ mysql                  变量激活regularMySQL扩展功能。
    --with-mysqli=/usr/local/ webserver/ mysql/bin/mysql_config   变量激活新增加的MySQL功能。
    --with-config-file-path=/usr/local/ webserver/ php       是php的配置文件php.ini放置的目录

5. 编译:make
6. 安装:make install
7. 转存PHP基本配置文件并命名为php.ini:cp php.ini-dist /usr/local/ webserver/ php/php.ini
最后,重启Apache服务器,测试php是否一切正常工作 可以直接通过PHP程序内置的解析程序来运行一个.php文件。
[root@localhost /]# /usr/local/ webserver/ php/bin/php -f /var/www/html/phpinfo.php

注 :在我用的CentOS 5.2 的版本中 httpd 是系统默认安装的,编译安装php时通常要指定apxs的位置,这时编译php时会返回错误信息,会找不到路径。 这时只要将 httpd-devel 包装上便可以使用。
[root@localhost bin]# yum install httpd-devel
这时路径为: /usr/sbin/apxs

另其他的配置和目录位于:
# /etc/httpd/conf/httpd.conf
# /etc/httpd/conf.d/*.conf
# /usr/lib/httpd/modules/
# /var/www/html/
# /var/www/error/
# /var/www/icons/
# /var/www/cgi-bin/
# /var/log/httpd/
# /usr/sbin/apachectl
# /usr/sbin/httpd
# /usr/bin/htpasswd

当启动web服务器时 提示:
Starting httpd: httpd: Syntax error on line 206 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib/httpd/modules/libphp5.so into server: /usr/lib/httpd/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

原因:如果激活了SELinux ,新内核可能无法安装加载SELIinx
正确处理方法:
方法一 将/etc/selinux/config中设置的SELinux=disabled。之后reboot
编辑/etc/selinux/config,找到这段:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:
SELINUX=disabled
保存,关闭。


编辑/etc/sysconfig/selinux,找到:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:
SELINUX=disabled
保存,退出。

如果碰到其他类似提示:
cannot restore segment prot after reloc: Permission denied
哪应该是SELinux的问题,可以考虑把它关闭。
-------------------------------------------------------------------------------------
如果将 SELinux 关闭后还是不行.执行下
chcon -t texrel_shlib_t
如: chcon -t texrel_shlib_t /usr/lib/httpd/modules/libphp5.so

方法二如果不想禁用SELinux,可安装selinux-policy-targeted-1.25-4.noarch.rpm的高版本。

===================

将apache安装为系统服务

# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

然后 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)

# chkconfig: 2345 50 90

# description: Activates/Deactivates Apache Web Server

最后,运行chkconfig把Apache添加到系统的启动服务组里面:

# chkconfig --add httpd

# chkconfig httpd on
然后再service httpd start

==================

相关链接:

CentOS+Apache+Mysql+Php安装及优化配置小记

CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录 && 将apache安装为系统服务

CentOS 5.3 下编译安装Fcitx(小企鹅输入法)

CentOS 5.3上yum安装Apache+php+Mysql+phpMyAdmin

Linux下Apache2+MySQL5+PHP5安装

linux yum安装mysql后要注意的一些初始化问题

Fedora 8下用Yum安装Apache+PHP+MySQL环境

pthread之线程堆栈

Linux下pthread线程库介绍

Pthread 介绍


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/orzorz/archive/2010/03/07/5353213.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics