网上关于LAMP的文章很多,但是一部分因为系统环境或软件升级原因不能使用或者有一些小小的问题,本文由网上资料整理得出,在centos6.4及6.2系统上经过验证,如有问题可以留言大家相互讨论,本人新手,希望能够一起学习进步。
需要软件列表
apr-1.5.0.tar.bz2
apr-util-1.5.3.tar.bz2
zlib-1.2.8.tar.gz
pcre-8.34.tar.gz
httpd-2.4.9.tar.gz
php-5.5.6.tar.gz
mysql-5.5.25.tar.gz
系统编译环境环境默认为已健全,若编译过程中出现依赖库缺失,请按照报错提示进行环境搭建补全。默认下载后的源码包存放位置为/opt/soft
#安装基础依赖软件包apr apr-util zlib pcre
一、安装系统环境
#安装apr
mkdir /opt/soft
cd /opt/soft
wget http://archive.apache.org/dist/apr/apr-1.5.0.tar.bz2
tar -xvf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
#安装apr-util
cd /opt/soft
wget ftp://ftp.mirrorservice.org/sites/ftp.apache.org/apr/apr-util-1.5.3.tar.bz2
tar -xvf apr-util-1.5.3.tar.bz2
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
#安装zlib
cd /opt/soft
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -xvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
#安装sqlite
#安装pcre
cd /opt/soft
wget http://ftp.exim.llorien.org/pcre/pcre-8.34.tar.gz
tar -xvf pcre-8.34.tar.gz
cd pcre-8.34
./configure --prefix=/usr/local/pcre
make && make install
#安装pcre是异常报错configure: error: You need a C++ compiler for C++ support
#解决办法:
#yum install -y gcc gcc-c++
二、安装Apache
cd /opt/soft
wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.9.tar.gz
tar -xvf httpd-2.4.9.tar.gz
cd httpd-2.4.9
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-module=so --enable-dav --enable-so --enable-proxy --enable-proxy-http
make && make install
cp /etc/init.d/httpd /etc/init.d/httpd.bak-20140127
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
cd /usr/local/apache2/conf
cp httpd.conf httpd.conf.bak
useradd -M apache
#如果异常提示useradd: user ‘apache‘ already exists
#则执行usermod -s /bin/bash apache
#测试 su - apache
vi /usr/local/apache2/conf/httpd.conf
#找到 User 和 Group 并修改成 User apache 和 Group apache 保存并退出
三、安装php
cd /home/soft/
yum install libxml2-devel libjpeg libjpeg-devel libpng libpng-devel
wget http://cn2.php.net/distributions/php-5.5.6.tar.gz
tar -xvf php-5.5.6.tar.gz
cd php-5.5.6
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/share/doc/libjpeg-turbo-1.2.1 --with-png-dir=/usr/share/doc/libpng-1.2.49 --with-mysql --with-zlib --with-gd --with-pear --with-config-file-path=/etc/
make && make install
cp php.ini-development /etc/php.ini
vi /usr/local/apache2/conf/httpd.conf
#确保下面代码,是去掉注释的,没有的补充添加上
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml .php3 .inc
#保存并退出
四、安装mysql
yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel
安装cmake
由于mysql5.5开始,不再使用configure安装,而是使用cmake。
cd /opt/soft
wget http://wwwNaNake.org/files/v2.8/cmake-2.8.6.tar.gz
tar -zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6/
./configure
make && make install
使用cmake安装mysql
//进入/opt/soft目录下
wget http://downloads.skysql.com/archives/mysql-5.5/mysql-5.5.25.tar.gz
tar -zxvf mysql-5.5.25.tar.gz
cd mysql-5.5.25
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/user/local/mysql/data \
-DSYSCONFDIR=/etc \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DWITH_DEBUG=0 \
-DENABLED_LOCAL_INFILE=1
执行完成后继续执行 make && make install
配置mysql
#在mysql/support-files目录中有五个配置信息文件(请根据系统的实际情况以及实际需求选择下列配置文件进行操作,若选择不当可能导致mysql无法启动):
#my-small.cnf (内存<=64M)
#my-medium.cnf (内存 128M)
#my-large.cnf (内存 512M)
#my-huge.cnf (内存 1G-2G)
#my-innodb-heavy-4G.cnf (内存 4GB)
cd /usr/local/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf
添加mysql用户和用户组,生成新的mysql授权表
//添加mysql运行的用户和用户组
groupadd mysql
useradd -g mysql mysql
cd /usr/local/mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
//生成新的mysql授权表
//进入mysql安装目录下的脚本目录
cd /usr/local/mysql/scripts
//利用mysql_install_db脚本生成新的mysql授权表
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
//mysql server在系统中的服务项设置
//复制服务文件并修改
cd /usr/local/mysql/support-files
cp mysql.server mysqld
//修改mysqld
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
mv mysqld /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
//设置软连接使mysql, mysqldump, mysqladmin这三个bin命令能在shell中直接运行
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqldump /usr/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
rm -rf /etc/mysql/my.cnf 因为已经把此文件复制到/etc/my.cnf 如果不删除的话,mysql启动不起来。
启动mysql,设置mysql用户名和密码
/etc/init.d/mysqld start
//设置root密码
mysqladmin -u root password "admin"
/
//然后进入mysql
cd /usr/local/mysql/bin
mysql -u root -p
提示输入密码,若成功进入则表示安装成功。
/mysql数据库中文乱码解决方法
vi /etc/my.cnf
//然后在[mysqld]配置选项下添加
character-set-server=utf8
注 mysql采用utf8编码格式时会出现:MySQL ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 特别需要注意的是,如果采用这个格式,那么导入数据时需要保证表内没有超过767bytes。
Centos 6.4搭建LAMP,布布扣,bubuko.com