Centos6.5 下安装配置Apache+PHP+Mysql环境

1.准备工作

# yum -y update && yum -y install vim make cmake gcc gcc-c++ bison bison-devel ncurses ncurses-devel autoconf automake wget unzip lrzsz zlib zlib-devel libgcrypt* libtool*

  

2.安装apache2.2

# wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.31.tar.gz
# tar zxf httpd-2.2.31.tar.gz
# cd httpd-2.2.31
# ./configure --prefix=/usr/local/apache2.2 \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so

# make && make install
# vim /usr/local/apache2.2/bin/apachectl
  在第二行添加  # chkconfig: 2345 64 36

# vim /usr/local/apache2.2/conf/httpd.conf
  把 ServerName www.example.com:80 前面的#去掉

# cp /usr/local/apache2.2/bin/apachectl  /etc/init.d/httpd
# service httpd start
# chkconfig httpd on

  

3.php依赖软件安装(省略了tar zxf , cd 命令)

3.1 安装 libxml2

# wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz
# ./configure --prefix=/usr/local/libxml2 && make && make install 

  

3.2 安装 libjpeg

# wget http://www.ijg.org/files/jpegsrc.v8.tar.gz
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static && make && make install

 

 3.3 安装 libpng

# wget http://ncu.dl.sourceforge.net/project/libpng/libpng14/older-releases/1.4.3/libpng-1.4.3.tar.gz
# ./configure&& make && make install

 

 3.4 安装 freetype

# wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz
# ./configure --prefix=/usr/local/freetype && make && make install

  

3.5 安装 libgd

# wget https://github.com/libgd/libgd/archive/GD_2_0_33.tar.gz
# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-png=/usr/local --with-zlib --with-freetype=/usr/local/freetype && make && make install

  

4.安装php

# wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
# ./configure --prefix=/usr/local/php5328 \
--with-config-file-path=/usr/local/php5328/lib/php.ini \
--with-apxs2=/usr/local/apache2.2/bin/apxs \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-freetype-dir=/usr/local/freetype \
--with-gd=/usr/local/gd \
--with-zlib --with-libxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared

# make && make install
# cp php.ini-development /usr/local/php5328/lib/php.ini
# vim /usr/local/apache2.2/conf/httpd.conf
  1.在最后一个LoadModule下添加 AddType application/x-httpd-php .php .phtml
  
  2.找到
  <IfModule dir_module>
        DirectoryIndex index.html
  </IfModule>
  在index.html 后面添加 index.php

# service httpd restart

  

5.通过编译源码的方式安装mysql

# groupadd mysql
# useradd -r -g mysql mysql
# mkdir -p /usr/local/mysql /usr/local/mysql/data /usr/local/mysql/logs /usr/local/mysql/tmp
# rm -f /etc/my.cnf
# vim /etc/profile
  添加2行
  PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
  export PATH

# source /etc/profile
# wget http://downloads.mysql.com/archives/get/file/mysql-5.6.16.tar.gz
# tar zxf mysql-5.6.16.tar.gz
# cd mysql-5.6.16
# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DSYSCONFDIR=/etc

# make && make install 
# chown -Rf mysql:mysql /usr/local/mysql
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# rm -f my.cnf

编辑/etc/my.cnf

# vim /etc/my.cnf

[client]
port = 3306
socket = /usr/local/mysql/mysql.sock

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
skip-external-locking
skip-name-resolve
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /usr/local/mysql/tmp
socket = /usr/local/mysql/mysql.sock
log-error = /usr/local/mysql/logs/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
open_files_limit = 10240
back_log = 600
max_connections=500
max_connect_errors = 6000
wait_timeout=605800
#open_tables = 600
#table_cache = 650
#opened_tables = 630
max_allowed_packet = 32M
sort_buffer_size = 4M
join_buffer_size = 4M
thread_cache_size = 300
query_cache_type = 1
query_cache_size = 256M
query_cache_limit = 2M
query_cache_min_res_unit = 16k
tmp_table_size = 256M
max_heap_table_size = 256M
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
lower_case_table_names=1
default-storage-engine = INNODB
innodb_buffer_pool_size = 2G
innodb_log_buffer_size = 32M
innodb_log_file_size = 128M
innodb_flush_method = O_DIRECT
#####################
thread_concurrency = 32
long_query_time= 2
slow-query-log = on
slow-query-log-file = /usr/local/mysql/logs/mysql-slow.log
[mysqldump]
quick
max_allowed_packet = 32M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

配置mysql

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# service mysql start 
# chkconfig mysql on
# /usr/local/mysql/bin/mysql_secure_installation
将root用户密码修改为root

# mysql -uroot -proot
  >use mysql;
  >GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
  >flush privileges;
  >exit;

# ln -s  /usr/local/mysql/mysql.sock  /tmp/mysql.sock