1. 准备工作
(1) 关闭SELinux,重启系统
#vi /etc/selinux/config
把config文件中SELINUX=enforcing 改为:SELINUX=disabled
保存重起系统。(安装MySQL后再改回来)
(2)添加mysql用户
# groupadd mysql
# useradd -g mysql -d /usr/local/mysql/data -M mysql
(3)解压
#tar -xvzf mysql-*.*.*.tar.gz
#cd mysql-*.*.*
*.*.* 是mysql的版本号
(4)配制
#./configure --prefix=/usr/local/mysql /
--localstatedir=/usr/local/mysql/data /
--with-charset=gbk
(5)编译
# make
(6) 安装
# make install
(7) 拷贝配置文件
# cp ./support-files/my-medium.cnf /etc/my.cnf
(7) 改变所有者
# chown -R mysql.mysql /usr/local/mysql/data
# chmod -R 755 /usr/local/mysql/data
或者改为root所有:
# shell> cd /usr/local/mysql
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql var
# chgrp -R mysql .
# bin/mysqld_safe --user=mysql &
(8) 修改密码
#/usr/local/mysql/bin/mysqladmin -u root password 'root'
(9)启动和停止
#usr/local/mysql/bin/mysqld_safe --user=mysql &
#usr/local/mysql/bin/mysqladmin -u root -p shutdown
(10)加入到环境变量(为了在任何目录下键入 mysql 都能进入数据库)
#ln -s /usr/local/mysql/bin/mysql /usr/local/bin
#ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin
#ln -s /usr/local/mysql/bin/mysqld_safe /usr/local/bin
(11)设置为自启动
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
# chkconfig --level 345 mysqld on
#cp usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
(12)至此,mysql已经安装并做了基本的配置。关也mysql的使用和更多的配置,可以参考其他文档。
二. Apache的安装和配置
(1)安装apr和apr-util
# cd ./apr
# ./configure --prefix=/usr/local/apr
# make
# make install
# cd ../apr-util
# ./configure --with-apr=/usr/local/apr
# make
# make install
(2) 解压(其他版本类似)
# tar -xzvf httpd-2.2.6.tar.gz
# cd httpd-2.2.6
(3) 配置
如果要打开ssl和ldap就要现安装一些支持的软件库。
ssl-安装openssl和openssl-dev
ldap-安装openldap2和openldap2-dev
#./configure --prefix=/usr/local/apache2 /
--with-apr=/usr/local/apr/bin/apr-1-config /
--with-apr-util=/usr/local/apr/bin/apu-1-config /
--enable-modules=most /
--enable-mods-shared=most /
--enable-rewrite=shared /
--enable-speling=shared /
--enable-proxy /
--enable-proxy-http /
--enable-proxy-balancer /
--enable-ssl /
--enable-dav /
--enable-so /
--enable-maintainer-mode
(4)编译 安装
#make
# make install
(5) 添加到环境变量中
# ln -s /usr/local/apache2/bin/apachectl /usr/local/bin
# ln -s /usr/local/apache2/bin/htpasswd /usr/local/bin
# ln -s /usr/local/apache2/bin/httpd /usr/local/bin
# ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf
或者是在/etc/profile 里加上export PATH=$PATH:/usr/local/apache2/bin
(6) httpd.conf 基本配置的注意事项
1. 配置 htdocs根目录,并增加用户apache,把 DocumentRoot 指定的目录用户设置为apache
# useradd apache
# mkdir /www
# mkdir /www/htdocs
# chown -R apache.apache /www/htdocs
# vi /usr/local/apache2/conf/httpd.conf
修改 DocumentRoot 为 DocumentRoot "/www/htdocs"
修改 User 为 User apache
修改 Group 为 Group apache
1. 如果修改目录以后报403 , 对httpd.conf做以下修改
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
</Directory>
为
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
# Deny from all
Satisfy all
</Directory>
三. PHP的安装和配置
(1) 安装libxml
#./configure --prefix=/usr/local/libxml2
#make
#make install
(2) 安装Curl
# mkdir -p /usr/local/curl
# ./configure --prefix=/usr/local/curl
# make
# make install
(3) 安装 freetype
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make
# make install
(4) 安装jpegsrcv6b
# mkdir -p /usr/local/jpeg6
# mkdir -p /usr/local/jpeg6/bin
# mkdir -p /usr/local/jpeg6/lib
# mkdir -p /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1
# ./configure --prefix=/usr/local/jpeg6 /
--enable-shared /
--enable-static
# make
# make install
# make install-lib
(5) 安装libpng
# cd libpng-1.2.24
# cp scripts/makefile.std makefile
# make
# make install
(6) 安装zlib
#./configure --prefix=/usr/local/zlib
# make
# make install
(7) 安装GD
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ /
--with-png=/usr/local/lib/ /
--with-zlib=/usr/local/zlib/ /
--with-freetype=/usr/local/freetype/
# make
# make install
(8) 安装 libxslt
#./configure --prefix=/usr/local/libxslt
# make
# make install
(9) 安装PHP
# tar tar -xvzf php-5.2.6.tar.gz
# cd php-5.2.6
# ./configure --prefix=/usr/local/php /
--with-config-file-path=/usr/local/php/lib /
--with-config-file-scan-dir=/usr/local/php/lib/php /
--with-mysql=/usr/local/mysql /
--with-apxs2=/usr/local/apache2/bin/apxs /
--with-libxml-dir=/usr/local/libxml2 /
--with-freetype-dir=/usr/local/freetype /
--with-zlib-dir=/usr/local/zlib /
--with-curl=/usr/local/curl /
--with-png-dir=/usr/local/lib /
--with-jpeg-dir=/usr/local/jpeg6 /
--with-gd=/usr/local/gd2 /
--enable-bcmath /
--with-xsl=/usr/local/libxslt /
--with-mysql-sock=/tmp
# make
# make install
(10) 配置Apache
修改 httpd.conf
1. 找到 LoadModule php5_module modules/libphp5.so 前面的#号去掉
2. #AddType application/x-gzip .gz .tgz 下加二行 :
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
3. 还有找到DirectoryIndex index.html 加上 index.php 让它把index.php做为默认页
(11)测试PHP
# vi /www/htdocs/index.php(其中/www/htdocs 为网页主目录)
添加:
<?
phpinfo();
?>
重新启动apache服务器,打开浏览器,在地址栏中输入:http://localhost/index.php
如果有信息显示,则说明php已经安装好。
参考:
《编译安装APACHE+PHP+MYSQL》
《linux上apache2.2.6+php5.2.5+mysql5.0.22+Subversion 1.4.5安装》
《linux下编译安装mysql5.0》