QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3133|回复: 15

Linux ES4.0上如何配置mysql

[复制链接]
发表于 2005-12-9 16:03:29 | 显示全部楼层 |阅读模式
Enterprise Linux ES4.0(企业版) 上应该如何配置PHP+APACHE+MYSQL+ZEND?APACHE和PHP倒是支持了,可MYSQL启动不了,MYSQL的目录也找不到,系统自带的是MYSQLD服务启动后提示TIMEOUT
发表于 2005-12-9 17:34:35 | 显示全部楼层
贴完整提示和log,自带其实简单的办法重装一次mysql 应该可以了.
回复

使用道具 举报

发表于 2005-12-9 19:12:29 | 显示全部楼层
没有安装mysql-server包,或这网上下载个源码包编译安装一下。网上文档很多的
回复

使用道具 举报

 楼主| 发表于 2005-12-9 23:38:35 | 显示全部楼层
Redhat Enterprise Linux Advanced Server 4上用MySQL-server-4.0.21-0.i386.rpm,MySQL-client-4.0.21-0.i386.rpm,MySQL-devel-4.0.21-0.i386.rpm,MySQL-shared-4.0.21-0.i386.rpm文件安装MYSQL后无法启动MYSQL,压根就没生成mysql.sock,机器名.pid这个两个文件,MYSQL目录里也没默认数据库文件,不知道Redhat Enterprise Linux Advanced Server 4是不是不能用这样的安装文件,以前在RH8和RH9上都是可以安装整个并能正常启动服务的。MSYQL没安装上去,所以后面的APACHE+PHP+ZEND就没安装,然而这个MYSQL也卸载不掉,也不知道该删除哪些文件,然后就直接安装系统自带的MYSQL+APACHE+PHP,APACEH倒是安装上了也支持PHP了,但MYSQL还是不能启动,系统自带的MYSQL服务名是mysqld,启动提示超时。
  不知道在Redhat Enterprise Linux Advanced Server 4上安装MYSQL+APACHE+PHP+ZEND正确的配置是怎么样的,希望大虾指点。
回复

使用道具 举报

 楼主| 发表于 2005-12-9 23:52:19 | 显示全部楼层
RH EA的APACHE的web目录也不是/usr/local/apache/htdocs了,RH EA的APACHE的web目录好象在/var/www/html里
回复

使用道具 举报

 楼主| 发表于 2005-12-10 00:54:53 | 显示全部楼层
我把自己的WEB目录改成html启动提示
?ˉ??¨ httpd???Syntax error on line 265 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
可是他默认的html是个空目录啊
回复

使用道具 举报

 楼主| 发表于 2005-12-10 01:25:48 | 显示全部楼层
zend已经安装了,可还是乱码
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.5
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.5

zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
"php.ini" 1078L, 38765C                                                                                     1077,1       底端
难道是这个ZendOptimizer-2.5.5-linux-glibc21-i386在 linux ea4下不支持?我用这个不行啊

有没有Redhat Enterprise Linux Advanced Server 4下的zend下载呀?,
回复

使用道具 举报

 楼主| 发表于 2005-12-10 02:20:15 | 显示全部楼层
php的测试信息里没有Zend Optimizer的说明信息,郁闷,正常的安装后,在测试也面上应该可以看到
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.4, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.5, Copyright (c) 1998-2004, by Zend Technologies
这些信息,可我的只有这些
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
回复

使用道具 举报

 楼主| 发表于 2005-12-10 07:17:25 | 显示全部楼层
这些是PHP测试信息
PHP Version 4.3.9

System  Linux OA 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686  
Build Date  Nov 24 2004 08:49:16  
Configure Command  './configure' '--build=i386-redhat-linux' '--host=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db4=/usr' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd=shared' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-ncurses=shared' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-xml' '--with-expat-dir=/usr' '--with-dom=shared,/usr' '--with-dom-xslt=/usr' '--with-dom-exslt=/usr' '--with-xmlrpc=shared' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mbstring=shared' '--enable-mbstr-enc-trans' '--enable-mbregex' '--with-mime-magic=/usr/share/file/magic.mime' '--with-apxs2=/usr/sbin/apxs'  
Server API  Apache 2.0 Handler  
Virtual Directory Support  disabled  
Configuration File (php.ini) Path  /etc/php.ini  
Scan this dir for additional .ini files  /etc/php.d  
additional .ini files parsed  /etc/php.d/ldap.ini, /etc/php.d/mysql.ini  
PHP API  20020918  
PHP Extension  20020429  
Zend Extension  20021010  
Debug Build  no  
Thread Safety  disabled  
Registered PHP Streams  php, http, ftp, https, ftps, compress.bzip2, compress.zlib  

This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies  


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

PHP Credits

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

Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference Off Off
allow_url_fopen On On
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors Off Off
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 2047 2047
expose_php On On
extension_dir /usr/lib/php4 /usr/lib/php4
file_uploads On On
gpc_order GPC GPC
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/usr/share/pear .:/usr/share/pear
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
max_execution_time 30 30
max_input_time 60 60
memory_limit 8M 8M
open_basedir no value no value
output_buffering no value no value
output_handler no value no value
post_max_size 8M 8M
precision 14 14
register_argc_argv On On
register_globals Off Off
report_memleaks On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On


apache2handler
Apache Version  Apache/2.0.52 (Red Hat)  
Apache API Version  20020903  
Server Administrator  root@localhost  
Hostnameort  new.host.name:80  
User/Group  apache(4/48  
Max Requests  Per Child: 4000 - Keep Alive: off - Max Per Connection: 100  
Timeouts  Connection: 120 - Keep-Alive: 15  
Virtual Server  No  
Server Root  /etc/httpd  
Loaded Modules  core prefork http_core mod_so mod_access mod_auth mod_auth_anon mod_auth_dbm mod_auth_digest util_ldap mod_auth_ldap mod_include mod_log_config mod_env mod_mime_magic mod_cern_meta mod_expires mod_deflate mod_headers mod_usertrack mod_setenvif mod_mime mod_dav mod_status mod_autoindex mod_asis mod_info mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_imap mod_actions mod_speling mod_userdir mod_alias mod_rewrite mod_proxy proxy_ftp proxy_http proxy_connect mod_cache mod_suexec mod_disk_cache mod_file_cache mod_mem_cache mod_cgi mod_auth_mysql mod_perl sapi_apache2 mod_python mod_ssl  

Directive Local Value Master Value
engine 1 1
last_modified 0 0
xbithack 0 0


Apache Environment
Variable Value
HTTP_ACCEPT  */*  
HTTP_ACCEPT_LANGUAGE  zh-cn  
HTTP_ACCEPT_ENCODING  gzip, deflate  
HTTP_USER_AGENT  Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; Maxthon; .NET CLR 1.1.4322)  
HTTP_HOST  192.168.222.208  
HTTP_CONNECTION  Keep-Alive  
PATH  /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin  
SERVER_SIGNATURE  <address>Apache/2.0.52 (Red Hat) Server at 192.168.222.208 Port 80</address>  
SERVER_SOFTWARE  Apache/2.0.52 (Red Hat)  
SERVER_NAME  192.168.222.208  
SERVER_ADDR  192.168.222.208  
SERVER_PORT  80  
REMOTE_ADDR  192.168.222.213  
DOCUMENT_ROOT  /var/www/html  
SERVER_ADMIN  root@localhost  
SCRIPT_FILENAME  /var/www/html/test.php  
REMOTE_PORT  4043  
GATEWAY_INTERFACE  CGI/1.1  
SERVER_PROTOCOL  HTTP/1.1  
REQUEST_METHOD  GET  
QUERY_STRING  no value  
REQUEST_URI  /test.php  
SCRIPT_NAME  /test.php  


HTTP Headers Information
HTTP Request Headers
HTTP Request  GET /test.php HTTP/1.1  
Accept  */*  
Accept-Language  zh-cn  
Accept-Encoding  gzip, deflate  
User-Agent  Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; Maxthon; .NET CLR 1.1.4322)  
Host  192.168.222.208  
Connection  Keep-Alive  
HTTP Response Headers
X-Powered-By  PHP/4.3.9  
Connection  close  
Transfer-Encoding  chunked  
Content-Type  text/html; charset=UTF-8  


bcmath
BCMath support  enabled  


bz2
BZip2 Support  Enabled  
BZip2 Version  1.0.2, 30-Dec-2001  


calendar
Calendar support  enabled  


ctype
ctype functions  enabled  


curl
CURL support  enabled  
CURL Information  libcurl/7.12.1 OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6  


dba
DBA support  enabled  
Supported handlers  cdb cdb_make db4 inifile flatfile  


dbx
dbx support  enabled  
dbx version  1.0.0  
supported databases  MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci Sybase-CT  

Directive Local Value Master Value
dbx.colnames_case lowercase lowercase


dio
dio support  enabled  


exif
EXIF Support  enabled  
EXIF Version  1.4 $Id: exif.c,v 1.118.2.27 2003/12/17 09:08:37 helly Exp $  
Supported EXIF Version  0220  
Supported filetypes  JPEG,TIFF  


ftp
FTP support  enabled  


gettext
GetText Support  enabled  


gmp
gmp support  enabled  


iconv
iconv support  enabled  
iconv implementation  glibc  
iconv library version  2.3.4  

Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1


ldap
LDAP Support  enabled  
RCS Version  $Id: ldap.c,v 1.130.2.10 2004/06/01 21:05:33 iliaa Exp $  
Total Links  0/unlimited  
API Version  3001  
Vendor Name  OpenLDAP  
Vendor Version  20213  


mime_magic
mime_magic support enabled

Directive Local Value Master Value
mime_magic.magicfile /usr/share/file/magic.mime /usr/share/file/magic.mime


mysql
MySQL Support enabled
Active Persistent Links  0  
Active Links  0  
Client API version  4.1.7  
MYSQL_MODULE_TYPE  external  
MYSQL_SOCKET  /var/lib/mysql/mysql.sock  
MYSQL_INCLUDE  -I/usr/include/mysql  
MYSQL_LIBS  -L/usr/lib/mysql -lmysqlclient  

Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off


openssl
OpenSSL support  enabled  
OpenSSL Version  OpenSSL 0.9.7a Feb 19 2003  


overload
User-Space Object Overloading Support  enabled  


pcre
PCRE (Perl Compatible Regular Expressions) Support  enabled  
PCRE Library Version  4.5 01-December-2003  


posix
Revision  $Revision: 1.51.2.2 $  


pspell
PSpell Support  enabled  


session
Session Support  enabled  
Registered save handlers  files user  

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off


shmop
shmop support  enabled  


sockets
Sockets Support  enabled  


standard
Regex Library  Bundled library enabled  
Dynamic Library Support  enabled  
Path to sendmail  /usr/sbin/sendmail -t -i  

Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,input=src,form=fakeentry a=href,area=href,frame=src,input=src,form=fakeentry
user_agent no value no value


tokenizer
Tokenizer Support  enabled  


wddx
WDDX Support enabled
WDDX Session Serializer  enabled  


xml
XML Support  active  
XML Namespace Support  active  
EXPAT Version  expat_1.95.7  


yp
YP Support  enabled  


zlib
ZLib Support  enabled  
Compiled Version  1.2.1.2  
Linked Version  1.2.1.2  

Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value


Additional Modules
Module Name
sysvsem
sysvshm


Environment
Variable Value
LANG  C  
TERM  xterm  
PATH  /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin  
PWD  /  
SHLVL  1  
_  /sbin/initlog  


PHP Variables
Variable Value
_SERVER["HTTP_ACCEPT"] */*
_SERVER["HTTP_ACCEPT_LANGUAGE"] zh-cn
_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate
_SERVER["HTTP_USER_AGENT"] Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MyIE2; Maxthon; .NET CLR 1.1.4322)
_SERVER["HTTP_HOST"] 192.168.222.208
_SERVER["HTTP_CONNECTION"] Keep-Alive
_SERVER["PATH"] /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
_SERVER["SERVER_SIGNATURE"] <address>Apache/2.0.52 (Red Hat) Server at 192.168.222.208 Port 80</address>  
_SERVER["SERVER_SOFTWARE"] Apache/2.0.52 (Red Hat)
_SERVER["SERVER_NAME"] 192.168.222.208
_SERVER["SERVER_ADDR"] 192.168.222.208
_SERVER["SERVER_PORT"] 80
_SERVER["REMOTE_ADDR"] 192.168.222.213
_SERVER["DOCUMENT_ROOT"] /var/www/html
_SERVER["SERVER_ADMIN"] root@localhost
_SERVER["SCRIPT_FILENAME"] /var/www/html/test.php
_SERVER["REMOTE_PORT"] 4043
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["QUERY_STRING"] no value
_SERVER["REQUEST_URI"] /test.php
_SERVER["SCRIPT_NAME"] /test.php
_SERVER["PHP_SELF"] /test.php
_SERVER["PATH_TRANSLATED"] /var/www/html/test.php
_SERVER["argv"] Array
(
)

_SERVER["argc"] 0
_ENV["LANG"] C
_ENV["TERM"] xterm
_ENV["PATH"] /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
_ENV["PWD"] /
_ENV["SHLVL"] 1
_ENV["_"] /sbin/initlog


PHP License
This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact [email protected].
回复

使用道具 举报

 楼主| 发表于 2005-12-10 07:26:58 | 显示全部楼层
现在的问题是zend,安装了同样是乱码,就跟没装一样
回复

使用道具 举报

 楼主| 发表于 2005-12-10 10:36:46 | 显示全部楼层
急啊,一个通宵没睡觉了啊
回复

使用道具 举报

 楼主| 发表于 2005-12-18 00:41:20 | 显示全部楼层
我的问题和这位大哥一样,呵呵,终于找到答案了
http://bbs.chinaunix.net/viewthread....&extra=&page=1
回复

使用道具 举报

 楼主| 发表于 2005-12-18 00:41:38 | 显示全部楼层
呵呵,这两天没去照相,就在家鼓捣服务器来了,凑合先把这篇笔记放到这个板块

周末在家坐了两天,历尽千辛万苦终于把这些东西配好了,再回首,荆棘密布啊!以下是我的安装笔记,
详细的步骤就不写了,网上到处都是教程,我只把遇到的一些困难及解决办法写出来,加深一些印象,
也让和我遇到相同困难的朋友们少走些弯路。


1.安装前先看一下服务器上有没有编译软件,没有的话先装一个gcc,我装的是gcc4.0的rpm包。

2.rpm包可以到http://www.findrpm.com上找,装gc...??方法参考
网上教程。(装包:rpm ivh 包名、删包 rpm -e 包名、查询 rpm -qa|grep 包名、详细信息 rpm -q 包名 i、
文件列表 rpm -q 包名 l)。

3.apache,mysql,php这三个就不要用rpm包了,因为你需要根据自己的情况作具体配置。

4.先装MySQL,这个东西最好不要自己编译,我开始自己编译了很多次都没成功,估计是gcc的版本太高所致,官方
网站上推荐用gcc2.95 2.96 3.2什么的。直接下载二进制包要省事的多,二进制包里面有一个安装说明文件,按照那个
一步一步来就ok了,一般都是装在/usr/local/mysql下。解包 tar zxvf 包名

5.mysql装完以后,可以ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql 做一个连接,以后在任何路径下都可以执行mysql了。

6.mysql装好以后别忘了修改root密码,把user表就留一个root@localhost就行了,其他都删掉,以后需要再慢慢加,一定要给php
连接数据库建一个用户,只分配必要的权限。记得修改mysql授权表后要 flush privileges 刷新权限。
修改密码#mysqladmin -u root -p oldpassword newpasswd
分配权限mysql>GRANT 权限 ON 库名.表名 TO 用户名@主机名 IDENTIFIED BY "密码" [WITH GRANT OPTION]
权限有这些:
ALTER 修改表和索引 / CREATE 创建数据库和表 / DELETE 删除表中已有的记录 / DROP 抛弃(删除)数据库和表
INDEX 创建或抛弃索引 / INSERT 向表中插入新行 / REFERENCE 未用 / SELECT 检索表中的记录 / UPDATE 修改现存表记录
FILE 读或写服务器上的文件 / PROCESS 查看服务器中执行的线程信息或杀死线程
RELOAD 重载授权表或清空日志、主机缓存或表缓存。 / SHUTDOWN 关闭服务器 / ALL 所有;ALL PRIVILEGES同义词
USAGE 特殊的“无权限”权限

7.如果你装的是php4.X,那么要改一下mysql密码的加密算法,用 update user set password=old_password('password') where user='root';
改成老的算法,不然php是连接不上数据库的。如果是php5就不用改了。

8.然后装GD库,这个网上也有不少教程,装GD库之前要装很多东西,有gd-devel,xpm,ZLIB,JPEGSRC,LIBPNG啥的,都有现成
的rpm包,需要什么就装什么,最后再装GD2,我是下载原文件编译的,在这里下http://www.boutell.com/gd/
#tar zxvf gd-2.0.28.tar.gz
#cd gd-2.0.28
#./configure --with-png=/usr/local --with-jpeg=/usr/local --with-freetype=/usr
#make
#make install
编译过程很顺利,直接装rpm估计也可以。

9.然后装apache2,这个强烈推荐自己编译,我开始装了rpm的,很顺利,可后来装php的时候发现不能动态加载模块,造成php不能加载mysql,
万般无奈只好返工。顺便说一句apache从2以后改名叫httpd了,我装的是httpd-2.0.55.tar.gz
#tar zxvf httpd-2.0.50.tar.gz
#cd httpd-2.0.50
#./configure --prefix=/usr/local/apache2 --enable-module=so
#make
#make install
--enable-module=so就是动态加载模块用的,编译基本顺利,如果发现缺少什么软件就从rpm包里面找。
./configure --help可以查看配置参数列表。

10.在每次编译之前,最好先运行 make clean 或者 make distclean 来清除先前的编译环境。

11.apache装好后启动一下试试 /usr/local/httpd/bin/apachectl start,不报错就ok了。可以在浏览器上输入网址,应该可以看到apache的默认页。

12.最关键的就是装php了,我的配置命令:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-gd=/usr/local --enable-trace-vars --with-zlib-dir=/usr/local --with-mysql=/usr/local/mysql --with-freetype-dir=/usr/lib/ --enable-gd-native-ttf
在configure时的提示信息:
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... /usr/lib/libxml2.so.2.6.19
configure: error: xml2-config not found. Please check your libxml2 installation.
可是libxml2的rpm包我已经装了,经过反复查找问题,发现libxml2-devel没有装,下载一个rpm包装上ok!还是那句话:缺什么就装什么。
装完php后,重启apache,出现了一个难题,显示:
Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/ modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
上网查找n小时,终于找到答案,原来新版的Linux有一个SELinux保护模式,像个防火墙,是用来提高安全性的,可以让工作进程在一定范围内受限,
如果开启这个模式很多程序运行就会受限,具体情况我还没有深入了解,不过总算找到解决办法了:
执行 chcon libphp5.so -t shlib_t 问题解决,不过chcon的具体作用我还不太了解。
可以用 system-config-securitylevel 暂时关掉SELinux模式,不然apache很可能不能正常运行,等我把SELinux的详细配置规则弄明白再开启吧。
php装好以后需要修改一下/usr/local/httpd/conf/httpd.conf配置文件,增加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
默认的启动页增加一个index.php ,apache详细的配置优化过程请参考相关文档。
重启apache,然后就可以写一个测试页测试一下了 ,如果熟悉的紫色表格出现就基本ok了,仔细看一下该装的模块是否都加载了,GD,mysql什么的,
然后写一个连接数据库的代码:
@$db = mysql_connect("localhost","user","password");
if(!$db)
{
echo 'connect fail:'.mysql_error();
}
else
{
echo 'connect ok!';
}
?>
如果显示connect ok!就ok,否则根据错误信息解决。

13.然后要装的是ZendOptimizer,这个东西可以提高30%-40%的程序执行速度,不过我装这个主要是因为phpwind是用zend-encode加了密的,要用这个解密,
不然页面都是乱码,类似这样:
Zend 2000112002110894895x?? 峐mO???R?$?Z夸舃!?_6&獇?um............
ZendOptimizer安装是傻瓜型的,非常简单:
#tar zxvf ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz
#cd ZendOptimizer-2.5.10a-linux-glibc21-i386
#./install.sh
根据提示一路ok,重启apache后,如果没问题,phpinfo里应该显示:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.0.5, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.8, Copyright (c) 2003-2005, by Zend Technologies
with Zend Optimizer v2.5.10, Copyright (c) 1998-2005, by Zend Technologies
可是问题偏偏就来了,我的只显示:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.0.5, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.8, Copyright (c) 2003-2005。
phpwind依然是乱码,说明Zend Optimizer没有加载成功!又经过n小时查找终于发现apache的错误日志里有:
Failed loading /usr/local/Zend/lib/Optimizer-2.5.10/php-5.0.x/ZendOptimizer.so: /usr/local/Zend/lib/Optimizer-2.5.10/php-5.0.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied
原来还是SELinux的问题!
执行 chcon ZendOptimizer.so -t shlib_t 问题解决。

基本上就是这些了,写着个又花了1个半钟头,哎,这两天比上班还累,不过收获也算不小,歇着去了。
回复

使用道具 举报

 楼主| 发表于 2005-12-18 00:42:16 | 显示全部楼层
Redhat Enterprise Linux中如何关闭SELinux?

红帽企业 Linux 4 包括了一个 SELinux 的实现。SELinux 代表了用户,程序以及进程间相互交流的主要变化。在这个发行版本中,SELinux 被默认安装并被开启使用。

在安装的过程中,您可以选择禁用 SELinux,或是设置它只记录警告信息,或是使用它的只在以下守护进程中有效的目标化策略:dhcpd、httpd、mysqld、named、nscd、ntpd、portmap、postgres、snmpd、squid、syslogd

目标化策略在默认的情况下被启用。

红帽企业 Linux 4 使用在 ext2/ext3 文件系统上的扩展属性来支持 SELinux。这就意味着,当一个文件被写到默认挂载的 ext2/ext3 文件系统中时,一个扩展的属性也会被写入。

当系统有 红帽企业 Linux 4 和 红帽企业 Linux 2.1 双重启动的时候,这就可能会产生一些问题。红帽企业 Linux
2.1 内核不支持文件的扩展属性,当它遇到文件的扩展属性时,系统可能会崩溃。

有Linux桌面用户在安装了Redhat Enterprise Linux 4.0后,可能会需要关闭SELinux,正确的方法是:
修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
回复

使用道具 举报

 楼主| 发表于 2005-12-18 00:42:39 | 显示全部楼层
SELinux中的Apache和MySQL设定

Fedora Core 3 在安装时默认把SELinux的选项激活了。SELinux比普通的Linux内核提供了更高的安全性,理论上说,在系统因为未知漏洞溢出的时候,普通用户是不可能得到超级用户的权限了。但是,就是因为SELinux安全性的提高,导致我们在使用时,会发生一些我们以前从没遇到的问题。
前两天我在使用Fedora Core 3搭建PHP+MySQL的WebServer时就遇到了一些问题。现在整理一下,如果您也遇到同样的问题,那么,看过这篇文章,就应该可以轻而易举的解决了。
1. Apache - Document root must be a directory 问题。
有可能和这个问题并发的问题还有 403 Forbidden 禁止访问的问题。
现象描述:
不使用系统默认的 /var/www/html作为系统的Document Root,自己新建一个目录后修改 /etc/httpd/conf/httpd.conf 中的配置,然后重起Apache的Daemon,发现Apache无法起动,系统报错:
  Document root must be a directory
但是,我们设置的DocumentRoot 的确是一个目录,而且apache用户具有可读权限。
另一种情况:新建一个虚拟目录或文件后,无法访问,显示 Forbidden, 403 Error,但文件或目录有可读权限。
问题产生的原因:
一开始我想来想去想不出为什么,但是给我感觉是权限的问题,用传统的Linux的思维方式来看,权限绝对没有问题。但是仔细一想,SELinux是不是会有其他安全的设定?
检查 avc message,查看 /var/log/messages文件,发现有类似以下内容的这样一段:
Dec 24 17:54:59 hostname kernel: audit(1098222899.827:0): avc: \
denied { getattr } for pid=19029 exe=/usr/sbin/httpd \
path=/var/www/html/about.html dev=dm-0 ino=373900 \
scontext=root:system_r:httpd_t tcontext=user_ubject_r:user_home_t \
tclass=file
嘿嘿,问题找到了,果然是SELinux的新特性搞的鬼。我把目录或文件设成了user_home_t类型,因此apache的进程没有权限,无法访问。针对Apache的进程所使用的SELinux target policy规定了apache的进程只能访问httpd_sys_content_t类型的目录或文件。
解决办法:
很简单,把目录或文件的策略类型改成 httpd_sys_content_t 就可以了
使用root用户
# chcon -t httpd_sys_content_t 目录名或文件名
然后可以用 ls -laZ 命令查看文件目录的策略类型

2. Mysql - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)
刚搞定Apache,mySQL又出问题了。
问题现象:
本机用mysql命令可以正常登录数据库并正常操作。但是在php写的页面中,不管怎样,连接mySQL数据库时,都会报如下错误:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)
问题原因:
查看mysql.sock文件,存在并且任何人都可读可写。发现avc message (/var/log/messages)中同样有策略错误的记录。
用 ps -efZ|grep mysql 命令检查mysql的进程,发现mySQL使用了unconfined_t 这个未定义策略类型在运行,而mysql.sock以及mysqld文件的策略类型都是var_lib_t。很明显,这应该是个Fedora Core 3 的 BUG,SELinux target policy的BUG,redhat并没有为mySQL制定正确的target policy。
解决办法:
到redhat的bugzilla系统上搜索,果然找到了这个BUG。
 Bug #:  138421 
https://bugzilla.redhat.com/bugzilla....cgi?id=138421
在这个页面找到新的target policy的补丁安装即可
补丁下载页面:
ftp://people.redhat.com/dwalsh/SELinux/FC3
你也可以从本文的附件中下载
只要下载
selinux-policy-targeted-1.17.30-2.23以上的版本就能正常使用mySQL了。
如果你原来的系统安装了 selinux-policy-targeted-source (源代码),那么你也必需下载source的rpm文件,并首先升级这个包,因为两个包有依赖关系。
补丁安装办法:
使用root用户。
先升级新的target-policy-source (如果你之前安装了这个包的话)
# rpm -Uvh selinux-policy-targeted-sources-1.17.30-2.61.noarch.rpm
升级新的target-policy
# rpm -Uvh selinux-policy-targeted-1.17.30-2.61.noarch.rpm
更新mysql相关的target policy
# rpm -q -l mysql-server | restorecon -R -v -f -
# rpm -q -l mysql | restorecon -R -v -f -
重起mysql的服务
# service mysqld restart
试一下吧,一定有效 
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 22:41 , Processed in 0.084638 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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