职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1368|回复: 2

CentOS_55搭建PHP环境安装笔记

[复制链接]
无处不在 发表于 2012-4-29 09:34 | 显示全部楼层 |阅读模式
1、安装系统
使用最小化安装,除了VI编辑器和中文支持以外,不安装任何附加组件。


PS:分区方案~~
/        根分区 5000MB
/boot        一般划分100MB 强制为主分区
/swap        一般是物理内存的2倍
/home        用户目录50000MB
/usr        程序目录,分配剩余空间
/var        一般划分20000MB
/tmp        一般划分1000MB

2、设置静态IP以及DNS
vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
HWADDR= MAC地址,这个一般都识别出来了,不用改
IPADDR= IP地址
NETMASK= 子网掩码
GATEWAY= 网关

重启网络配置
service network restart

vi /etc/resolv.conf

nameserver 第一DNS
nameserver 备用DNS

重启网络配置
service network restart

B.修改/etc/hosts里面的名字
# vi /etc/hosts
127.0.0.1              localhost.localdomain localhost
192.168.1.121          yourname //在这修改hostname
//有时候只有这一行
127.0.0.1              yourname localhost.localdomain localhost

4、安装wget/ntsysv/patch/make
yum install wget
yum install ntsysv
yum install patch
yum install make

5、关闭不需要的服务

# ntsysv

以下仅列出需要启动的服务,未列出的服务一律推荐关闭:

atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog

关闭SElinux:修改/etc/selinux/config文件中的SELINUX= 为 disabled

6、更换yum国内源

# cd /etc/yum.repos.d

# mv CentOS-Base.repo CentOS-Base.repo.save

# wget http://centos.ustc.edu.cn/CentOS-Base.repo.5

# mv CentOS-Base.repo.5 CentOS-Base.repo

# yum clean all

7、服务器时间检查和设置

#date (检查时间是否正确,是否是中国时间CST)

#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (如果时区不对,则执行,时间正常的跳过)

#yum install ntp (安装ntp对时工具)

#ntpdate us.pool.ntp.org

#chkconfig ntpd on (让对时服务开机启动)

#clock -w #这个命令强制把系统时间写入CMOS。

8、使用 yum 对系统进行更新并且安装必要软件包
#yum update
#yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

重启服务器
init 6

9、下载相关软件
#cd /usr/local/src
#wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz
#wget http://download.scientificlinux.net/nginx
#wget http://download.scientificlinux.net/php-fpm.conf
#wget http://download.scientificlinux.net/nginx.conf
#wget http://download.scientificlinux.net/fcgi.conf
#wget http://download.scientificlinux.net/php-5.2.10.tar.gz
#wget http://download.scientificlinux.net/php-5.2.10-fpm-0.5.13.diff.gz
#wget http://download.scientificlinux. ... glibc23-i386.tar.gz (32位系统)
#wget http://cdnetworks-kr-2.dl.source ... mcrypt-2.6.8.tar.gz
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
#wget http://cdnetworks-kr-2.dl.source ... mcrypt-2.5.8.tar.gz
#wget http://cdnetworks-kr-2.dl.source ... hash-0.9.9.9.tar.gz
#wget http://pecl.php.net/get/memcache-2.2.5.tgz
#wget http://jaist.dl.sourceforge.net/sourceforge/pcre/pcre-7.8.tar.gz
#wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
#wget http://bart.eaccelerator.net/sou ... tor-0.9.6.1.tar.bz2
#wget http://darkstar.ist.utl.pt/mysql ... i686-glibc23.tar.gz


安装vsftpd
第一步:yum安装vsftpd



yum -y install vsftpd



第二步:配置vsftpd.conf



vi /etc/vsftpd/vsftpd.conf



修改下面几个参数

anonymous_enable=YES    /*是否允许匿名用户上传*/

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd/chroot_list

修改成:

anonymous_enable=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list



第三步创建要ftp的目录

mkdir -p /home/wwwroot/

添加权限

chmod 777 /home/wwwroot/

setsebool -P ftpd_disable_trans on

添加ftp帐号

adduser –d /home/wwwroot/ -g ftp –s /sbin/nologin user

设置密码

Passwd user



创建chroot_list

vi /etc/vsftpd/chroot_list

再把user添加到chroot_list

Vi /etc/vsftpd/chroot_list

按s编辑

添加user

按:wq退出保存



修改selinux参数:

setsebool -p ftpd_disable_trans 1

service vsftpd restart

这就样简单。可以去用ftp软件登陆

相关帖子

 楼主| 无处不在 发表于 2012-4-29 09:35 | 显示全部楼层
10、安装PHP所需组件【安装PHP 5.2.8(FastCGI模式)】
tar zxvf libiconv-1.13.tar.gz

cd libiconv-1.13/

./configure --prefix=/usr/local

make

make install

cd ../

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./configure

make

make install

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make

make install

cd ../../

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

./configure

make

make install

cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1


11、安装MySQL

cd /usr/local/src

tar zxvf mysql-5.1.54-linux-i686-glibc23.tar.gz

mv mysql-5.1.54-linux-i686-glibc23 /usr/local/

ln -s /usr/local/mysql-5.1.54-linux-i686-glibc23/ /usr/local/mysql

groupadd mysql

useradd -g mysql mysql

chown -R mysql:mysql /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql-5.1.54-linux-i686-glibc23/

cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 755 /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 3 mysqld on

cp ./support-files/my-huge.cnf /etc/my.cnf

mv /usr/local/mysql/data /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql

编辑/etc/my.cnf

在 [mysqld] 段增加

datadir = /var/lib/mysql
skip-innodb
wait-timeout = 10
max_connections = 512
max_connect_errors = 10000000

在 [mysqld] 段修改

max_allowed_packet = 16M

thread_cache_size = CPU个数*2

将 log-bin 注释

service mysqld start

bin/mysqladmin -u root password 'password_for_root'

其中引号内的password_for_root是要设置的root密码

12、安装Nginx以及所需的pcre库
cd /usr/local/src

tar zxvf pcre-7.8.tar.gz

cd pcre-7.8/

./configure

make

make install

cd ../


tar zxvf nginx-0.7.63.tar.gz

cd nginx-0.7.63

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module

make

make install

cp /usr/local/src/nginx /etc/init.d/nginx

chmod 755 /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

13、编译安装PHP、Zend、eAccelerator(FastCGI模式)
cd /usr/local/src

tar zxvf php-5.2.10.tar.gz

gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1

cd php-5.2.10

./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/etc/cgi --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-magic-quotes --with-mysql=/usr/local/mysql --with-pear --enable-sockets --with-ttf --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --enable-sysvsem --enable-sysvshm --with-libxml-dir=/usr --enable-force-cgi-redirect --enable-fastcgi --with-xmlrpc --enable-zip --enable-fpm --with-mcrypt --with-mhash

make ZEND_EXTRA_LIBS='-liconv' (不加载liconv模块)

make install

mkdir -p /usr/local/etc/cgi/

cp php.ini-dist /usr/local/etc/cgi/php.ini

mv -f /usr/local/src/php-fpm.conf /usr/local/php5/etc/php-fpm.conf

groupadd www

useradd -g www www

echo 'ulimit -SHn 65535' >> /etc/rc.local

echo '/usr/local/php5/sbin/php-fpm start' >> /etc/rc.local





14、编译安装PHP5扩展模块
cd /usr/local/src

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./configure

make

make install

----------------------------------------------------------

cd /usr/local/src

tar zxvf memcache-2.2.5.tgz

cd memcache-2.2.5/

/usr/local/php5/bin/phpize

./configure --with-php-config=/usr/local/php5/bin/php-config

make

make install

cd ../

---------------------------------------------------------------

tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz

cd ZendOptimizer-3.3.3-linux-glibc23-i386

./install

(注意第一个要填的路径是Zend安装路径,第二个是php.ini所在的路径,即/usr/local/etc/cgi)

(不要选重启apache)

---------------------------------------------------------------

cd ../

tar jxvf eaccelerator-0.9.6.1.tar.bz2

cd eaccelerator-0.9.6.1/

/usr/local/php5/bin/phpize

./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php5/bin/php-config

make

make install

cd ../

得到路径/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/

---------------------------------------------------------------

tar zxvf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2/

/usr/local/php5/bin/phpize

./configure --with-php-config=/usr/local/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql

make

make install

cd ../


 楼主| 无处不在 发表于 2012-4-29 09:35 | 显示全部楼层
15、设置Nginx和php

mv -f /usr/local/src/fcgi.conf /usr/local/nginx/conf/

cp -f /usr/local/src/nginx.conf /usr/local/nginx/conf/nginx.conf

mkdir -p /home/www/wwwroot

ulimit -SHn 65535

修改php.ini文件

vi /usr/local/etc/cgi/php.ini

手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = "./"
修改为extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
并在此行后增加以下几行,然后保存:
extension = "memcache.so"
extension = "pdo_mysql.so"

再查找output_buffering = Off
修改为output_buffering = On

eaccelerator即可以安装为PHP扩展,也可以安装为zend扩展,以下安装为PHP扩展。
  
在最后一行加入以下内容(一定要放在Zend配置文件之前)

[eaccelerator]  
extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.Optimizer="1"
eaccelerator.check_mttime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
  
建立缓存目录:
# mkdir -p /tmp/eaccelerator
# chmod 777 /tmp/eaccelerator

修改配置文件:

vi /etc/sysctl.conf
kernel.shmmax = 134217728


然后执行以下命令使配置生效:

/sbin/sysctl -p


16、设置系统防火墙

编辑/usr/local/sbin/fw.sh

复制以下内容进去

#!/bin/bash

# Stop iptables service first

service iptables stop

# Load FTP Kernel modules

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_nat_ftp

# Inital chains default policy

/sbin/iptables -F -t filter

/sbin/iptables -P INPUT DROP

/sbin/iptables -P OUTPUT ACCEPT

# Enable Native Network Transfer

/sbin/iptables -A INPUT -i lo -j ACCEPT

# Accept Established Connections

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ICMP Control

/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

# WWW Service

/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# FTP Service

/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT

# SSH Service

/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

退出编辑,执行以下命令

#c

# echo '/usr/local/sbin/fw.sh' >> /etc/rc.local

# /usr/local/sbin/fw.sh

修改$PATH下php/mysql路径

cd /etc

vi /etc/profile

在适当位置添加

PATH=$PATH:/usr/local/php5/bin
PATH=$PATH:/usr/local/mysql/bin

保存退出后执行

source profile

重启系统
init 6

17、检查配置是否正确

cd /home/www/wwwroot

vi index.php

<?php phpinfo(); ?>

保存退出

打开浏览器输入IP地址查看

18、配置虚拟主机

vi /usr/local/nginx/conf/nginx.conf

建立主机文件夹

mkdir /home/www/wwwroot/www.1.com

mkdir /home/www/wwwroot/www.2.com

给文件夹赋予权限

chmod -R 777 /home/www/wwwroot/www.1.com

chmod -R 777 /home/www/wwwroot/www.2.com

配置文件内容如下:

user  www www;

worker_processes 4;

error_log  logs/nginx_error.log  crit;

pid        logs/nginx.pid;

worker_rlimit_nofile 65535;

events
{
  use epoll;
  worker_connections 65535;
}

http
{
  include       mime.types;
  default_type  application/octet-stream;

  #charset  gb2312;

  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;

  sendfile on;
  tcp_nopush     on;

  keepalive_timeout 60;

  tcp_nodelay on;

  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;

  gzip on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types       text/plain application/x-javascript text/css application/xml;
  gzip_vary on;

--------------------------------------------
#将server部分修改为一下内容
server {
  listen         80;
  server_name     _;
  access_log  off;
  server_name_in_redirect  off;
  location / {
  root  /usr/local/nginx/html;
  index index.html;
     }
  }

  # 包含所有的虚拟主机的配置文件
  include /usr/local/nginx/vhosts/*;

--------------------------------------
}

#在 /usr/local/nginx 下创建 vhosts 目录

mkdir /usr/local/nginx/vhosts

#在 /usr/local/nginx/vhosts/ 里创建一个名字为 www.1.com.conf 的文件,把以下内容拷进去

vi /usr/local/nginx/vhosts/www.1.com.conf

server {
        listen  80;
        server_name  www.1.com;

        access_log  off;

        location / {
            root   /home/www/wwwroot/www.1.com;
            index  index.php index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/www/wwwroot/www.1.com/$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
}

#如果建立多个主机,就相应的建立多个*.conf配置文件

带DZ论坛伪静态的设置

server {
        listen  80;
        server_name bbs.gougou101.com;

        access_log  off;

        location / {
            root   /home/www/wwwroot/gougou101/bbs;
            index  index.php index.html index.htm;
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
if (!-e $request_filename) {
        return 404;
}
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/www/wwwroot/gougou101/bbs/$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
}



配置文件修改完以后重启Nginx

/usr/local/php5/sbin/php-fpm restart

service nginx restart


分别在两个主机文件夹下建立文件测试虚拟主机

vim /home/www/wwwroot/www.1.com/index.html

输入内容

www.1.com

保存退出

在浏览器输入www.1.com查看(需要修改查看机的host记录)

重复以上操作创建www.2.com


20、安装phpmyadmin管理mysql

将phpmyadmin下载到需要管理mysql网站目录下

cd /usr/local/src

wget http://unmp.googlecode.com/files ... ll-languages.tar.gz

解压缩到当前目录下

tar zxvf phpMyAdmin-3.3.3-all-languages.tar.gz

修改目录名并移动到网站目录下

mv /usr/local/src/phpMyAdmin-3.3.3-all-languages /home/www/wwwroot/这里要根据网站所在目录所定

修改配置文件

vi /home/www/wwwroot/网站目录名称/mysqladmin/libraries/config.default.php

$cfg['PmaAbsoluteUri'] = 'url'; //访问myphpadmin的网址

$cfg['blowfish_secret'] = '随便填一个'; //短密码验证

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['port'] = '';

$cfg['Servers'][$i]['auth_type'] = 'cookie'; //指定登录模式

$cfg['Servers'][$i]['user'] = 'root'; //指定登录用户

------------------------------------------------------------------------------------------------

一、Mysql重要目录
1、数据库目录/var/lib/mysql
2、配置文件/usr/share/MySQL CentOS(MySQL CentOS.server命令及配置文件)
3、相关命令/usr/bin(MySQL CentOSadmin MySQL CentOSdump等命令)
4、启动脚本/etc/rc.d/init.d/(启动脚本文件MySQL CentOS的目录)
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-3-29 23:31 , Processed in 0.163114 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表