版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan – 马永占,myz,mayongzhan
最终安装的只有mysql+apache+php
系统里自带了zlib libxml2 libxslt libcurl openssl
痛苦了N天啊.这东西真的很变态.N多个软件需要make
想到这里突然开始喜欢xmapp了
希望广大PHPER有时间了再研究这个太费时间…如果你是职业的linux管理员…那可要努力了.!
装了第一次卡到zlib上….最后的结果就是删掉已经快被装烂了的centos…
痛苦的过程如下
mysql + apache + openssl + PHP + gd + libpng + libjpeg + freetype2 + zlib(这个很重要很多都要用.) +libxml2
mysql
这是第一道坎
先是make出错…经过分析才知道是gcc没有装.晕掉. 装centos时没有注意要选有个开发工具的东西…make可以用了之后…发现还是make不了,经过分析….知道我下的是glibcc,是编译完了的…倒~~~~
直接复制过去…
apache这个东西先是没装.先要装其他的一些小东西.然而就是这些小东西.导致整个过程的终止
zlib
这个是第一个装的.没什么说的,./configure –prefix=/usr/myz/libs/zlib
顺利装上
freetype2
也顺利装上
然后是libpng
这里卡死了…
提示找不到zlib
我试了改makefile….结果没用…
然后又重新装了下zlib…然后装libpng…结果没有装到指定地点…疯掉.
之后删除
痛苦…如果上天再给我一次机会…我愿意直接装xmapp…如果需要装一台web服务器的话.我选择.rpm…如果是ubuntu的话我选择apt-get…
努力的重新安装一遍.如下:
MySQL+Apache+PHP+gd + libpng + libjpeg + freetype2 + zlib+libxml
MySQL
tar -zxvf mysql.tar.gz
groupadd mysql
useradd -g mysql mysql
到解压好的那个目录下
初始化数据库: ./scripts/mysql_install_db –user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .加入到系统启动组(red hat): cp ./support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld reset
加配置cp ./support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe –user=mysql &这里又出了点小问题,系统启动出现错误.因为找不到mysql,当然要修改/etc.init.d/mysqld这个文件,把里面的/usr/local/mysql改成我的目录,OK
还有一点要到/usr/local/bin下面去ln -fs /usr/myz/mysql/bin/mysql mysql
当然还有mysqladmin mysqldump
这样还不能远程连接…晕….
grant all on *.* to root@”202.11.10.253” Identified by “dbpassword”
OK…MySQL是安装完了…
MySQL配置
设置其实刚才就做了一些
mysqladmin -u root password XXX
现在应该只剩下设置字符集了
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect=SET NAMES utf8 (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动mysql(/etc/init.d/mysql restart) 即可,查询一下show variables like character%;
Zlib
这个很重要….吸取以前的教训.直接默认安装
# tar -zxvf zlib-1.2.2.tar.gz
# cd zlib-1.2.2
# ./configure
# make
# make installlibjpeg
这个很傻帽.不能自己创建文件夹.试了就知道,在make install那步当中
# ./configure –prefix=/usr/local/jpeg –enable-shared –enable-static
# make
# make install出现问题的文件夹就自己创建一下.OK
libpng
# cp scripts/makefile.linux makefile
# make (若是提示找不到zlib库文件或者头文件,多半是makefile文件里zlib的默认路径有误。可编辑makefile文件,找到zlib项并重新指定路径到zlib路径,建议还是默认安装)。 # make installfreetype
./configure –prefix=/usr/local/ freetype
make
make install
libxml2
./configure –prefix=/usr/local/libxml2
make
make installcp xml2-config /usr/bin 这个在php编译的时候会用到
gd
注意:png和zlib都是默认安装
# ./configure –prefix=/usr/local/gd2 –with-jpeg=/usr/local/jpeg –with-png=/usr/local/lib –with-zlib=/usr/local/lib –with-freetype=/usr/local/freetype
# make
# make install如果不出现以上那几个的东西的 no的话就是安装成功了.终于…..接下来该apache了
apache
# ./configure –prefix=/usr/myz/apache –sysconfdir=/etc –enable-so –enable-track-vars –enable-rewrite –with-z=/usr/local/lib
# make
# make installsysconfdir是配置文件目录
so是允许so
track-vars为启动cookie的get/post等追踪功能
rewrite重写
z zlib压缩
apache配置
vi /etc/httpd.conf
要改的有如下几处:
找到LoadModule php5_module modules/libphp5.so
让php5以动态模块方式(DSO)加载在apache上。apache在启动后去加载php。
前面的#号去掉(默认已去掉注释)( LoadModule xxx.so在php装完了自动会出来)
#AddType application/x-gzip .gz .tgz
下面加二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
第一句是让apache在遇到.php文件后缀的时候,调用php模块解释php里面的代码。第二句是在遇到.phps文件后缀的时候以语法高亮方式显示php源代码。这里可以做很多文章,比如AddType application/x-httpd-php .html,这样apache会把.html文件也通过php去解释,很多网站的”伪静态”就是这里做的手脚。
找到DirectoryIndex index.html
改为 DirectoryIndex index.html index.htm index.php,这是在给apache设置默认首页。并且是有先后顺序的。修改www的目录
先mkdir /var/www
然后修改httpd.conf里
DocumentRoot “/var/www”
# cp /usr/lamp/apache2/bin/apachectl /etc/init.d/httpd
设置开机自启动
# chkconfig –add httpd这里会出现错误.在httpd里的第一行下面加上:
# myz
# chkconfig: 2345 60 40
# description: MyZ Server
将apache添加为系统服务
# service httpd start这里先等一等,因为libphp5.so要装完php才会有。
关于Permission denied的错误
处理如下:
1. vi /etc/sysconfig/selinux
更改SELINUX=disabled
2.chcon -t texrel_shlib_t /usr/apache/modules/libphp5.so
或者简单的方法去关掉selinux,#setup在里面找selinux相关的disabled掉。
然后start就会开启服务了,同理service httpd stop就是停止服务。还可以service httpd restart。不过这个没有什么提示信息,你可以自己编写个shell脚本,加入一些提示信息就显得好看多了。这里启动会出现一点错误:
httpd could not reliably determine
需要在httpd.conf 中的ServerName:www.example.com:80下面加上
www.yourdomain.com:80
对了如果ping不通80端口试试关掉linux的防火墙试试,#setup里面有。
php
# ./configure –prefix=/usr/myz/php \
–with-apxs2=/usr/myz/apache/bin/apxs \
–with-config-file-path=/etc \
–enable-safe-mode \
–with-zlib= \
–with-zlib-dir=/usr/local/lib \
–with-libxml-dir=/usr/local/lib \
–enable-mbstring \
–with-mysql=/usr/myz/mysql \
–with-mysql-sock=/tmp \
–with-pdo-mysql=/usr/myz/mysql \
–enable-soap \
–with-xmlrpc \
–enable-sockets \
–with-curl=/usr/local/lib \
–with-xsl=/usr/local/lib \
–with-openssl=/usr \
–with-gd=/usr/local/lib \
–with-jpeg-dir=/usr/local/lib \
–with-png-dir=/usr/local/lib \
–with-freetype-dir=/usr/loca/lib \
蓝字的是我觉得必须的.
有的是需要装的.比如apache,zlib,libxml2,libcurl,libxslt
我用的是5.2.5有的东西是默认的enable 比如cli
这个不全…但是够用…但是不好…但是也太多了
我编了N遍!!!!
美中不足.没有装上libcURL还有xslt
make
最可怕的是在make test时不断循环…最后退不出去.只能reset电脑…
make install
又出现错误,说找不到libphp5.so,搜了半天,最后把所有的删掉重来一次.OK
复制php.ini-recommended为php.ini,并存放到/etc/目录下.
php配置
这个…随意吧…因为是实验所以什么也没改…只看了下phpinfo()
结束…