欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

lamp的搭建 博客分类: linux apache mysql  

程序员文章站 2024-03-18 15:29:52
...

最近在vagrant下搭建lamp系统,问题不少。。。

版本:CentOS6.6+apache2.2+mysql5.6+php5.4+JDK1.7

 

yum install -y wget gcc  gcc-c++   make  cmake bison  bison-devel  libaio-devel  perl file patch mlocate flex diffutils readline-devel libcap-devel glibc-devel glib2-devel autoconf automake libgcrypt* libtool* openssl openssl-devel ncurses ncurses-devel libxml2  libxml2-* libmcrypt* curl curl-devel zlib zlib-devel bzip2*  gd gd-devel libjpeg libjpeg-devel  libpng  libpng-devel  mcrypt freetype* gettext gettext-devel pcre pcre-devel

 

 

1、安装JDK

 卸载再带的JDK:rpm -qa|grep jdk

如果出现包名: rpm -e filename 

tar zxvf  jdk-7u71-linux-x64.tar.gz

mv jdk1.7.0_71  /usr/local/java

vim  /etc/profile

在最后面加上:

export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

退出   source /etc/profile

检测   java  -version

 

2、mysql5.6的安装

单装mysql5.6:(yum install gcc gcc-c++ kernel-devel ncurses-devel bison cmake)

groupadd mysql

useradd -g mysql -s  /sbin/nologin mysql

mkdir -p /usr/local/mysql        //创建mysql安装目录;
mkdir -p /usr/local/mysql/data   //创建mysql数据存放目录;

cd /usr/local/src

tar zxvf mysql-5.6.13.tar.gz

tar zxvf cmake-2.8.9.tar.gz

cd cmake-2.8.9

./bootstrap        make&&make install

cd ..

cd  mysql-5.6.13

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldata -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DWITH_DEBUG=0

make&&make install

cp support-files/my-default.cnf  /etc/my.cnf      (mysql5.5与mysql5.6的默认配置文件不同 mysql5.5是my-medium.cnf)

cp support-files/mysql.server /etc/init.d/mysqld

chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

vim /etc/my.cnf

在[mysqld]下

user=mysql
datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

//保存

cd /usr/local/mysql/

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

添加mysql到系统服务:

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

优化mysql命令调用:
vim /etc/profile
添加:
PATH=/usr/local/mysql/bin:$PATH

export PATH
:wq                                   //保存
source /etc/profile

启动mysql服务,并设置管理员账号密码
service mysqld start
mysqladmin -u root password '111111'

 

3、安装apache

首先安装apr与apr-util

<安装apr>

wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz

tar -zxvf apr-1.5.2.tar.gz -C /usr/local/src/

cd /usr/local/src/apr-1.5.2/

./configure --prefix=/usr/local/apr

make&&make install

<安装apr-util>

wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config

make&&make install

理不清依赖关系的,建议yum install -y httpdlamp的搭建
            
    
    博客分类: linux apache mysql  

cd httpd-2.2.29

./configure --prefix=/usr/local/httpd  --sysconfdir=/etc/httpd --enable-rewrite --enable-ssl --enable-cgi --enable-expires=shared --enable-mods-shared --enable-mudules=most --enable-mods-shared=all --enable-deflate --enable-speling --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-so --enable-rewrite=shared --enable-static-support --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre

 

make&&make install

服务优化:

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

vim /etc/init.d/httpd

# 在第二行下添加以下两行内容
 #chkconfig:345 85 15
 #description:Apache httpd
# wq!                               //保存文件并退出;
# chkconfig --add httpd              //添加到系统服务;
# chkconfig --level 235 httpd on    //设置系统级别为:235 为开机自启动

配置优化:

vim /etc/httpd/httpd.conf
找到:ServerName 80
ServerName 80    //取消掉注释符号,改为"ServerName localhost:80";

 

service httpd start

检测:netstat -lnp|grep 80

 

4、安装PHP

tar jxvf php-5.4.35.tar.bz2

cd php-5.4.35

./configure  --prefix=/usr/local/php --with-mysql=mysqlnd  --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-zlib --with-libxml-dir --enable-sockets --with-apxs2=/usr/local/httpd/bin/apxs  --with-mcrypt  --with-config-file-path=/etc  --with-config-file-scan-dir=/etc/php.d  --with-bz2  --with-gd  --with-mhash  --enable-gd-native-ttf  --with-iconv  --with-png-dir  --with-jpeg-dir  --with-gettext  --with-curl  --with-pear --with-freetype-dir  --enable-bcmath --enable-xml --enable-mbstring --enable-shmop --enable-soap  --enable-sysvsem  --enable-calendar --enable-zip --enable-ftp --enable-maintainer-zts

出现:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决方法:

1、安装第三方yum源:wget http://www.atomicorp.com/installers/atomic
sh ./atomic

2、yum  install  php-mcrypt  libmcrypt  libmcrypt-devel

重新编译安装PHP

cp  /usr/local/src/php-5.4.35/php.ini-development  /etc/php.ini

vim  /etc/php.ini

找到如下内容,并修改
# ;default_charset = "UTF-8"      //取消掉注释符号";"将值设为"utf-8";
#  engine = On                    //将此选项的开关为 on ;
#  short_open_tag = on            //将此选项的开关为 on ,表示支持php标语;
# ;date.timezone = Asia/Shanghai  //取消掉注释符号";",将值设为"Asia/Shanghai"或"PRC";

make&&make install

5、lamp相关程序支持

编辑apache配置文件,让apache支持php解析

vim /etc/httpd/httpd.conf
首先查看是否有用支持php解析的模块
LoadModule php5_module        modules/libphp5.so
找到这行
AddType application/x-gzip .gz .tgz
添加这两行内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-sourece .phps
找到以下这句,在后面添加index.php 
DirectoryIndex index.html     //修改前
DirectoryIndex index.html index.php  //修改后

 

service httpd restart

 6、测试

编辑两个个测试页面
# vim /usr/local/httpd/htdocs/info.php  内容如下
<?php
 $conn=mysqli_connect('127.0.0.1','root','111111');
 if ($conn)
   echo "<h2>Success...</h2>";
 else
   echo "<h2>Failure...</h2>";
?>
<?php
phpinfo();
?>

 

 浏览器输入 http://ip/info.php   ,大功告成!

 

 7、顺便安装下redis、memcached扩展:

安装redis与其扩展:
下载:wget  https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar zxvf  2.2.4.tar.gz
cd phpredis-2.2.4
/usr/local/php/bin/phpize   #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config  #配置
make&&make install
安装完成之后,出现下面的安装路径
/usr/local/php/lib/php/extensions/no-debug-zts-20100525/
配置php支持
vim /etc/php.ini  #编辑配置文件,在最后一行添加以下内容
添加:
extension="redis.so"
wq!

 

安装memcached与其扩展

wget http://launchpadlibrarian.net/66527034/libmemcached-0.48.tar.gz

cd libmemcached-0.48
./configure --prefix=/usr/local/libmemcached  --with-memcached
make && make install

wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar zxvf memcached-2.2.0.tgz

cd memcached-2.2.0
/usr/local/php/bin/phpize
./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make&&make install
vim /etc/php.ini      添加:extension="memcached.so"
service httpd restart

 注:

php常见扩展相关的依赖包

openssl openssl-devel -用于编译php时添加    --with-openssl     选项;
libxml2  libxml2-*  -用于编译php时添加    --with-libxml-dir   选项;
libmcrypt*       -用于编译php时添加    --with-mcrypt     选项;
curl curl-devel    -用于编译php时添加    --with-curl      选项;
zlib  zlib-devel   -用于编译php时添加    --with-zlib[-dir]   选项;
bzip2*         -用于编译php时添加    --with-bz2       选项;
gd gd-devel      -用于编译php时添加    --with-gd       选项;
libjpeg libjpeg-devel -用于编译php时添加    --with-jpeg-dir    选项;
libpng libpng-devel  -用于编译php时添加    --with-png-dir     选项;
libpng libpng-devel  -用于编译php时添加    --with-zlib[-dir]   选项;
libXpm libXpm-devel  -用于编译php时添加    --with-xpm-dir     选项(可选);
freetype*        -用于编译php时添加    --with-freetype-dir   选项;
gettext gettext-devel -用于编译php时添加    --with-gettext     选项;
pcre  pcre-devel   -用于编译httpd时添加    --with-pcre      选项;
perl          -用于编译php时添加    --with-pear      选项;
mcrypt         -用于编译php时添加    --with-mhash      选项;