网上相关的资料挺多的了,自已搭完还是没整太明白...
算了,把那些乱嘛七糟的错误记录一下..备用了..
我的系统是Redhat5..安装所需要的软件:Mysql+Apach+PHP+phpMyAdmin
一、安装mysql
1.首先查看系统是否已经安装过了mysql. rpm -qa | grep mysql 2.采用cmake方式安装(mysql-5.0.21.tar.gz) 如果没有cmake的童鞋,请先下载安装cmake。http://www.cmake.org/ cmake的安装方法:configure & make & make install 3.mysql 的安装方法: 步骤一: cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/data/mysql/etc -DMYSQL_DATADIR=/data/mysql - DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 - DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 步骤二: # make # make install 在make与make install的时候可以看到进度百分比,感觉这一点要比configure方式要好。 步骤三:配置并初始化数据库 1.创建用户和用户组 # groupadd mysql # useradd mysql -g mysql 2.赋予数据存放目录权限 # chown mysql:mysql -R /usr/local/mysql/data 3.创建my.cnf配置文件 # mkdir /usr/local/mysql/log # mkdir /usr/local/mysql/etc # cp support-files/my-medium.cnf /usr/local/mysql/etc/my.cnf 4.初始化数据库 执行前需赋给scripts/mysql_install_db文件执行权限 # chmod 755 scripts/mysql_install_db # scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 5.创建管理MySQL数据库的shell脚本 # mkdir /usr/local/mysql/init.d # cp support-files/mysql.server /usr/local/mysql/init.d/mysql 6.赋予shell脚本可执行权限: # chmod +x /usr/local/mysql/init.d/mysql 7.启动MySQL: # /usr/local/mysql/bin/mysqld_safe & # /usr/local/mysql/init.d/mysql start 8.通过命令行登录管理MySQL服务器(提示输入密码时直接回车): # /usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
二、安装apache (httpd-2.0.59.tar.gz)
1.解压 # tar zxf httpd-2.0.59.tar.gz # cd httpd-2.0.59 2.解决Apache的关联软件安装过程中的报错问题: a.提示configure: error: APR not found. Please read the documentation. 在apr.apache.org网站上可以下载此软件(apr-1.4.5.tar.gz);编译安装 ./configure --prefix=/usr/local/apr make && make install b.提示configure: error: APR-util not found. Please read the documentation 下载apr-util-0.9.19.tar.bz2进行编译安装 ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr make && make install c.提示pcre错误 下载安装pcre ./configure --prefix=/usr/local/pcre make && make install 3.安装APACHE # ./configure --prefix=/usr/local/apache -with-apr=/usr/local/apr -with-apr-util=/usr/local/apr-util -with-pcre=/usr/local/pcre # make # make install 4.配置启动APACHE #启动Apache中的php选项,找到下面两行 # vi /usr/local/apache/conf/httpd.conf #修改默认启动页 DirectoryIndex index.html index.php #指定主目录(/usr/local/apache2/htdocs) DocumentRoot ServerName 127.0.0.1:80 #启动 # /usr/local/apache/bin/apachectl start
三、安装php (php-5.1.6.tar.bz2)
1.安装freetype最新库文件 (redhat5.自带的freetype库比较老,更新一下,否则会不支持字体转换相关的函数) 步骤一:进入软件源码包所在目录/usr/local/src/中,解压软件包freetype-2.3.5.tar.gz到当前目录freetype-2.3.5下,并进入 freetype-2.3.5目录。命令行如下所示。 1.[root@localhost root]# cd /usr/local/src/ //进入软件源码包所在目录 2.[root@localhost src]# tar zxvf freetype-2.3.5.tar.gz //解包解压到freetype-2.3.5目录 3.[root@localhost src]# cd freetype-2.3.5 //进入目录freetype-2.3.5中 步骤二:使用"configure"命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。 1.[root@localhost freetype-2.3.5]# ./ configure --prefix=/usr/local/freetype 选项--prefix=/usr/local/freetype,是在安装时将软件安装到/usr/local/freetype目录下 步骤三:使用"make"命令编译源代码文件并生成安装文件,命令行如下。 1.[root@localhost freetype-2.3.5]# make //对软件源代码文件进行编译 步骤四:使用"make install"命令进行安装,命令行如下: 1.[root@localhost freetype-2.3.5]# make install //开始安装freetype库文件 如果安装成功将会在/usr/local/freetype目录下存在bin、include、lib和share4个目录。 (如果需要重装GD库时,通过configure命令的选项中加上"--with-freetype=/usr/local/freetype/"选项,指定freetype库文件的位 置) 2.安装PHP 步骤一:进入软件源码包所在目录,解压软件包php-5.1.6.tar.bz2到当前目录php-5.1.6下,并进入php-5.1.6目录。命令行如下所示 。 # tar jxf php-5.1.6.tar.bz2 # cd php-5.1.6 步骤二:使用"configure"命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。 # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-freetype-dir=/usr/local/freetype --with-mysqli --with-curl --with-gettext --with-bz2 -enable-shmop --enable-calendar --with-openssl --with-pspell --enable-ftp --with-openssl --with-zlib --enable-exif --with-gmp --enable-sysvmsg --enable-sockets --enable-wddx --with-xsl --with-mcrypt --with-pdo-mysql --with-gd 说明: ? --with-apxs2=/usr/local/apache/bin/apxs \ 这是加入apache中为DSO模块的位置 ? --with-mysql=/usr/local/mysql \ MYSQL库的安装位置 ?--with-freetype-dir=/usr/local/freetype \ freetype库的安装位置 ? --disable-debug \ #关闭php内部调试 ? --enable-safe-mode \ #打开php的安全模式 ? --enable-trans-sid \ ? --with-xml \ #支持xml ? --with-mysql \ #支持mysql ? --enable-short-tags \ #支持PHP的短标记 ? --with-gd \ #支持GD库 ? --with-zlib \ #支持zlib ? --with-jpeg \ ? --with-png \ ? --enable-memory-limit \ ? --disable-posix \ ? --with-config-file-path=/usr/local/lib 总之复制粘贴就可以了,-_- 注意:如果说mysql+apache 都是默认安装,configure配置方法 # ./configure --with-apxs2=/usr/sbin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with- mysql=/usr/share/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit -- disable-posix --with-config-file-path=/usr/local/lib 步骤三:使用"make"命令编译源代码文件并生成安装文件,命令行如下。 # make & make install 步骤四:配置php.ini文件 # cp php.ini-dist /usr/local/lib/php.ini 复制php的配置文件 # cd /usr/local/lib/ # vi php.ini 修改配置文件 register_globals = On 一般在414行 max_execution_time = 30 ; // 改为600 (增加处理脚本的时间限制) max_input_time = 600 ; //最大输出时间600秒 memory_limit = 8M ; //改为40M (这样才能发10M的附件) register_global =On post_max_size = 2M ; //php可接受的 post 方法大小 2M file_uploads = On ; //允许上载文件 upload_max_filesize = 2M ; //最大上载文件2M session.auto_start = 1 ; //session自动启动 步骤五:编辑PHP时错误处理 如果编译PHP:make出错 configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore. 解法: 如果不知道 header file 在哪,用 「find / -name mysql.h」命令找出其位置; 如果是自己也有手動安裝 MySQL 套件的話,直接指定該位置。 在 ./configure 下参数指定 header file 的位置(即mysql安装目录),如下: ./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=/usr/local/mysql
四、整合APACHE和PHP
# vi /usr/local/apache/conf/httpd.conf 修改apache的配置文件 添加: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps //注意将这两行添加在其它AddType后面 确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后 LoadModule php5_module modules/libphp5.so 由于我装的版本较高所以是php5,如果是LoadModule php4_module modules/libphp4.so的话也可以 # /usr/local/apache/bin/apachectl start //如果这地方报如下错 httpd: Syntax error on line 53 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 原因:是Linux有一个SELinux保护模式引起的。 解决办法: 1.关闭SELINUX的方法: vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启 这个方法可能会对服务器带来风险。 2.不关闭SELINUX的方法: # setenforce 0 # chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so # service httpd restart # setenforce 1 server httpd start 报错:启动 httpd:[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping 解决办法:查看# vi /usr/local/apache/conf/httpd.conf 是否有二条相同指令LoadModule php4_module modules/libphp4.so 删除一条,即可
五、安装phpMyAdmin
# tar zxf phpMyAdmin-2.6.0.tar.gz # mv phpMyAdmin-2.6.0 /usr/local/apache/htdocs/ # vi config.inc.php 修改这个文件 $cfg['Servers'][$i]['host'] = 'localhost'; //改成你数据库服务器的主机名或IP地址; $cfg['Servers'][$i]['user'] = 'root'; // MySQL 数据库的用户名; $cfg['Servers'][$i]['password'] = ''; // MySQL 数据库的密码; 主要修改这几项,保存退出 测试: http://IP/phpMyAdmin-2.6.0 这里可以修改phpMyAdmin-2.6.0这个目录的名字,这样访问比较方便