CentOs安装AMP还有GD+ZEND等组件
时间:2010-09-18 来源:sunss
下列转自:http://www.shadowlong.cn/learn_notes/linux/2009/11/17/centos%E5%AE%89%E8%A3%85amp%E8%BF%98%E6%9C%89gdzend%E7%AD%89%E7%BB%84%E4%BB%B6/
1 安装
1.1 CentOS5.1
• 所有需要安装的包都放在/usr/src下,解压也是解压在/usr/src下。
• 所有的软件都是安装在/usr/local下。
1.2 基本信息
• vmware workstation 6.2
• 创建一个redhat as 5.0 vm
• 8g硬盘,160m内存,去掉声卡,软驱
• ip:192.168.1.168
• 掩码:255.255.255.0
• 网关:192.168.1.1
• dns:192.168.1.1
• hostname:centos
1.3 最小化安装
通过命令行的方式进行安装,所有的选择都是采用缺省的,
时区选择:中国
语言:英语
安装了342个包,占用空间是536m,不选择任何组件
1.4 分区
/swap:320
/ :全部空间
2 基本命令使用
2.1 VI
进入编辑状态:i
退出编辑状态:Esc
到第一行:gg
到最後一行:G
到某一行:xxG
到行首:0
到行末:$
复制:yy
贴上:p
复原:u
删整行:dd
删除全部内容:dG
显示行数::set nu
不显示行数::set nonu
搜寻:/、再次搜寻:n
储存::w
离开::q
储存兼离开::wq 或 shift+zz
强制离开(不储存)::q!
2.2 yum
更新:yum update
安装:yum install xxx
移除:yum remove xxx
清除已经安装过的档案(/var/cache/yum/):yum clean all
搜寻:yum search xxx
列出所有档案:yum list
查询档案讯息:yum info xxx
群组安装功能:
yum grouplist
yum groupinstall “Web Server”
2.3 rpm
安装:rpm -ivh xxx
移除:rpm -e xxx
升级:rpm -Uvh xxx
查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx
2.4 chkconfig
查看所有服务:chkconfig –list
查看3启动的状态:chkconfig –list | grep 3n
把某些服务设置为启动:chkconfig –level 345 xxx on
把某些服务设置当前启动:chkconfig xxx on
列出某项服务:chkconfig –list xxx
2.5 查看系统状态
查看系统使用字符集:echo $LANG $LANGUAGE
环境变量:set
2.6 解压
如果是以gz結尾的如:test.tar.gz
tar zxvf test.tar.gz
如果是以bz或bz2結尾如:test.tar.bz2
tar jxvf test.tar.bz2
2.7 基本信息查看和修改
查看 IP:ifconfig
修改 IP:
运行命令:system-config-network-tui
或修改:/etc/sysconfig/network-scripts/ifcfg-eth0
FQDN 设定:
hostname
more /etc/hosts
more /etc/sysconfig/network
修改计算机名字
1:vi /etc/sysconfig/network
2:vi /etc/hosts
如果通过
hostname xxx
来修改计算机名字,则重新启动后就不起作用
DNS 设定:
vi /etc/resolv.conf
nameserver 192.168.1.1
nameserver 202.106.195.68
重新启动网卡:
/etc/rc.d/init.d/network restart
3 登陆后设置
3.1 关闭selinux
1:运行命令setup,可以在图形化界面进行关闭
2:vi /etc/sysconfig/selinux
SELINUX=enforcing 改成–> SELINUX=disabled
3.2 关闭不需要服务
1:运行命令setup
2:运行命令ntsysv
只启用下面9个服务(autofs是为了方便使用光驱,其实可以不启用这个服务)
acpid
anacron
autofs
cpuspeed
crond
network
sshd
syslog
yum-updatesd
3.3 配置ssh
修改两个地方
vi /etc/ssh/sshd.config
#PermitRootLogin yes 改为
PermitRootLogin yes
#UseDNS yes 改为
UseDNS no
3.4 配置yum
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save
vi /etc/yum.repos.d/CentOS-Base.repo
######################
[base]
name=CentOS-5 – Base
repo=os
baseurl=http://centos.ustc.edu.cn/centos/5.1/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[update]
name=CentOS-5 – Updates
baseurl=http://centos.ustc.edu.cn/centos/5.1/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[addons]
name=CentOS-5 – Addons
baseurl=http://centos.ustc.edu.cn/centos/5.1/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-5 – Extras
baseurl=http://centos.ustc.edu.cn/centos/5.1/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[centosplus]
name=CentOS-5 – Plus
baseurl=http://centos.ustc.edu.cn/centos/5.1/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
[contrib]
name=CentOS-5 – Contrib
baseurl=http://centos.ustc.edu.cn/centos/5.1/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
###################
rpm –import http://centos.ustc.edu.cn/centos/5.1/os/i386/RPM-GPG-KEY-CentOS-5
yum update
4 :编译前准备
4.1 安装编译器gcc
最小化安装,没有安装编译器
yum install gcc
4.2 gcc-c++
如果不安装,在编译mysql的时候会出现【exec: g++: not found】错误
yum install gcc-c++
5:安装软件
5.1安装mysql
1:去下载一个ncurses-5.6.tar.gz,
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure –prefix=/usr –with-shared –without-debug
make
make install clean
2:安装mysql
tar -zxvf mysql-5.0.51a.tar.gz
cd mysql-5.0.51a
./configure –with-mysqld-user=mysql –prefix=/usr/local/mysql5 –with-extra-charset=all –without-isam –exec-prefix=/usr/local/mysql5
echo $?
make && make install
3:初始化数据库:
groupadd mysql
useradd -g mysql mysql
scripts/mysql_install_db
cp /usr/local/mysql5/share/mysql/my-medium.cnf /usr/local/mysql5/var/my.cnf
cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql5/
service mysqld start
ln -s /usr/local/mysql5/bin/mysql /sbin/mysql
ln -s /usr/local/mysql5/bin/mysqladmin /sbin/mysqladmin
4:设定mysql密码
mysqladmin -uroot password “123456″
5:让系统找到mysql(如果必要的话):
PATH=$PATH:/usr/local/mysql5/bin
export PATH
echo “/usr/local/mysql5/lib/mysql” >> /etc/ld.so.conf
ldconfig
6::测试
netstat -nplt | grep mysql
ps aux|grep mysql
编译安装有的时候安装不了,没办法安装下面表的方法就可以完全成功:
1. | 从http://www.mysql.com下载二进制版的Mysql安装包 | //这个MYSQL是二进制版的,不用编译 |
2. |
# chmod 755 mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz |
// |
3. | # tar xfz mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz | //将解压后生成的目录,复制到/usr/local/下并改名为mysql |
4. |
# groupadd mysql # useradd mysql -g mysql |
// 建立mysql组 //建立mysql用户并且加入到mysql组中 |
5. |
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf |
在 support-files目录下有4个模版文件,我们选择其中一个座位Mysql的配置文件,覆盖/etc/my.cnf(系统默认的配置,其中设置了性能参数和Mysql的一些路径参数) |
6. |
# cd /usr/local/mysql # ./scripts/mysql_install_db –user=mysql |
进入mysql目录 //初试化表并且规定用mysql用户来访问。初始化表以后就开始给mysql和root用户设定访问权限 |
7. | # chown -R root . | //设定root能访问/usr/local/mysql |
8. |
# chown -R mysql data |
//设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。 |
9. |
# chown -R mysql data/. |
//设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件 |
10. |
# chgrp -R mysql . |
//设定mysql组能够访问/usr/local/mysql |
11. |
# /usr/local/mysql/bin/mysqld_safe –user=mysql & |
运行mysql 如果没有问题的话,应该会出现类似这样的提示: [1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var 如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置。大多数问题是权限设置不正确引起的。 |
12. |
用如下命令修改MYSQL密码 # /usr/local/mysql/bin/mysqladmin -u root password yourpassword |
//默认安装密码为空,为了安全你必须马上修改. |
13. |
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chmod 700 /etc/init.d/mysqld # chkconfig –add mysqld # chkconfig –level 345 mysqld on |
//copy编译目录的一个脚本 //设置使mysql每次启动都能自动运行 |
14. |
# service mysqld start # netstat -atln |
//启动mysqld服务 //查看3306端口是否打开。要注意在防火墙中开放该端口。 |
5.2 安装apache
1:编译安装
tar zxvf httpd-2.2.8.tar.gz
cd httpd-2.2.8
./configure –prefix=/usr/local/apache2 –enable-so –enable-rewrite
echo $?
make && make install
/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/apachectl start
/usr/local/apache/bin/apachectl stop
2:修改默认启动页
vi /usr/local/apache2/conf/httpd.conf
DirectoryIndex index.html 改为
DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp
#ServerName www.example.com:80 改为
ServerName www.example.com:80
3:apache 开机启动的办法
1:#echo “/usr/local/apache/bin/apachectl start” >>/etc/rc.local(系统启动时服务自动启动)
2:创建一个httpd启动脚本,内容如下:
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
在第三行添加以下内容
#chkconfig:345 85 15
#description: Start and stops the Apache HTTP Server.
chmod +x /etc/rc.d/init.d/httpd
chkconfig –add httpd
修改乱码
步骤1:
在httpd.conf中将Include conf/extra/httpd-autoindex这个模块的注释去掉
@vi /usr/local/apache/conf/httpd.conf
步骤2:
在httpd-autoindex.conf中加入IndexOptions Charset=UTF-8
@vi /usr/local/apache/conf/extra/httpd-autoindex.conf
5.3 安装GD
1:安装ZLIB2
######zlib#############
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install clean
2:安装PNG
##########libpng###########
tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26
cp scripts/makefile.linux ./makefile
./configure –prefix=/usr/local/libpng
make
make install clean
3:安装freetype
##########freetype#########
cd freetype-2.3.5
./configure
make
make install
4:安装JPEG6
#########jpeg###############
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
./configure –prefix=/usr/local/jpeg –enable-shared –enable- static
make
make install
5:安装GD
########GD###########
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure –with-png –with-freetype –with-jpeg=/usr/local/jpeg/
make
make install
5.4 安装php
1:安装LIBXML2
#####libxml2 #####
tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure –prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin
2::安装PHP5.2.5
#########php##########
tar zxvf php-5.2.5.tar.gz
cd php-5.2.5
./configure –prefix=/usr/local/php5 –with-mysql=/usr/local/mysql5 –with-apxs2=/usr/local/apache2/bin/apxs –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/include/freetype2 –with-zlib –with-png-dir=usr/local/libpng12 –with-libxml-dir=/usr/local/libxml2 –with-gd –enable-ftp –enable-sockets
make
make test
make install
3:配置
cp php.ini-dict /usr/local/php5/lib/php.ini
编辑httpd.conf
/usr/local/apache2/conf/httpd.conf
加载php模块,去掉注释,我的版本是缺省就启用的。
LoadModule php5_module modules/libphp5.so
加上下面两行
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
5.5 安装zend
tar -zxvf ZendOptimizer-3.0.0-linux-glibc23- x86_64.tar.gz
cd ZendOptimizer-3.0.0-linux-glibc23-x86_64
./install
5.6 安装phpmyadmin
cp -rf phpMyAdmin-v2.11.5.2 /usr/local/apache2/htdocs/phpmyadmin
cd /usr/local/apache2/htdocs/phpmyadmin/
cp config.sample.inc.php config.inc.php
vi config.inc.php
$cfg['blowfish_secret'] = ”改为
$cfg['blowfish_secret'] = ‘dd’
只要不为空就可以了,这样就可以登陆,如果还有问题,就修改一下语言就解决“配置文件现在需要绝密的短语密码(blowfish_secret)”这个错误了。
**********************************************
安装zend提示成功后
php -v 却看不到zend版本 phpinfo()也是一样的原因:php.ini文件路径问题
解决方法
php -i | grep php.ini 就可以找到 当前php使用的php.ini文件
比如 编译安装时没有指定php.ini存放路径 我的系统中就在 /usr/local/lib下面
而一般zend默认安装后生成的php.ini在/etc/目录下面或/usr/local/Zend/etc
手动指定php使用zend opt生成的php.ini
php -c /etc/ -v
如果可以看到zend opt正确加载
那么做个连接就好了 连接到php默认读取的php.ini路径下面
比如
ln -sf /etc/php.ini /usr/local/lib[root@localhost /]# php -vPHP 4.4.2 (cli) (built: Jan 22 2006 12:59:19)Copyright (c) 1997-2006 The PHP GroupZend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend TechnologiesOk 正常了 phpinfo()看到的当然也是一样的
有的时候还有一些情况下 php -i 或php -v 在控制台下可以看到zend opt,
但是 apache 执行phpinfo的输出里面却看不到
一般是因为 调用php的时候zend模块不能加载, 比如AS4里面 就是这样的
因为 as4下面默认的php安装后读取库文件的路径 是在/usr/lib下面 ,
而php.ini文件中加载zend模块是在zend安装路径的lib目录中
比如/usr/local/Zend/lib
这时apache在执行php时 不能加载zend模块 所以 在控制台里php -v 可以正常
但是apache 却没有加载zend。 解决办法 先把zend模块copy到
/usr/lib里面 然后改一下php.ini里面zend加载模块部分
**********************************************
我在安装了 v3.3.0 v3.0.1 v.3.3.3几个版本,安装顺利,没有报错。却发现phpinfo信息里面只有with Zend Extension Manager 而没有 with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies 这一行信息。
检查我的php.ini信息路径在/usr/local/php5/lib/php.ini,已经生成到/usr/local/Zend/etc/php.ini的链接文件,并且文件后面也追加了
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
相关的配置路径
测试了很多遍,找不到解决的办法,只是感觉和php的配置文件有关或没有生效,仔细在看phpinfo的信息发现
Configuration File (php.ini) Path | /usr/local/php5 |
而我的php.ini文件是在/usr/local/php5/lib 下查看编译php信息看到–with-config-file-path=/usr/local/php5′ 看来是编译php时已经把php.ini的路径给修改了不是默认的/usr/local/php5/lib下的路径,
重新按照正确的php.ini路径安装配置或者直接
ln -s /usr/local/Zend/etc/php.ini /you_path/php.ini
重新启动apache
查看phpinfo信息
Configuration File (php.ini) Path | /usr/local/php5 |
Loaded Configuration File | /usr/local/Zend/etc/php.ini |
zend optimizer的信息也正确显示了。
*********************************************
配置Apache的虚拟目录
<VirtualHost 127.0.0.1>
ServerName www.yourdomain.com
DocumentRoot “/opt/iNewS4/htdocs” #域名的根目录直接指向静态目录,这样就可以直接使用域名访问静态首页
Alias /admincp “/opt/iNewS4\AdminCP” #这个是iNewS的后台管理地址,可以复杂一点
Alias /Install “/opt/iNewS4\Install” #这个可以在安装完成删除
</VirtualHost>
*****************************************
VSFTPD的安装网上有很多教程这里就不多说了,这里主要是针对做主机空间服务的朋友在安装好vsftpd后如何为用户增加ftp账号
先来看一看我们一般在*inux系统下面如何增加用户的
#adduser 用户名<———-你要加的用户名
#passwd 用户名<———-你要设置密码的用户名
回车后系统会给出以下提示:
Changing password for user XX用户名.
New password:
BAD PASSWORD: it does not contain enough DIFFERENT characters
Retype new password:
passwd: all authentication tokens updated successfully.
但像以上这样增加用户是不行的,加样加出来的用户为普通用户,有系统登陆权限,所以我要在adduser命令后后面加上参数,如下:
[root@srsman]# adduser -g ftp -s /sbin/nologin srsman
[root@srsman]# passwd beinan
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
这样加出来的用户也是普通用户,但这个用户是不能登入系统的,只能是登入FTP
通过上面的命令加的用户系统会在/home目录下建立一个同名的文件夹,用户FTP上来后指向的目录也为此目录,如何为ftp用户指定到特定的目录呢?
命令如下:
[root@srsman]# adduser -d /opt/srsman -g ftp -s /sbin/nologin srsman
[root@srsman]# passwd srsman
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
这样就为系统增加了一个名为srsman,目录指向为/opt/srsman的ftp用户
6:软件
ncurses
http://ftp.gnu.org/pub/gnu/ncurses/ncurses- 5.6.tar.gz
安装GD库和GD库所需的环境
zlib
http://www.zlib.net/zlib-1.2.3.tar.gz
jpeg
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
freetype
http://download.savannah.gnu.org/releases/freetype/freetype- 2.3.5.tar.gz
png
ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng- 1.2.26.tar.gz
GD
http://www.libgd.org/releases/gd-2.0.35.tar.gz
安装php必须安装libxml
wget ftp://xmlsoft.org/libxml2/libxml2-2.6.31.tar.gz
apache2.2.8
http://apache.mirror.phpchina.com/httpd/httpd- 2.2.8.tar.gz
phpmyadmin2.11.5.2
http://4.gxdx1.crsky.com/200804/phpMyAdmin- v2.11.5.2.rar
Zend3.3
http://downloads.zend.com/optimi … glibc21-i386.tar.gz
php5.2.5
http://cn.php.net/distributions/php- 5.2.5.tar.gz
mysql5.051
http://mirror.trouble- free.net/mysql_mirror/Downloads/MySQL- 5.0/mysql-5.0.51a.tar.gz